-
Notifications
You must be signed in to change notification settings - Fork 357
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Theme validation: Reintroduce missing variables #8173
Conversation
051fec5
to
718dfda
Compare
I tested running this on the Kiosko theme; it's running again, but I'm not sure if this is the expected output—seems like a lot of issues. themes git:(fix-theme-json-validation-workflow) node theme-utils.mjs validate-theme -- kiosko
Progress: [ '■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■', 100 ] 1/1
╔══════════════════════════════════════════════════╤═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╗
║ WARNING │ Actual : 5.8 ║
║ Theme : Kiosko │ Expected : 5.9 or greater ║
║ File : style.css │ Message : the 'Requires at least' version does not support theme.json ║
╟──────────────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ ERROR │ Message : missing Theme Name header metadata ║
║ Theme : Kiosko │ ║
║ File : style.css │ ║
╟──────────────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ WARNING │ Message : missing Theme URI header metadata ║
║ Theme : Kiosko │ ║
║ File : style.css │ ║
╟──────────────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ ERROR │ Message : missing Author header metadata ║
║ Theme : Kiosko │ ║
║ File : style.css │ ║
╟──────────────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ WARNING │ Message : missing Author URI header metadata ║
║ Theme : Kiosko │ ║
║ File : style.css │ ║
╟──────────────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ ERROR │ Message : missing Description header metadata ║
║ Theme : Kiosko │ ║
║ File : style.css │ ║
╟──────────────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ ERROR │ Message : missing Tested up to header metadata ║
║ Theme : Kiosko │ ║
║ File : style.css │ ║
╟──────────────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ ERROR │ Message : missing Requires PHP header metadata ║
║ Theme : Kiosko │ ║
║ File : style.css │ ║
╟──────────────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ ERROR │ Message : missing License header metadata ║
║ Theme : Kiosko │ ║
║ File : style.css │ ║
╟──────────────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ ERROR │ Message : missing License URI header metadata ║
║ Theme : Kiosko │ ║
║ File : style.css │ ║
╟──────────────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ ERROR │ Message : missing Text Domain header metadata ║
║ Theme : Kiosko │ ║
║ File : style.css │ ║
╟──────────────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ WARNING │ Instance path : /version ║
║ Theme : Kiosko │ Schema path : #/properties/version/const ║
║ File : theme.json │ Keyword : const ║
║ Schema : https://schemas.wp.org/trunk/theme.json │ Params : { allowedValue: 3 } ║
║ │ Message : must be equal to constant ║
║ ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ │ Instance path : /settings/layout ║
║ │ Schema path : #/definitions/settingsLayoutProperties/properties/layout/additionalProperties ║
║ │ Keyword : additionalProperties ║
║ │ Params : { additionalProperty: 'definitions' } ║
║ │ Message : must NOT have additional properties ║
║ ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ │ Instance path : /styles/elements/button/spacing/padding ║
║ │ Schema path : #/properties/spacing/properties/padding/type ║
║ │ Keyword : type ║
║ │ Params : { type: 'object' } ║
║ │ Message : must be object ║
║ ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ │ Instance path : /styles/blocks/core~1comment-author-name/typography/lineHeight ║
║ │ Schema path : #/properties/typography/properties/lineHeight/oneOf/0/type ║
║ │ Keyword : type ║
║ │ Params : { type: 'string' } ║
║ │ Message : must be string ║
║ ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ │ Instance path : /styles/blocks/core~1comment-author-name/typography/lineHeight ║
║ │ Schema path : #/definitions/refComplete/type ║
║ │ Keyword : type ║
║ │ Params : { type: 'object' } ║
║ │ Message : must be object ║
║ ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ │ Instance path : /styles/blocks/core~1comment-author-name/typography/lineHeight ║
║ │ Schema path : #/properties/typography/properties/lineHeight/oneOf ║
║ │ Keyword : oneOf ║
║ │ Params : { passingSchemas: null } ║
║ │ Message : must match exactly one schema in oneOf ║
║ ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ │ Instance path : /styles/blocks/core~1comment-date/typography/lineHeight ║
║ │ Schema path : #/properties/typography/properties/lineHeight/oneOf/0/type ║
║ │ Keyword : type ║
║ │ Params : { type: 'string' } ║
║ │ Message : must be string ║
║ ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ │ Instance path : /styles/blocks/core~1comment-date/typography/lineHeight ║
║ │ Schema path : #/definitions/refComplete/type ║
║ │ Keyword : type ║
║ │ Params : { type: 'object' } ║
║ │ Message : must be object ║
║ ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ │ Instance path : /styles/blocks/core~1comment-date/typography/lineHeight ║
║ │ Schema path : #/properties/typography/properties/lineHeight/oneOf ║
║ │ Keyword : oneOf ║
║ │ Params : { passingSchemas: null } ║
║ │ Message : must match exactly one schema in oneOf ║
║ ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ │ Instance path : /styles/blocks/core~1comment-edit-link/typography/lineHeight ║
║ │ Schema path : #/properties/typography/properties/lineHeight/oneOf/0/type ║
║ │ Keyword : type ║
║ │ Params : { type: 'string' } ║
║ │ Message : must be string ║
║ ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ │ Instance path : /styles/blocks/core~1comment-edit-link/typography/lineHeight ║
║ │ Schema path : #/definitions/refComplete/type ║
║ │ Keyword : type ║
║ │ Params : { type: 'object' } ║
║ │ Message : must be object ║
║ ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ │ Instance path : /styles/blocks/core~1comment-edit-link/typography/lineHeight ║
║ │ Schema path : #/properties/typography/properties/lineHeight/oneOf ║
║ │ Keyword : oneOf ║
║ │ Params : { passingSchemas: null } ║
║ │ Message : must match exactly one schema in oneOf ║
║ ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ │ Instance path : /styles/blocks/core~1comment-reply-link/elements/link/spacing/padding ║
║ │ Schema path : #/properties/spacing/properties/padding/type ║
║ │ Keyword : type ║
║ │ Params : { type: 'object' } ║
║ │ Message : must be object ║
║ ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ │ Instance path : /styles/blocks/core~1comments-pagination/typography/lineHeight ║
║ │ Schema path : #/properties/typography/properties/lineHeight/oneOf/0/type ║
║ │ Keyword : type ║
║ │ Params : { type: 'string' } ║
║ │ Message : must be string ║
║ ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ │ Instance path : /styles/blocks/core~1comments-pagination/typography/lineHeight ║
║ │ Schema path : #/definitions/refComplete/type ║
║ │ Keyword : type ║
║ │ Params : { type: 'object' } ║
║ │ Message : must be object ║
║ ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ │ Instance path : /styles/blocks/core~1comments-pagination/typography/lineHeight ║
║ │ Schema path : #/properties/typography/properties/lineHeight/oneOf ║
║ │ Keyword : oneOf ║
║ │ Params : { passingSchemas: null } ║
║ │ Message : must match exactly one schema in oneOf ║
║ ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ │ Instance path : /styles/blocks/core~1post-title/typography/lineHeight ║
║ │ Schema path : #/properties/typography/properties/lineHeight/oneOf/0/type ║
║ │ Keyword : type ║
║ │ Params : { type: 'string' } ║
║ │ Message : must be string ║
║ ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ │ Instance path : /styles/blocks/core~1post-title/typography/lineHeight ║
║ │ Schema path : #/definitions/refComplete/type ║
║ │ Keyword : type ║
║ │ Params : { type: 'object' } ║
║ │ Message : must be object ║
║ ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ │ Instance path : /styles/blocks/core~1post-title/typography/lineHeight ║
║ │ Schema path : #/properties/typography/properties/lineHeight/oneOf ║
║ │ Keyword : oneOf ║
║ │ Params : { passingSchemas: null } ║
║ │ Message : must match exactly one schema in oneOf ║
║ ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ │ Instance path : /styles/blocks/core~1comment-author-name/typography/lineHeight ║
║ │ Schema path : #/properties/typography/properties/lineHeight/oneOf/0/type ║
║ │ Keyword : type ║
║ │ Params : { type: 'string' } ║
║ │ Message : must be string ║
║ ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ │ Instance path : /styles/blocks/core~1comment-author-name/typography/lineHeight ║
║ │ Schema path : #/definitions/refComplete/type ║
║ │ Keyword : type ║
║ │ Params : { type: 'object' } ║
║ │ Message : must be object ║
║ ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ │ Instance path : /styles/blocks/core~1comment-author-name/typography/lineHeight ║
║ │ Schema path : #/properties/typography/properties/lineHeight/oneOf ║
║ │ Keyword : oneOf ║
║ │ Params : { passingSchemas: null } ║
║ │ Message : must match exactly one schema in oneOf ║
║ ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ │ Instance path : /styles/blocks/core~1comment-date/typography/lineHeight ║
║ │ Schema path : #/properties/typography/properties/lineHeight/oneOf/0/type ║
║ │ Keyword : type ║
║ │ Params : { type: 'string' } ║
║ │ Message : must be string ║
║ ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ │ Instance path : /styles/blocks/core~1comment-date/typography/lineHeight ║
║ │ Schema path : #/definitions/refComplete/type ║
║ │ Keyword : type ║
║ │ Params : { type: 'object' } ║
║ │ Message : must be object ║
║ ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ │ Instance path : /styles/blocks/core~1comment-date/typography/lineHeight ║
║ │ Schema path : #/properties/typography/properties/lineHeight/oneOf ║
║ │ Keyword : oneOf ║
║ │ Params : { passingSchemas: null } ║
║ │ Message : must match exactly one schema in oneOf ║
║ ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ │ Instance path : /styles/blocks/core~1comment-edit-link/typography/lineHeight ║
║ │ Schema path : #/properties/typography/properties/lineHeight/oneOf/0/type ║
║ │ Keyword : type ║
║ │ Params : { type: 'string' } ║
║ │ Message : must be string ║
║ ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ │ Instance path : /styles/blocks/core~1comment-edit-link/typography/lineHeight ║
║ │ Schema path : #/definitions/refComplete/type ║
║ │ Keyword : type ║
║ │ Params : { type: 'object' } ║
║ │ Message : must be object ║
║ ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ │ Instance path : /styles/blocks/core~1comment-edit-link/typography/lineHeight ║
║ │ Schema path : #/properties/typography/properties/lineHeight/oneOf ║
║ │ Keyword : oneOf ║
║ │ Params : { passingSchemas: null } ║
║ │ Message : must match exactly one schema in oneOf ║
║ ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ │ Instance path : /styles/blocks/core~1comment-reply-link/elements/link/spacing/padding ║
║ │ Schema path : #/properties/spacing/properties/padding/type ║
║ │ Keyword : type ║
║ │ Params : { type: 'object' } ║
║ │ Message : must be object ║
║ ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ │ Instance path : /styles/blocks/core~1comments-pagination/typography/lineHeight ║
║ │ Schema path : #/properties/typography/properties/lineHeight/oneOf/0/type ║
║ │ Keyword : type ║
║ │ Params : { type: 'string' } ║
║ │ Message : must be string ║
║ ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ │ Instance path : /styles/blocks/core~1comments-pagination/typography/lineHeight ║
║ │ Schema path : #/definitions/refComplete/type ║
║ │ Keyword : type ║
║ │ Params : { type: 'object' } ║
║ │ Message : must be object ║
║ ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ │ Instance path : /styles/blocks/core~1comments-pagination/typography/lineHeight ║
║ │ Schema path : #/properties/typography/properties/lineHeight/oneOf ║
║ │ Keyword : oneOf ║
║ │ Params : { passingSchemas: null } ║
║ │ Message : must match exactly one schema in oneOf ║
║ ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ │ Instance path : /styles/blocks/core~1post-title/typography/lineHeight ║
║ │ Schema path : #/properties/typography/properties/lineHeight/oneOf/0/type ║
║ │ Keyword : type ║
║ │ Params : { type: 'string' } ║
║ │ Message : must be string ║
║ ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ │ Instance path : /styles/blocks/core~1post-title/typography/lineHeight ║
║ │ Schema path : #/definitions/refComplete/type ║
║ │ Keyword : type ║
║ │ Params : { type: 'object' } ║
║ │ Message : must be object ║
║ ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ │ Instance path : /styles/blocks/core~1post-title/typography/lineHeight ║
║ │ Schema path : #/properties/typography/properties/lineHeight/oneOf ║
║ │ Keyword : oneOf ║
║ │ Params : { passingSchemas: null } ║
║ │ Message : must match exactly one schema in oneOf ║
║ ├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ │ Instance path : /styles/blocks/woocommerce~1product-button/spacing/padding ║
║ │ Schema path : #/properties/spacing/properties/padding/type ║
║ │ Keyword : type ║
║ │ Params : { type: 'object' } ║
║ │ Message : must be object ║
╚══════════════════════════════════════════════════╧═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╝
Validation failed. |
Looking at the theme files, it seems like it's detecting problems that are not actually there: e.g. the missing Tested up to header that it thinks it's missing from Kiosko's style.css file: ╟──────────────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ ERROR │ Message : missing Tested up to header metadata ║
║ Theme : Kiosko │ ║
║ File : style.css │ ║
╟──────────────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢ vs |
This is superseded by #8174, which solves the problems I was running into with this attempt. |
Description
Running the theme validation script is failing in trunk, because of missing variables. This PR reintroduces these variables.
trunk
:Related issue(s):
Fix for #8068 (comment)