@platformos/platformos-check-common 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/README.md +92 -0
- package/dist/AugmentedThemeDocset.d.ts +12 -0
- package/dist/AugmentedThemeDocset.js +126 -0
- package/dist/AugmentedThemeDocset.js.map +1 -0
- package/dist/JSONValidator.d.ts +20 -0
- package/dist/JSONValidator.js +76 -0
- package/dist/JSONValidator.js.map +1 -0
- package/dist/checks/app-block-missing-schema/index.d.ts +2 -0
- package/dist/checks/app-block-missing-schema/index.js +46 -0
- package/dist/checks/app-block-missing-schema/index.js.map +1 -0
- package/dist/checks/app-block-valid-tags/index.d.ts +10 -0
- package/dist/checks/app-block-valid-tags/index.js +49 -0
- package/dist/checks/app-block-valid-tags/index.js.map +1 -0
- package/dist/checks/asset-preload/index.d.ts +2 -0
- package/dist/checks/asset-preload/index.js +56 -0
- package/dist/checks/asset-preload/index.js.map +1 -0
- package/dist/checks/asset-size-app-block-css/index.d.ts +6 -0
- package/dist/checks/asset-size-app-block-css/index.js +64 -0
- package/dist/checks/asset-size-app-block-css/index.js.map +1 -0
- package/dist/checks/asset-size-app-block-javascript/index.d.ts +6 -0
- package/dist/checks/asset-size-app-block-javascript/index.js +64 -0
- package/dist/checks/asset-size-app-block-javascript/index.js.map +1 -0
- package/dist/checks/asset-size-css/index.d.ts +6 -0
- package/dist/checks/asset-size-css/index.js +125 -0
- package/dist/checks/asset-size-css/index.js.map +1 -0
- package/dist/checks/asset-size-javascript/index.d.ts +6 -0
- package/dist/checks/asset-size-javascript/index.js +110 -0
- package/dist/checks/asset-size-javascript/index.js.map +1 -0
- package/dist/checks/block-id-usage/index.d.ts +2 -0
- package/dist/checks/block-id-usage/index.js +60 -0
- package/dist/checks/block-id-usage/index.js.map +1 -0
- package/dist/checks/cdn-preconnect/index.d.ts +2 -0
- package/dist/checks/cdn-preconnect/index.js +44 -0
- package/dist/checks/cdn-preconnect/index.js.map +1 -0
- package/dist/checks/content-for-header-modification/index.d.ts +2 -0
- package/dist/checks/content-for-header-modification/index.js +66 -0
- package/dist/checks/content-for-header-modification/index.js.map +1 -0
- package/dist/checks/deprecate-bgsizes/index.d.ts +2 -0
- package/dist/checks/deprecate-bgsizes/index.js +46 -0
- package/dist/checks/deprecate-bgsizes/index.js.map +1 -0
- package/dist/checks/deprecate-lazysizes/index.d.ts +2 -0
- package/dist/checks/deprecate-lazysizes/index.js +52 -0
- package/dist/checks/deprecate-lazysizes/index.js.map +1 -0
- package/dist/checks/deprecated-filter/fixes.d.ts +8 -0
- package/dist/checks/deprecated-filter/fixes.js +205 -0
- package/dist/checks/deprecated-filter/fixes.js.map +1 -0
- package/dist/checks/deprecated-filter/index.d.ts +2 -0
- package/dist/checks/deprecated-filter/index.js +93 -0
- package/dist/checks/deprecated-filter/index.js.map +1 -0
- package/dist/checks/deprecated-fonts-on-sections-and-blocks/deprecated-fonts-data.d.ts +1 -0
- package/dist/checks/deprecated-fonts-on-sections-and-blocks/deprecated-fonts-data.js +1347 -0
- package/dist/checks/deprecated-fonts-on-sections-and-blocks/deprecated-fonts-data.js.map +1 -0
- package/dist/checks/deprecated-fonts-on-sections-and-blocks/index.d.ts +2 -0
- package/dist/checks/deprecated-fonts-on-sections-and-blocks/index.js +156 -0
- package/dist/checks/deprecated-fonts-on-sections-and-blocks/index.js.map +1 -0
- package/dist/checks/deprecated-fonts-on-settings-schema/index.d.ts +2 -0
- package/dist/checks/deprecated-fonts-on-settings-schema/index.js +56 -0
- package/dist/checks/deprecated-fonts-on-settings-schema/index.js.map +1 -0
- package/dist/checks/deprecated-tag/index.d.ts +2 -0
- package/dist/checks/deprecated-tag/index.js +48 -0
- package/dist/checks/deprecated-tag/index.js.map +1 -0
- package/dist/checks/duplicate-content-for-arguments/index.d.ts +2 -0
- package/dist/checks/duplicate-content-for-arguments/index.js +39 -0
- package/dist/checks/duplicate-content-for-arguments/index.js.map +1 -0
- package/dist/checks/duplicate-function-arguments/index.d.ts +2 -0
- package/dist/checks/duplicate-function-arguments/index.js +40 -0
- package/dist/checks/duplicate-function-arguments/index.js.map +1 -0
- package/dist/checks/duplicate-render-partial-arguments/index.d.ts +2 -0
- package/dist/checks/duplicate-render-partial-arguments/index.js +43 -0
- package/dist/checks/duplicate-render-partial-arguments/index.js.map +1 -0
- package/dist/checks/empty-block-content/index.d.ts +2 -0
- package/dist/checks/empty-block-content/index.js +60 -0
- package/dist/checks/empty-block-content/index.js.map +1 -0
- package/dist/checks/graphql/index.d.ts +2 -0
- package/dist/checks/graphql/index.js +58 -0
- package/dist/checks/graphql/index.js.map +1 -0
- package/dist/checks/graphql-variables/index.d.ts +8 -0
- package/dist/checks/graphql-variables/index.js +91 -0
- package/dist/checks/graphql-variables/index.js.map +1 -0
- package/dist/checks/hardcoded-routes/index.d.ts +2 -0
- package/dist/checks/hardcoded-routes/index.js +89 -0
- package/dist/checks/hardcoded-routes/index.js.map +1 -0
- package/dist/checks/img-width-and-height/index.d.ts +2 -0
- package/dist/checks/img-width-and-height/index.js +46 -0
- package/dist/checks/img-width-and-height/index.js.map +1 -0
- package/dist/checks/index.d.ts +8 -0
- package/dist/checks/index.js +154 -0
- package/dist/checks/index.js.map +1 -0
- package/dist/checks/invalid-hash-assign-target/index.d.ts +2 -0
- package/dist/checks/invalid-hash-assign-target/index.js +252 -0
- package/dist/checks/invalid-hash-assign-target/index.js.map +1 -0
- package/dist/checks/json-missing-block/index.d.ts +2 -0
- package/dist/checks/json-missing-block/index.js +48 -0
- package/dist/checks/json-missing-block/index.js.map +1 -0
- package/dist/checks/json-missing-block/missing-block-utils.d.ts +4 -0
- package/dist/checks/json-missing-block/missing-block-utils.js +87 -0
- package/dist/checks/json-missing-block/missing-block-utils.js.map +1 -0
- package/dist/checks/json-syntax-error/index.d.ts +2 -0
- package/dist/checks/json-syntax-error/index.js +92 -0
- package/dist/checks/json-syntax-error/index.js.map +1 -0
- package/dist/checks/liquid-free-settings/index.d.ts +2 -0
- package/dist/checks/liquid-free-settings/index.js +64 -0
- package/dist/checks/liquid-free-settings/index.js.map +1 -0
- package/dist/checks/liquid-html-syntax-error/checks/InvalidBooleanExpressions.d.ts +3 -0
- package/dist/checks/liquid-html-syntax-error/checks/InvalidBooleanExpressions.js +23 -0
- package/dist/checks/liquid-html-syntax-error/checks/InvalidBooleanExpressions.js.map +1 -0
- package/dist/checks/liquid-html-syntax-error/checks/InvalidConditionalNode.d.ts +3 -0
- package/dist/checks/liquid-html-syntax-error/checks/InvalidConditionalNode.js +136 -0
- package/dist/checks/liquid-html-syntax-error/checks/InvalidConditionalNode.js.map +1 -0
- package/dist/checks/liquid-html-syntax-error/checks/InvalidConditionalNodeParenthesis.d.ts +3 -0
- package/dist/checks/liquid-html-syntax-error/checks/InvalidConditionalNodeParenthesis.js +26 -0
- package/dist/checks/liquid-html-syntax-error/checks/InvalidConditionalNodeParenthesis.js.map +1 -0
- package/dist/checks/liquid-html-syntax-error/checks/InvalidEchoValue.d.ts +3 -0
- package/dist/checks/liquid-html-syntax-error/checks/InvalidEchoValue.js +59 -0
- package/dist/checks/liquid-html-syntax-error/checks/InvalidEchoValue.js.map +1 -0
- package/dist/checks/liquid-html-syntax-error/checks/InvalidFilterName.d.ts +3 -0
- package/dist/checks/liquid-html-syntax-error/checks/InvalidFilterName.js +66 -0
- package/dist/checks/liquid-html-syntax-error/checks/InvalidFilterName.js.map +1 -0
- package/dist/checks/liquid-html-syntax-error/checks/InvalidLoopArguments.d.ts +3 -0
- package/dist/checks/liquid-html-syntax-error/checks/InvalidLoopArguments.js +73 -0
- package/dist/checks/liquid-html-syntax-error/checks/InvalidLoopArguments.js.map +1 -0
- package/dist/checks/liquid-html-syntax-error/checks/InvalidLoopRange.d.ts +4 -0
- package/dist/checks/liquid-html-syntax-error/checks/InvalidLoopRange.js +54 -0
- package/dist/checks/liquid-html-syntax-error/checks/InvalidLoopRange.js.map +1 -0
- package/dist/checks/liquid-html-syntax-error/checks/InvalidPipeSyntax.d.ts +3 -0
- package/dist/checks/liquid-html-syntax-error/checks/InvalidPipeSyntax.js +71 -0
- package/dist/checks/liquid-html-syntax-error/checks/InvalidPipeSyntax.js.map +1 -0
- package/dist/checks/liquid-html-syntax-error/checks/MultipleAssignValues.d.ts +3 -0
- package/dist/checks/liquid-html-syntax-error/checks/MultipleAssignValues.js +69 -0
- package/dist/checks/liquid-html-syntax-error/checks/MultipleAssignValues.js.map +1 -0
- package/dist/checks/liquid-html-syntax-error/checks/utils.d.ts +15 -0
- package/dist/checks/liquid-html-syntax-error/checks/utils.js +58 -0
- package/dist/checks/liquid-html-syntax-error/checks/utils.js.map +1 -0
- package/dist/checks/liquid-html-syntax-error/index.d.ts +2 -0
- package/dist/checks/liquid-html-syntax-error/index.js +131 -0
- package/dist/checks/liquid-html-syntax-error/index.js.map +1 -0
- package/dist/checks/matching-translations/index.d.ts +2 -0
- package/dist/checks/matching-translations/index.js +146 -0
- package/dist/checks/matching-translations/index.js.map +1 -0
- package/dist/checks/metadata-params/index.d.ts +2 -0
- package/dist/checks/metadata-params/index.js +96 -0
- package/dist/checks/metadata-params/index.js.map +1 -0
- package/dist/checks/missing-asset/index.d.ts +2 -0
- package/dist/checks/missing-asset/index.js +44 -0
- package/dist/checks/missing-asset/index.js.map +1 -0
- package/dist/checks/missing-content-for-arguments/index.d.ts +2 -0
- package/dist/checks/missing-content-for-arguments/index.js +36 -0
- package/dist/checks/missing-content-for-arguments/index.js.map +1 -0
- package/dist/checks/missing-template/index.d.ts +6 -0
- package/dist/checks/missing-template/index.js +70 -0
- package/dist/checks/missing-template/index.js.map +1 -0
- package/dist/checks/orphaned-partial/index.d.ts +2 -0
- package/dist/checks/orphaned-partial/index.js +42 -0
- package/dist/checks/orphaned-partial/index.js.map +1 -0
- package/dist/checks/pagination-size/index.d.ts +7 -0
- package/dist/checks/pagination-size/index.js +89 -0
- package/dist/checks/pagination-size/index.js.map +1 -0
- package/dist/checks/parser-blocking-script/index.d.ts +2 -0
- package/dist/checks/parser-blocking-script/index.js +81 -0
- package/dist/checks/parser-blocking-script/index.js.map +1 -0
- package/dist/checks/parser-blocking-script/suggestions.d.ts +4 -0
- package/dist/checks/parser-blocking-script/suggestions.js +22 -0
- package/dist/checks/parser-blocking-script/suggestions.js.map +1 -0
- package/dist/checks/remote-asset/index.d.ts +6 -0
- package/dist/checks/remote-asset/index.js +189 -0
- package/dist/checks/remote-asset/index.js.map +1 -0
- package/dist/checks/reserved-doc-param-names/index.d.ts +2 -0
- package/dist/checks/reserved-doc-param-names/index.js +46 -0
- package/dist/checks/reserved-doc-param-names/index.js.map +1 -0
- package/dist/checks/schema-presets-block-order/index.d.ts +2 -0
- package/dist/checks/schema-presets-block-order/index.js +108 -0
- package/dist/checks/schema-presets-block-order/index.js.map +1 -0
- package/dist/checks/schema-presets-static-blocks/index.d.ts +2 -0
- package/dist/checks/schema-presets-static-blocks/index.js +109 -0
- package/dist/checks/schema-presets-static-blocks/index.js.map +1 -0
- package/dist/checks/static-stylesheet-and-javascript-tags/index.d.ts +2 -0
- package/dist/checks/static-stylesheet-and-javascript-tags/index.js +42 -0
- package/dist/checks/static-stylesheet-and-javascript-tags/index.js.map +1 -0
- package/dist/checks/translation-key-exists/index.d.ts +2 -0
- package/dist/checks/translation-key-exists/index.js +67 -0
- package/dist/checks/translation-key-exists/index.js.map +1 -0
- package/dist/checks/unclosed-html-element/index.d.ts +2 -0
- package/dist/checks/unclosed-html-element/index.js +252 -0
- package/dist/checks/unclosed-html-element/index.js.map +1 -0
- package/dist/checks/undefined-object/index.d.ts +2 -0
- package/dist/checks/undefined-object/index.js +255 -0
- package/dist/checks/undefined-object/index.js.map +1 -0
- package/dist/checks/unique-doc-param-names/index.d.ts +2 -0
- package/dist/checks/unique-doc-param-names/index.js +37 -0
- package/dist/checks/unique-doc-param-names/index.js.map +1 -0
- package/dist/checks/unique-settings-id/index.d.ts +2 -0
- package/dist/checks/unique-settings-id/index.js +69 -0
- package/dist/checks/unique-settings-id/index.js.map +1 -0
- package/dist/checks/unique-settings-id/test-data.d.ts +2 -0
- package/dist/checks/unique-settings-id/test-data.js +1194 -0
- package/dist/checks/unique-settings-id/test-data.js.map +1 -0
- package/dist/checks/unique-static-block-id/index.d.ts +2 -0
- package/dist/checks/unique-static-block-id/index.js +56 -0
- package/dist/checks/unique-static-block-id/index.js.map +1 -0
- package/dist/checks/unknown-filter/index.d.ts +2 -0
- package/dist/checks/unknown-filter/index.js +38 -0
- package/dist/checks/unknown-filter/index.js.map +1 -0
- package/dist/checks/unknown-property/index.d.ts +2 -0
- package/dist/checks/unknown-property/index.js +361 -0
- package/dist/checks/unknown-property/index.js.map +1 -0
- package/dist/checks/unknown-property/property-shape.d.ts +41 -0
- package/dist/checks/unknown-property/property-shape.js +267 -0
- package/dist/checks/unknown-property/property-shape.js.map +1 -0
- package/dist/checks/unrecognized-content-for-arguments/index.d.ts +2 -0
- package/dist/checks/unrecognized-content-for-arguments/index.js +43 -0
- package/dist/checks/unrecognized-content-for-arguments/index.js.map +1 -0
- package/dist/checks/unrecognized-render-partial-arguments/index.d.ts +2 -0
- package/dist/checks/unrecognized-render-partial-arguments/index.js +59 -0
- package/dist/checks/unrecognized-render-partial-arguments/index.js.map +1 -0
- package/dist/checks/unused-assign/index.d.ts +2 -0
- package/dist/checks/unused-assign/index.js +77 -0
- package/dist/checks/unused-assign/index.js.map +1 -0
- package/dist/checks/unused-doc-param/index.d.ts +2 -0
- package/dist/checks/unused-doc-param/index.js +55 -0
- package/dist/checks/unused-doc-param/index.js.map +1 -0
- package/dist/checks/utils.d.ts +22 -0
- package/dist/checks/utils.js +74 -0
- package/dist/checks/utils.js.map +1 -0
- package/dist/checks/valid-block-target/index.d.ts +2 -0
- package/dist/checks/valid-block-target/index.js +99 -0
- package/dist/checks/valid-block-target/index.js.map +1 -0
- package/dist/checks/valid-content-for-argument-types/index.d.ts +2 -0
- package/dist/checks/valid-content-for-argument-types/index.js +35 -0
- package/dist/checks/valid-content-for-argument-types/index.js.map +1 -0
- package/dist/checks/valid-content-for-arguments/index.d.ts +2 -0
- package/dist/checks/valid-content-for-arguments/index.js +82 -0
- package/dist/checks/valid-content-for-arguments/index.js.map +1 -0
- package/dist/checks/valid-doc-param-types/index.d.ts +2 -0
- package/dist/checks/valid-doc-param-types/index.js +61 -0
- package/dist/checks/valid-doc-param-types/index.js.map +1 -0
- package/dist/checks/valid-html-translation/index.d.ts +2 -0
- package/dist/checks/valid-html-translation/index.js +46 -0
- package/dist/checks/valid-html-translation/index.js.map +1 -0
- package/dist/checks/valid-json/index.d.ts +2 -0
- package/dist/checks/valid-json/index.js +36 -0
- package/dist/checks/valid-json/index.js.map +1 -0
- package/dist/checks/valid-local-blocks/index.d.ts +2 -0
- package/dist/checks/valid-local-blocks/index.js +66 -0
- package/dist/checks/valid-local-blocks/index.js.map +1 -0
- package/dist/checks/valid-local-blocks/valid-block-utils.d.ts +13 -0
- package/dist/checks/valid-local-blocks/valid-block-utils.js +74 -0
- package/dist/checks/valid-local-blocks/valid-block-utils.js.map +1 -0
- package/dist/checks/valid-render-partial-argument-types/index.d.ts +2 -0
- package/dist/checks/valid-render-partial-argument-types/index.js +66 -0
- package/dist/checks/valid-render-partial-argument-types/index.js.map +1 -0
- package/dist/checks/valid-schema/index.d.ts +2 -0
- package/dist/checks/valid-schema/index.js +40 -0
- package/dist/checks/valid-schema/index.js.map +1 -0
- package/dist/checks/valid-schema-name/index.d.ts +2 -0
- package/dist/checks/valid-schema-name/index.js +74 -0
- package/dist/checks/valid-schema-name/index.js.map +1 -0
- package/dist/checks/valid-settings-key/index.d.ts +2 -0
- package/dist/checks/valid-settings-key/index.js +90 -0
- package/dist/checks/valid-settings-key/index.js.map +1 -0
- package/dist/checks/valid-static-block-type/index.d.ts +2 -0
- package/dist/checks/valid-static-block-type/index.js +54 -0
- package/dist/checks/valid-static-block-type/index.js.map +1 -0
- package/dist/checks/valid-visible-if/index.d.ts +3 -0
- package/dist/checks/valid-visible-if/index.js +146 -0
- package/dist/checks/valid-visible-if/index.js.map +1 -0
- package/dist/checks/valid-visible-if/visible-if-utils.d.ts +14 -0
- package/dist/checks/valid-visible-if/visible-if-utils.js +125 -0
- package/dist/checks/valid-visible-if/visible-if-utils.js.map +1 -0
- package/dist/checks/variable-name/index.d.ts +6 -0
- package/dist/checks/variable-name/index.js +93 -0
- package/dist/checks/variable-name/index.js.map +1 -0
- package/dist/context-utils.d.ts +15 -0
- package/dist/context-utils.js +185 -0
- package/dist/context-utils.js.map +1 -0
- package/dist/create-safe-check.d.ts +2 -0
- package/dist/create-safe-check.js +15 -0
- package/dist/create-safe-check.js.map +1 -0
- package/dist/disabled-checks/index.d.ts +7 -0
- package/dist/disabled-checks/index.js +145 -0
- package/dist/disabled-checks/index.js.map +1 -0
- package/dist/disabled-checks/test-checks.d.ts +3 -0
- package/dist/disabled-checks/test-checks.js +59 -0
- package/dist/disabled-checks/test-checks.js.map +1 -0
- package/dist/doc-generator/DocBlockGenerator.d.ts +16 -0
- package/dist/doc-generator/DocBlockGenerator.js +464 -0
- package/dist/doc-generator/DocBlockGenerator.js.map +1 -0
- package/dist/doc-generator/index.d.ts +1 -0
- package/dist/doc-generator/index.js +6 -0
- package/dist/doc-generator/index.js.map +1 -0
- package/dist/find-root.d.ts +18 -0
- package/dist/find-root.js +81 -0
- package/dist/find-root.js.map +1 -0
- package/dist/fixes/apply-fix-to-string.d.ts +2 -0
- package/dist/fixes/apply-fix-to-string.js +50 -0
- package/dist/fixes/apply-fix-to-string.js.map +1 -0
- package/dist/fixes/autofix.d.ts +9 -0
- package/dist/fixes/autofix.js +30 -0
- package/dist/fixes/autofix.js.map +1 -0
- package/dist/fixes/corrector.d.ts +0 -0
- package/dist/fixes/corrector.js +2 -0
- package/dist/fixes/corrector.js.map +1 -0
- package/dist/fixes/correctors/base-corrector.d.ts +4 -0
- package/dist/fixes/correctors/base-corrector.js +3 -0
- package/dist/fixes/correctors/base-corrector.js.map +1 -0
- package/dist/fixes/correctors/graphql-corrector.d.ts +56 -0
- package/dist/fixes/correctors/graphql-corrector.js +78 -0
- package/dist/fixes/correctors/graphql-corrector.js.map +1 -0
- package/dist/fixes/correctors/index.d.ts +6 -0
- package/dist/fixes/correctors/index.js +30 -0
- package/dist/fixes/correctors/index.js.map +1 -0
- package/dist/fixes/correctors/json-corrector.d.ts +39 -0
- package/dist/fixes/correctors/json-corrector.js +86 -0
- package/dist/fixes/correctors/json-corrector.js.map +1 -0
- package/dist/fixes/correctors/string-corrector.d.ts +56 -0
- package/dist/fixes/correctors/string-corrector.js +78 -0
- package/dist/fixes/correctors/string-corrector.js.map +1 -0
- package/dist/fixes/index.d.ts +4 -0
- package/dist/fixes/index.js +14 -0
- package/dist/fixes/index.js.map +1 -0
- package/dist/fixes/utils.d.ts +2 -0
- package/dist/fixes/utils.js +9 -0
- package/dist/fixes/utils.js.map +1 -0
- package/dist/ignore.d.ts +2 -0
- package/dist/ignore.js +20 -0
- package/dist/ignore.js.map +1 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.js +211 -0
- package/dist/index.js.map +1 -0
- package/dist/json.d.ts +17 -0
- package/dist/json.js +79 -0
- package/dist/json.js.map +1 -0
- package/dist/jsonc/parse.d.ts +25 -0
- package/dist/jsonc/parse.js +101 -0
- package/dist/jsonc/parse.js.map +1 -0
- package/dist/jsonc/types.d.ts +37 -0
- package/dist/jsonc/types.js +3 -0
- package/dist/jsonc/types.js.map +1 -0
- package/dist/liquid-doc/arguments.d.ts +36 -0
- package/dist/liquid-doc/arguments.js +239 -0
- package/dist/liquid-doc/arguments.js.map +1 -0
- package/dist/liquid-doc/liquidDoc.d.ts +33 -0
- package/dist/liquid-doc/liquidDoc.js +94 -0
- package/dist/liquid-doc/liquidDoc.js.map +1 -0
- package/dist/liquid-doc/utils.d.ts +49 -0
- package/dist/liquid-doc/utils.js +119 -0
- package/dist/liquid-doc/utils.js.map +1 -0
- package/dist/path.d.ts +10 -0
- package/dist/path.js +47 -0
- package/dist/path.js.map +1 -0
- package/dist/tags/content-for.d.ts +3 -0
- package/dist/tags/content-for.js +27 -0
- package/dist/tags/content-for.js.map +1 -0
- package/dist/test/MockFileSystem.d.ts +12 -0
- package/dist/test/MockFileSystem.js +109 -0
- package/dist/test/MockFileSystem.js.map +1 -0
- package/dist/test/MockTheme.d.ts +16 -0
- package/dist/test/MockTheme.js +16 -0
- package/dist/test/MockTheme.js.map +1 -0
- package/dist/test/chai-offer-fix-assertion.d.ts +22 -0
- package/dist/test/chai-offer-fix-assertion.js +20 -0
- package/dist/test/chai-offer-fix-assertion.js.map +1 -0
- package/dist/test/chai-suggest-assertion.d.ts +22 -0
- package/dist/test/chai-suggest-assertion.js +29 -0
- package/dist/test/chai-suggest-assertion.js.map +1 -0
- package/dist/test/contain-offense.d.ts +12 -0
- package/dist/test/contain-offense.js +36 -0
- package/dist/test/contain-offense.js.map +1 -0
- package/dist/test/index.d.ts +3 -0
- package/dist/test/index.js +20 -0
- package/dist/test/index.js.map +1 -0
- package/dist/test/test-helper.d.ts +14 -0
- package/dist/test/test-helper.js +289 -0
- package/dist/test/test-helper.js.map +1 -0
- package/dist/test/test-setup.d.ts +9 -0
- package/dist/test/test-setup.js +26 -0
- package/dist/test/test-setup.js.map +1 -0
- package/dist/to-schema.d.ts +16 -0
- package/dist/to-schema.js +218 -0
- package/dist/to-schema.js.map +1 -0
- package/dist/to-source-code.d.ts +5 -0
- package/dist/to-source-code.js +103 -0
- package/dist/to-source-code.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types/schema-prop-factory.d.ts +76 -0
- package/dist/types/schema-prop-factory.js +84 -0
- package/dist/types/schema-prop-factory.js.map +1 -0
- package/dist/types/schemas/index.d.ts +5 -0
- package/dist/types/schemas/index.js +6 -0
- package/dist/types/schemas/index.js.map +1 -0
- package/dist/types/schemas/preset.d.ts +38 -0
- package/dist/types/schemas/preset.js +3 -0
- package/dist/types/schemas/preset.js.map +1 -0
- package/dist/types/schemas/section.d.ts +49 -0
- package/dist/types/schemas/section.js +3 -0
- package/dist/types/schemas/section.js.map +1 -0
- package/dist/types/schemas/setting.d.ts +216 -0
- package/dist/types/schemas/setting.js +3 -0
- package/dist/types/schemas/setting.js.map +1 -0
- package/dist/types/schemas/template.d.ts +30 -0
- package/dist/types/schemas/template.js +3 -0
- package/dist/types/schemas/template.js.map +1 -0
- package/dist/types/schemas/theme-block.d.ts +24 -0
- package/dist/types/schemas/theme-block.js +3 -0
- package/dist/types/schemas/theme-block.js.map +1 -0
- package/dist/types/theme-liquid-docs.d.ts +131 -0
- package/dist/types/theme-liquid-docs.js +3 -0
- package/dist/types/theme-liquid-docs.js.map +1 -0
- package/dist/types/theme-schemas.d.ts +70 -0
- package/dist/types/theme-schemas.js +25 -0
- package/dist/types/theme-schemas.js.map +1 -0
- package/dist/types.d.ts +469 -0
- package/dist/types.js +55 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/array.d.ts +5 -0
- package/dist/utils/array.js +28 -0
- package/dist/utils/array.js.map +1 -0
- package/dist/utils/block.d.ts +22 -0
- package/dist/utils/block.js +179 -0
- package/dist/utils/block.js.map +1 -0
- package/dist/utils/error.d.ts +2 -0
- package/dist/utils/error.js +44 -0
- package/dist/utils/error.js.map +1 -0
- package/dist/utils/file-utils.d.ts +6 -0
- package/dist/utils/file-utils.js +46 -0
- package/dist/utils/file-utils.js.map +1 -0
- package/dist/utils/index.d.ts +8 -0
- package/dist/utils/index.js +25 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/indexBy.d.ts +5 -0
- package/dist/utils/indexBy.js +15 -0
- package/dist/utils/indexBy.js.map +1 -0
- package/dist/utils/markup.d.ts +2 -0
- package/dist/utils/markup.js +10 -0
- package/dist/utils/markup.js.map +1 -0
- package/dist/utils/memo.d.ts +34 -0
- package/dist/utils/memo.js +61 -0
- package/dist/utils/memo.js.map +1 -0
- package/dist/utils/object.d.ts +1 -0
- package/dist/utils/object.js +7 -0
- package/dist/utils/object.js.map +1 -0
- package/dist/utils/position.d.ts +3 -0
- package/dist/utils/position.js +20 -0
- package/dist/utils/position.js.map +1 -0
- package/dist/utils/types.d.ts +52 -0
- package/dist/utils/types.js +23 -0
- package/dist/utils/types.js.map +1 -0
- package/dist/visitor.d.ts +24 -0
- package/dist/visitor.js +119 -0
- package/dist/visitor.js.map +1 -0
- package/dist/visitors/index.d.ts +2 -0
- package/dist/visitors/index.js +8 -0
- package/dist/visitors/index.js.map +1 -0
- package/dist/visitors/json.d.ts +2 -0
- package/dist/visitors/json.js +39 -0
- package/dist/visitors/json.js.map +1 -0
- package/dist/visitors/liquid.d.ts +2 -0
- package/dist/visitors/liquid.js +39 -0
- package/dist/visitors/liquid.js.map +1 -0
- package/package.json +45 -0
- package/src/AugmentedThemeDocset.spec.ts +148 -0
- package/src/AugmentedThemeDocset.ts +148 -0
- package/src/JSONValidator.ts +82 -0
- package/src/checks/app-block-missing-schema/index.spec.ts +121 -0
- package/src/checks/app-block-missing-schema/index.ts +46 -0
- package/src/checks/app-block-valid-tags/index.spec.ts +96 -0
- package/src/checks/app-block-valid-tags/index.ts +54 -0
- package/src/checks/asset-preload/index.spec.ts +78 -0
- package/src/checks/asset-preload/index.ts +65 -0
- package/src/checks/asset-size-app-block-css/index.spec.ts +88 -0
- package/src/checks/asset-size-app-block-css/index.ts +78 -0
- package/src/checks/asset-size-app-block-javascript/index.spec.ts +66 -0
- package/src/checks/asset-size-app-block-javascript/index.ts +78 -0
- package/src/checks/asset-size-css/index.spec.ts +166 -0
- package/src/checks/asset-size-css/index.ts +160 -0
- package/src/checks/asset-size-javascript/index.spec.ts +184 -0
- package/src/checks/asset-size-javascript/index.ts +144 -0
- package/src/checks/block-id-usage/index.spec.ts +76 -0
- package/src/checks/block-id-usage/index.ts +72 -0
- package/src/checks/cdn-preconnect/index.spec.ts +40 -0
- package/src/checks/cdn-preconnect/index.ts +43 -0
- package/src/checks/content-for-header-modification/index.spec.ts +65 -0
- package/src/checks/content-for-header-modification/index.ts +72 -0
- package/src/checks/deprecate-bgsizes/index.spec.ts +41 -0
- package/src/checks/deprecate-bgsizes/index.ts +49 -0
- package/src/checks/deprecate-lazysizes/index.spec.ts +26 -0
- package/src/checks/deprecate-lazysizes/index.ts +58 -0
- package/src/checks/deprecated-filter/fixes.ts +264 -0
- package/src/checks/deprecated-filter/index.spec.ts +274 -0
- package/src/checks/deprecated-filter/index.ts +113 -0
- package/src/checks/deprecated-fonts-on-sections-and-blocks/deprecated-fonts-data.ts +1343 -0
- package/src/checks/deprecated-fonts-on-sections-and-blocks/index.spec.ts +613 -0
- package/src/checks/deprecated-fonts-on-sections-and-blocks/index.ts +284 -0
- package/src/checks/deprecated-fonts-on-settings-schema/index.spec.ts +102 -0
- package/src/checks/deprecated-fonts-on-settings-schema/index.ts +66 -0
- package/src/checks/deprecated-tag/index.spec.ts +68 -0
- package/src/checks/deprecated-tag/index.ts +46 -0
- package/src/checks/duplicate-content-for-arguments/index.spec.ts +98 -0
- package/src/checks/duplicate-content-for-arguments/index.ts +43 -0
- package/src/checks/duplicate-function-arguments/index.spec.ts +98 -0
- package/src/checks/duplicate-function-arguments/index.ts +44 -0
- package/src/checks/duplicate-render-partial-arguments/index.spec.ts +120 -0
- package/src/checks/duplicate-render-partial-arguments/index.ts +48 -0
- package/src/checks/empty-block-content/index.spec.ts +117 -0
- package/src/checks/empty-block-content/index.ts +60 -0
- package/src/checks/graphql/index.ts +64 -0
- package/src/checks/graphql-variables/index.ts +113 -0
- package/src/checks/hardcoded-routes/index.spec.ts +58 -0
- package/src/checks/hardcoded-routes/index.ts +100 -0
- package/src/checks/img-width-and-height/index.spec.ts +79 -0
- package/src/checks/img-width-and-height/index.ts +52 -0
- package/src/checks/index.ts +160 -0
- package/src/checks/invalid-hash-assign-target/index.spec.ts +176 -0
- package/src/checks/invalid-hash-assign-target/index.ts +306 -0
- package/src/checks/json-missing-block/index.spec.ts +435 -0
- package/src/checks/json-missing-block/index.ts +56 -0
- package/src/checks/json-missing-block/missing-block-utils.ts +147 -0
- package/src/checks/json-syntax-error/index.spec.ts +64 -0
- package/src/checks/json-syntax-error/index.ts +92 -0
- package/src/checks/liquid-free-settings/index.spec.ts +180 -0
- package/src/checks/liquid-free-settings/index.ts +79 -0
- package/src/checks/liquid-html-syntax-error/checks/InvalidBooleanExpression.spec.ts +43 -0
- package/src/checks/liquid-html-syntax-error/checks/InvalidBooleanExpressions.ts +29 -0
- package/src/checks/liquid-html-syntax-error/checks/InvalidConditionalNode.spec.ts +385 -0
- package/src/checks/liquid-html-syntax-error/checks/InvalidConditionalNode.ts +165 -0
- package/src/checks/liquid-html-syntax-error/checks/InvalidConditionalNodeParenthesis.spec.ts +52 -0
- package/src/checks/liquid-html-syntax-error/checks/InvalidConditionalNodeParenthesis.ts +39 -0
- package/src/checks/liquid-html-syntax-error/checks/InvalidEchoValue.spec.ts +108 -0
- package/src/checks/liquid-html-syntax-error/checks/InvalidEchoValue.ts +74 -0
- package/src/checks/liquid-html-syntax-error/checks/InvalidFilterName.spec.ts +223 -0
- package/src/checks/liquid-html-syntax-error/checks/InvalidFilterName.ts +92 -0
- package/src/checks/liquid-html-syntax-error/checks/InvalidLoopArguments.spec.ts +145 -0
- package/src/checks/liquid-html-syntax-error/checks/InvalidLoopArguments.ts +116 -0
- package/src/checks/liquid-html-syntax-error/checks/InvalidLoopRange.spec.ts +84 -0
- package/src/checks/liquid-html-syntax-error/checks/InvalidLoopRange.ts +79 -0
- package/src/checks/liquid-html-syntax-error/checks/InvalidPipeSyntax.spec.ts +184 -0
- package/src/checks/liquid-html-syntax-error/checks/InvalidPipeSyntax.ts +91 -0
- package/src/checks/liquid-html-syntax-error/checks/MultipleAssignValues.spec.ts +82 -0
- package/src/checks/liquid-html-syntax-error/checks/MultipleAssignValues.ts +86 -0
- package/src/checks/liquid-html-syntax-error/checks/utils.spec.ts +82 -0
- package/src/checks/liquid-html-syntax-error/checks/utils.ts +66 -0
- package/src/checks/liquid-html-syntax-error/index.spec.ts +129 -0
- package/src/checks/liquid-html-syntax-error/index.ts +152 -0
- package/src/checks/matching-translations/index.spec.ts +400 -0
- package/src/checks/matching-translations/index.ts +175 -0
- package/src/checks/metadata-params/index.spec.ts +103 -0
- package/src/checks/metadata-params/index.ts +119 -0
- package/src/checks/missing-asset/index.spec.ts +59 -0
- package/src/checks/missing-asset/index.ts +48 -0
- package/src/checks/missing-content-for-arguments/index.spec.ts +144 -0
- package/src/checks/missing-content-for-arguments/index.ts +46 -0
- package/src/checks/missing-template/index.spec.ts +61 -0
- package/src/checks/missing-template/index.ts +101 -0
- package/src/checks/orphaned-partial/index.spec.ts +58 -0
- package/src/checks/orphaned-partial/index.ts +43 -0
- package/src/checks/pagination-size/index.spec.ts +158 -0
- package/src/checks/pagination-size/index.ts +104 -0
- package/src/checks/parser-blocking-script/index.spec.ts +225 -0
- package/src/checks/parser-blocking-script/index.ts +91 -0
- package/src/checks/parser-blocking-script/suggestions.ts +42 -0
- package/src/checks/remote-asset/index.spec.ts +280 -0
- package/src/checks/remote-asset/index.ts +238 -0
- package/src/checks/reserved-doc-param-names/index.spec.ts +62 -0
- package/src/checks/reserved-doc-param-names/index.ts +57 -0
- package/src/checks/schema-presets-block-order/index.spec.ts +344 -0
- package/src/checks/schema-presets-block-order/index.ts +154 -0
- package/src/checks/schema-presets-static-blocks/index.spec.ts +145 -0
- package/src/checks/schema-presets-static-blocks/index.ts +126 -0
- package/src/checks/static-stylesheet-and-javascript-tags/index.spec.ts +257 -0
- package/src/checks/static-stylesheet-and-javascript-tags/index.ts +48 -0
- package/src/checks/translation-key-exists/index.spec.ts +44 -0
- package/src/checks/translation-key-exists/index.ts +78 -0
- package/src/checks/unclosed-html-element/index.spec.ts +260 -0
- package/src/checks/unclosed-html-element/index.ts +296 -0
- package/src/checks/undefined-object/index.spec.ts +519 -0
- package/src/checks/undefined-object/index.ts +336 -0
- package/src/checks/unique-doc-param-names/index.spec.ts +35 -0
- package/src/checks/unique-doc-param-names/index.ts +39 -0
- package/src/checks/unique-settings-id/index.spec.ts +24 -0
- package/src/checks/unique-settings-id/index.ts +84 -0
- package/src/checks/unique-settings-id/test-data.ts +1191 -0
- package/src/checks/unique-static-block-id/index.spec.ts +55 -0
- package/src/checks/unique-static-block-id/index.ts +60 -0
- package/src/checks/unknown-filter/index.spec.ts +59 -0
- package/src/checks/unknown-filter/index.ts +38 -0
- package/src/checks/unknown-property/index.spec.ts +234 -0
- package/src/checks/unknown-property/index.ts +468 -0
- package/src/checks/unknown-property/property-shape.ts +315 -0
- package/src/checks/unrecognized-content-for-arguments/index.spec.ts +145 -0
- package/src/checks/unrecognized-content-for-arguments/index.ts +55 -0
- package/src/checks/unrecognized-render-partial-arguments/index.spec.ts +184 -0
- package/src/checks/unrecognized-render-partial-arguments/index.ts +76 -0
- package/src/checks/unused-assign/index.spec.ts +160 -0
- package/src/checks/unused-assign/index.ts +87 -0
- package/src/checks/unused-doc-param/index.spec.ts +89 -0
- package/src/checks/unused-doc-param/index.ts +59 -0
- package/src/checks/utils.ts +117 -0
- package/src/checks/valid-block-target/index.spec.ts +1396 -0
- package/src/checks/valid-block-target/index.ts +142 -0
- package/src/checks/valid-content-for-argument-types/index.spec.ts +382 -0
- package/src/checks/valid-content-for-argument-types/index.ts +42 -0
- package/src/checks/valid-content-for-arguments/index.spec.ts +107 -0
- package/src/checks/valid-content-for-arguments/index.ts +98 -0
- package/src/checks/valid-doc-param-types/index.spec.ts +75 -0
- package/src/checks/valid-doc-param-types/index.ts +71 -0
- package/src/checks/valid-html-translation/index.spec.ts +74 -0
- package/src/checks/valid-html-translation/index.ts +45 -0
- package/src/checks/valid-json/index.spec.ts +102 -0
- package/src/checks/valid-json/index.ts +34 -0
- package/src/checks/valid-local-blocks/index.spec.ts +286 -0
- package/src/checks/valid-local-blocks/index.ts +100 -0
- package/src/checks/valid-local-blocks/valid-block-utils.ts +97 -0
- package/src/checks/valid-render-partial-argument-types/index.spec.ts +468 -0
- package/src/checks/valid-render-partial-argument-types/index.ts +89 -0
- package/src/checks/valid-schema/index.spec.ts +174 -0
- package/src/checks/valid-schema/index.ts +41 -0
- package/src/checks/valid-schema-name/index.spec.ts +112 -0
- package/src/checks/valid-schema-name/index.ts +75 -0
- package/src/checks/valid-settings-key/index.spec.ts +321 -0
- package/src/checks/valid-settings-key/index.ts +144 -0
- package/src/checks/valid-static-block-type/index.spec.ts +38 -0
- package/src/checks/valid-static-block-type/index.ts +58 -0
- package/src/checks/valid-visible-if/index.spec.ts +619 -0
- package/src/checks/valid-visible-if/index.ts +184 -0
- package/src/checks/valid-visible-if/visible-if-utils.ts +158 -0
- package/src/checks/variable-name/index.spec.ts +62 -0
- package/src/checks/variable-name/index.ts +115 -0
- package/src/context-utils.spec.ts +103 -0
- package/src/context-utils.ts +220 -0
- package/src/create-safe-check.ts +13 -0
- package/src/disabled-checks/index.spec.ts +262 -0
- package/src/disabled-checks/index.ts +189 -0
- package/src/disabled-checks/test-checks.ts +60 -0
- package/src/find-root.ts +60 -0
- package/src/fixes/apply-fix-to-string.spec.ts +52 -0
- package/src/fixes/apply-fix-to-string.ts +59 -0
- package/src/fixes/autofix.spec.ts +85 -0
- package/src/fixes/autofix.ts +41 -0
- package/src/fixes/corrector.ts +0 -0
- package/src/fixes/correctors/base-corrector.ts +5 -0
- package/src/fixes/correctors/graphql-corrector.ts +78 -0
- package/src/fixes/correctors/index.ts +29 -0
- package/src/fixes/correctors/json-corrector.spec.ts +111 -0
- package/src/fixes/correctors/json-corrector.ts +106 -0
- package/src/fixes/correctors/string-corrector.ts +78 -0
- package/src/fixes/index.ts +4 -0
- package/src/fixes/utils.ts +6 -0
- package/src/ignore.spec.ts +202 -0
- package/src/ignore.ts +23 -0
- package/src/index.spec.ts +8 -0
- package/src/index.ts +234 -0
- package/src/json.spec.ts +140 -0
- package/src/json.ts +81 -0
- package/src/jsonc/parse.spec.ts +118 -0
- package/src/jsonc/parse.ts +121 -0
- package/src/jsonc/types.ts +47 -0
- package/src/liquid-doc/arguments.spec.ts +146 -0
- package/src/liquid-doc/arguments.ts +315 -0
- package/src/liquid-doc/liquidDoc.spec.ts +296 -0
- package/src/liquid-doc/liquidDoc.ts +147 -0
- package/src/liquid-doc/utils.spec.ts +23 -0
- package/src/liquid-doc/utils.ts +125 -0
- package/src/path.ts +45 -0
- package/src/tags/content-for.ts +25 -0
- package/src/test/MockFileSystem.spec.ts +71 -0
- package/src/test/MockFileSystem.ts +87 -0
- package/src/test/MockTheme.ts +17 -0
- package/src/test/chai-offer-fix-assertion.spec.ts +53 -0
- package/src/test/chai-offer-fix-assertion.ts +45 -0
- package/src/test/chai-suggest-assertion.spec.ts +53 -0
- package/src/test/chai-suggest-assertion.ts +62 -0
- package/src/test/contain-offense.spec.ts +74 -0
- package/src/test/contain-offense.ts +54 -0
- package/src/test/index.ts +3 -0
- package/src/test/test-helper.ts +327 -0
- package/src/test/test-setup.ts +36 -0
- package/src/to-schema.ts +231 -0
- package/src/to-source-code.ts +75 -0
- package/src/types/schema-prop-factory.ts +112 -0
- package/src/types/schemas/index.ts +5 -0
- package/src/types/schemas/preset.ts +52 -0
- package/src/types/schemas/section.ts +86 -0
- package/src/types/schemas/setting.ts +320 -0
- package/src/types/schemas/template.ts +34 -0
- package/src/types/schemas/theme-block.ts +34 -0
- package/src/types/theme-liquid-docs.ts +184 -0
- package/src/types/theme-schemas.ts +80 -0
- package/src/types.ts +617 -0
- package/src/utils/array.ts +31 -0
- package/src/utils/block.ts +300 -0
- package/src/utils/error.spec.ts +71 -0
- package/src/utils/error.ts +48 -0
- package/src/utils/file-utils.ts +58 -0
- package/src/utils/index.ts +8 -0
- package/src/utils/indexBy.ts +14 -0
- package/src/utils/markup.ts +10 -0
- package/src/utils/memo.spec.ts +83 -0
- package/src/utils/memo.ts +80 -0
- package/src/utils/object.ts +3 -0
- package/src/utils/position.ts +16 -0
- package/src/utils/types.ts +57 -0
- package/src/visitor.spec.ts +163 -0
- package/src/visitor.ts +161 -0
- package/src/visitors/index.ts +2 -0
- package/src/visitors/json.ts +41 -0
- package/src/visitors/liquid.ts +40 -0
- package/tsconfig.build.json +8 -0
- package/tsconfig.json +31 -0
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,469 @@
|
|
|
1
|
+
import { LiquidHtmlNode, NodeTypes as LiquidHtmlNodeTypes } from '@platformos/liquid-html-parser';
|
|
2
|
+
import { Schema, Settings } from './types/schema-prop-factory';
|
|
3
|
+
import { AbstractFileSystem, UriString } from '@platformos/platformos-common';
|
|
4
|
+
import { JSONCorrector, StringCorrector } from './fixes';
|
|
5
|
+
import { ArrayNode, ASTNode, JSONNode, JSONNodeTypes, LiteralNode, ObjectNode, PropertyNode, ValueNode } from './jsonc/types';
|
|
6
|
+
import { JsonValidationSet, ThemeDocset } from './types/theme-liquid-docs';
|
|
7
|
+
import { AppBlockSchema, SectionSchema, ThemeBlockSchema } from './types/theme-schemas';
|
|
8
|
+
import { DocDefinition } from './liquid-doc/liquidDoc';
|
|
9
|
+
import { GraphQLCorrector } from './fixes/correctors/graphql-corrector';
|
|
10
|
+
export * from './jsonc/types';
|
|
11
|
+
export * from './types/schema-prop-factory';
|
|
12
|
+
export * from './types/theme-liquid-docs';
|
|
13
|
+
export * from './types/theme-schemas';
|
|
14
|
+
export declare const isObjectNode: (node?: ASTNode) => node is ObjectNode;
|
|
15
|
+
export declare const isArrayNode: (node?: ASTNode) => node is ArrayNode;
|
|
16
|
+
export declare const isPropertyNode: (node?: ASTNode) => node is PropertyNode;
|
|
17
|
+
export declare const isValueNode: (node?: ASTNode) => node is ValueNode;
|
|
18
|
+
export declare const isLiteralNode: (node?: ASTNode) => node is LiteralNode;
|
|
19
|
+
export declare const Modes: readonly ["theme", "app"];
|
|
20
|
+
export type Mode = (typeof Modes)[number];
|
|
21
|
+
export type Theme = SourceCode<SourceCodeType>[];
|
|
22
|
+
export type SourceCode<T = SourceCodeType> = T extends SourceCodeType ? {
|
|
23
|
+
/** A normalized uri the file. */
|
|
24
|
+
uri: string;
|
|
25
|
+
/** The type is used as a discriminant for type narrowing */
|
|
26
|
+
type: T;
|
|
27
|
+
/** The version is used by the Language Server to make sure the Client and Server are in sync */
|
|
28
|
+
version?: number;
|
|
29
|
+
/** The contents of the file */
|
|
30
|
+
source: string;
|
|
31
|
+
/** The AST representation of the file, or an Error instance when the file is unparseable */
|
|
32
|
+
ast: AST[T] | Error;
|
|
33
|
+
} : never;
|
|
34
|
+
export declare enum SourceCodeType {
|
|
35
|
+
JSON = "JSON",
|
|
36
|
+
LiquidHtml = "LiquidHtml",
|
|
37
|
+
GraphQL = "GraphQL"
|
|
38
|
+
}
|
|
39
|
+
export type LiquidSourceCode = SourceCode<SourceCodeType.LiquidHtml>;
|
|
40
|
+
export type PartialSourceCode = SourceCode<SourceCodeType.LiquidHtml> & PlatformOSFile & {
|
|
41
|
+
kind: 'Partial';
|
|
42
|
+
};
|
|
43
|
+
export type PageLiquidSourceCode = SourceCode<SourceCodeType.LiquidHtml> & PlatformOSFile & {
|
|
44
|
+
kind: 'Page';
|
|
45
|
+
route: string;
|
|
46
|
+
};
|
|
47
|
+
export type LiquidCheckDefinition<S extends Schema = Schema> = CheckDefinition<SourceCodeType.LiquidHtml, S>;
|
|
48
|
+
export type LiquidCheck = Check<SourceCodeType.LiquidHtml>;
|
|
49
|
+
export { LiquidHtmlNode, LiquidHtmlNodeTypes };
|
|
50
|
+
export type JSONSourceCode = SourceCode<SourceCodeType.JSON>;
|
|
51
|
+
export type JSONCheckDefinition<S extends Schema = Schema> = CheckDefinition<SourceCodeType.JSON, S>;
|
|
52
|
+
export type JSONCheck = Check<SourceCodeType.JSON>;
|
|
53
|
+
export interface PlatformOSFile {
|
|
54
|
+
name: string;
|
|
55
|
+
module_name: string;
|
|
56
|
+
path: string;
|
|
57
|
+
}
|
|
58
|
+
export interface GraphQLDocumentNode {
|
|
59
|
+
type: 'Document';
|
|
60
|
+
content: string;
|
|
61
|
+
}
|
|
62
|
+
export type AST = {
|
|
63
|
+
[T in SourceCodeType]: {
|
|
64
|
+
[SourceCodeType.JSON]: JSONNode;
|
|
65
|
+
[SourceCodeType.LiquidHtml]: LiquidHtmlNode;
|
|
66
|
+
[SourceCodeType.GraphQL]: GraphQLDocumentNode;
|
|
67
|
+
}[T];
|
|
68
|
+
};
|
|
69
|
+
export type NodeTypes = {
|
|
70
|
+
[T in SourceCodeType]: {
|
|
71
|
+
[SourceCodeType.JSON]: JSONNodeTypes;
|
|
72
|
+
[SourceCodeType.LiquidHtml]: LiquidHtmlNodeTypes;
|
|
73
|
+
[SourceCodeType.GraphQL]: 'Document';
|
|
74
|
+
}[T];
|
|
75
|
+
};
|
|
76
|
+
/** A vscode-uri string. */
|
|
77
|
+
export type { UriString };
|
|
78
|
+
/** Assumes forward slashes for simplicity internally */
|
|
79
|
+
export type RelativePath = string;
|
|
80
|
+
export type ChecksSettings = {
|
|
81
|
+
[code in string]?: CheckSettings;
|
|
82
|
+
};
|
|
83
|
+
export type CheckSettings = {
|
|
84
|
+
enabled: boolean;
|
|
85
|
+
severity?: Severity;
|
|
86
|
+
ignore?: string[];
|
|
87
|
+
} & {
|
|
88
|
+
[key in string]: any;
|
|
89
|
+
};
|
|
90
|
+
export type GraphQLSourceCode = SourceCode<SourceCodeType.GraphQL>;
|
|
91
|
+
export type GraphQLCheck = Check<SourceCodeType.GraphQL>;
|
|
92
|
+
export type GraphQLCheckDefinition<S extends Schema = Schema> = CheckDefinition<SourceCodeType.GraphQL, S>;
|
|
93
|
+
export interface Config {
|
|
94
|
+
context: Mode;
|
|
95
|
+
settings: ChecksSettings;
|
|
96
|
+
checks: CheckDefinition<SourceCodeType, Schema>[];
|
|
97
|
+
rootUri: string;
|
|
98
|
+
ignore?: string[];
|
|
99
|
+
onError?: (error: Error) => void;
|
|
100
|
+
}
|
|
101
|
+
export type NodeOfType<T extends SourceCodeType, NT> = Extract<AST[T], {
|
|
102
|
+
type: NT;
|
|
103
|
+
}>;
|
|
104
|
+
export type LiquidHtmlNodeOfType<T> = NodeOfType<SourceCodeType.LiquidHtml, T>;
|
|
105
|
+
export type JSONNodeOfType<T> = NodeOfType<SourceCodeType.LiquidHtml, T>;
|
|
106
|
+
export type CheckDefinition<T = SourceCodeType, S extends Schema = Schema> = T extends SourceCodeType ? {
|
|
107
|
+
/**
|
|
108
|
+
* The meta object holds information about the check.
|
|
109
|
+
* Its name, documentation, severity, etc.
|
|
110
|
+
*/
|
|
111
|
+
meta: {
|
|
112
|
+
/** A human readable name for the check */
|
|
113
|
+
name: string;
|
|
114
|
+
/**
|
|
115
|
+
* A code for the check (shortname without spaces).
|
|
116
|
+
*
|
|
117
|
+
* Used in configurations and IDEs.
|
|
118
|
+
*
|
|
119
|
+
* Should be unique.
|
|
120
|
+
*/
|
|
121
|
+
code: string;
|
|
122
|
+
/** For backwards compatibility, alternative code names for the check */
|
|
123
|
+
aliases?: string[];
|
|
124
|
+
/** The severity determines the icon and color of diagnostics */
|
|
125
|
+
severity: Severity.ERROR | Severity.WARNING | Severity.INFO;
|
|
126
|
+
/** Which AST type the check targets, must be one of SourceCodeType. */
|
|
127
|
+
type: T;
|
|
128
|
+
/** Human readable short description of the check as well as link to documentation. */
|
|
129
|
+
docs: {
|
|
130
|
+
description: string;
|
|
131
|
+
recommended?: boolean;
|
|
132
|
+
url?: string;
|
|
133
|
+
};
|
|
134
|
+
/**
|
|
135
|
+
* Schema of settings passed to your check.
|
|
136
|
+
*
|
|
137
|
+
* Used to support validations of your setting values, documentation,
|
|
138
|
+
* and IDE support.
|
|
139
|
+
*/
|
|
140
|
+
schema: Schema;
|
|
141
|
+
/**
|
|
142
|
+
* An optional array that determines which yaml configs will have this check enabled.
|
|
143
|
+
*
|
|
144
|
+
* When no values are given, this check will be `enabled: true` in the `all.yml` configuration
|
|
145
|
+
*
|
|
146
|
+
* When values are given, this check will be `enabled: false` in the `all.yml` configuration
|
|
147
|
+
* and `enabled: true` within all yaml configurations with a matching filename.
|
|
148
|
+
*
|
|
149
|
+
* Note: theme-app-extension target is deprecated (Shopify-specific)
|
|
150
|
+
*/
|
|
151
|
+
targets?: ConfigTarget[];
|
|
152
|
+
deprecated?: boolean;
|
|
153
|
+
replacedBy?: boolean;
|
|
154
|
+
};
|
|
155
|
+
/**
|
|
156
|
+
* A function that returns a Check, the function scope is a good place to
|
|
157
|
+
* initialize state for a run.
|
|
158
|
+
*
|
|
159
|
+
* - One check is created per file
|
|
160
|
+
* - The state is not shared while traversing all files
|
|
161
|
+
* - To report problems, use the context.report method.
|
|
162
|
+
*
|
|
163
|
+
* @example
|
|
164
|
+
*
|
|
165
|
+
* create(context) {
|
|
166
|
+
* const tags = []
|
|
167
|
+
*
|
|
168
|
+
* return {
|
|
169
|
+
* async LiquidTag(node) {
|
|
170
|
+
* tags.push(node);
|
|
171
|
+
* },
|
|
172
|
+
*
|
|
173
|
+
* async onCodePathEnd() {
|
|
174
|
+
* tags.forEach(tag => {
|
|
175
|
+
* ...
|
|
176
|
+
* });
|
|
177
|
+
* },
|
|
178
|
+
* }
|
|
179
|
+
* }
|
|
180
|
+
*/
|
|
181
|
+
create(context: Context<T, S>): Partial<Check<T>>;
|
|
182
|
+
} : never;
|
|
183
|
+
/**
|
|
184
|
+
* A Check is an object that defines visitor methods by node type.
|
|
185
|
+
*
|
|
186
|
+
* @example
|
|
187
|
+
* {
|
|
188
|
+
* async onCodePathStart(file) {
|
|
189
|
+
* // Happens at the very beginning
|
|
190
|
+
* },
|
|
191
|
+
*
|
|
192
|
+
* AssignMarkup: async (node, file) => {
|
|
193
|
+
* // Happens once per node, while going down the tree
|
|
194
|
+
* },
|
|
195
|
+
*
|
|
196
|
+
* "AssignMarkup:exit": async (node, file) => {
|
|
197
|
+
* // Happens once per node, in reverse order
|
|
198
|
+
* },
|
|
199
|
+
*
|
|
200
|
+
* async onCodePathEnd(file) {
|
|
201
|
+
* // Happens at the very end
|
|
202
|
+
* }
|
|
203
|
+
* }
|
|
204
|
+
*/
|
|
205
|
+
export type Check<T> = T extends SourceCodeType ? Partial<CheckNodeMethods<T> & CheckExitMethods<T> & CheckLifecycleMethods<T>> : never;
|
|
206
|
+
export type CheckNodeMethod<T extends SourceCodeType, NT> = (node: NodeOfType<T, NT>, ancestors: AST[T][]) => Promise<void>;
|
|
207
|
+
type CheckNodeMethods<T extends SourceCodeType> = {
|
|
208
|
+
[NT in NodeTypes[T]]: CheckNodeMethod<T, NT>;
|
|
209
|
+
};
|
|
210
|
+
type CheckExitMethods<T extends SourceCodeType> = {
|
|
211
|
+
[NT in NodeTypes[T] as `${NT}:exit`]: CheckNodeMethod<T, NT>;
|
|
212
|
+
};
|
|
213
|
+
type CheckLifecycleMethods<T extends SourceCodeType> = {
|
|
214
|
+
/** Happens before traversing a file, file might be unparseable */
|
|
215
|
+
onCodePathStart(file: SourceCode<T>): Promise<void>;
|
|
216
|
+
/** Happens after traversing a file, file is guaranteed to exist */
|
|
217
|
+
onCodePathEnd(file: SourceCode<T> & {
|
|
218
|
+
ast: AST[T];
|
|
219
|
+
}): Promise<void>;
|
|
220
|
+
};
|
|
221
|
+
export type MetafieldCategory = 'article' | 'blog' | 'collection' | 'company' | 'company_location' | 'location' | 'market' | 'order' | 'page' | 'product' | 'variant' | 'shop';
|
|
222
|
+
export type MetafieldDefinitionMap = {
|
|
223
|
+
[key in MetafieldCategory]: MetafieldDefinition[];
|
|
224
|
+
};
|
|
225
|
+
export type MetafieldDefinition = {
|
|
226
|
+
key: string;
|
|
227
|
+
name: string;
|
|
228
|
+
namespace: string;
|
|
229
|
+
description: string;
|
|
230
|
+
type: MetafieldDefinitionType;
|
|
231
|
+
};
|
|
232
|
+
type MetafieldDefinitionType = {
|
|
233
|
+
category: string;
|
|
234
|
+
name: string;
|
|
235
|
+
};
|
|
236
|
+
export type Translations = {
|
|
237
|
+
[k in string]: string | Translations;
|
|
238
|
+
};
|
|
239
|
+
/**
|
|
240
|
+
* A reference is a link between two modules.
|
|
241
|
+
*
|
|
242
|
+
* @example
|
|
243
|
+
*
|
|
244
|
+
* It could be a specific range that points to a whole file
|
|
245
|
+
* {
|
|
246
|
+
* source: { uri: 'file:///templates/index.json', range: [167, 190] },
|
|
247
|
+
* target: 'file:///sections/custom-section.liquid'
|
|
248
|
+
* }
|
|
249
|
+
*
|
|
250
|
+
* It could be a specific range that points to a specific range
|
|
251
|
+
* {
|
|
252
|
+
* // e.g. `<parent-component></parent-component>`
|
|
253
|
+
* source: { uri: 'file:///app/views/partials/parent.liquid', range: [167, 190] },
|
|
254
|
+
*
|
|
255
|
+
* // e.g. window.customElements.define('parent-component', ParentComponent);
|
|
256
|
+
* target: { uri: 'file:///assets/theme.js', range: [0, undefined] }
|
|
257
|
+
* }
|
|
258
|
+
*/
|
|
259
|
+
export type Reference = {
|
|
260
|
+
source: Location;
|
|
261
|
+
target: Location;
|
|
262
|
+
type: 'direct' | 'indirect' | 'preset';
|
|
263
|
+
};
|
|
264
|
+
export type Range = [start: number, end: number];
|
|
265
|
+
export type Location = {
|
|
266
|
+
/** The URI of the module */
|
|
267
|
+
uri: UriString;
|
|
268
|
+
/** Optional range inside that module */
|
|
269
|
+
range?: Range;
|
|
270
|
+
};
|
|
271
|
+
export interface Dependencies {
|
|
272
|
+
/** The file system abstraction used to read files. */
|
|
273
|
+
fs: AbstractFileSystem;
|
|
274
|
+
/** The typing information */
|
|
275
|
+
themeDocset?: ThemeDocset;
|
|
276
|
+
/** The blocks/sections JSON schemas */
|
|
277
|
+
jsonValidationSet?: JsonValidationSet;
|
|
278
|
+
/** Returns the typing information for the theme's metafields */
|
|
279
|
+
getMetafieldDefinitions?: (rootUri: UriString) => Promise<MetafieldDefinitionMap>;
|
|
280
|
+
/**
|
|
281
|
+
* Asynchronously get the block schema for 'blocks/${name}.liquid'
|
|
282
|
+
* May return undefined when the theme isn't preloaded.
|
|
283
|
+
* See {@link ThemeBlockSchema} for more information
|
|
284
|
+
*/
|
|
285
|
+
getBlockSchema?: (name: string) => Promise<ThemeBlockSchema | undefined>;
|
|
286
|
+
/**
|
|
287
|
+
* Asynchronously get the section schema for 'section/${name}.liquid'
|
|
288
|
+
* May return undefined when the theme isn't preloaded or if there are none.
|
|
289
|
+
* See {@link SectionSchema} for more information
|
|
290
|
+
*/
|
|
291
|
+
getSectionSchema?: (name: string) => Promise<SectionSchema | undefined>;
|
|
292
|
+
/**
|
|
293
|
+
* (In theme app extension mode)
|
|
294
|
+
* Asynchronously get the block schema for 'blocks/${name}.liquid'
|
|
295
|
+
* May return undefined when the theme isn't preloaded.
|
|
296
|
+
* See {@link AppBlockSchema} for more information
|
|
297
|
+
*/
|
|
298
|
+
getAppBlockSchema?: (name: string) => Promise<AppBlockSchema | undefined>;
|
|
299
|
+
/**
|
|
300
|
+
* Asynchronously get the Liquid HTML AST for a file.
|
|
301
|
+
* May return undefined when the theme isn't preloaded.
|
|
302
|
+
*
|
|
303
|
+
* Used in theme-checks for cross-file checks rather that going through fs.
|
|
304
|
+
*/
|
|
305
|
+
getDocDefinition?: (relativePath: string) => Promise<DocDefinition | undefined>;
|
|
306
|
+
/**
|
|
307
|
+
* Get references to a file (which files reference this file)
|
|
308
|
+
* Returns an empty array if no files reference this file
|
|
309
|
+
*/
|
|
310
|
+
getReferences?: (uri: string) => Promise<Reference[]>;
|
|
311
|
+
}
|
|
312
|
+
export type ValidateJSON = (uri: string, jsonString: string) => Promise<{
|
|
313
|
+
message: string;
|
|
314
|
+
startIndex: number;
|
|
315
|
+
endIndex: number;
|
|
316
|
+
}[]>;
|
|
317
|
+
export type IsValidSchema = (uri: string, jsonString: string) => Promise<boolean>;
|
|
318
|
+
export interface AugmentedDependencies extends Dependencies {
|
|
319
|
+
fileExists: (uri: UriString) => Promise<boolean>;
|
|
320
|
+
fileSize: (uri: UriString) => Promise<number>;
|
|
321
|
+
getDefaultLocale: () => Promise<string>;
|
|
322
|
+
getDefaultSchemaLocale: () => Promise<string>;
|
|
323
|
+
getDefaultTranslations(): Promise<Translations>;
|
|
324
|
+
getDefaultSchemaTranslations(): Promise<Translations>;
|
|
325
|
+
mode: Mode;
|
|
326
|
+
}
|
|
327
|
+
type StaticContextProperties<T extends SourceCodeType> = T extends SourceCodeType ? {
|
|
328
|
+
report(problem: Problem<T>): void;
|
|
329
|
+
toRelativePath(uri: UriString): RelativePath;
|
|
330
|
+
toUri(relativePath: RelativePath): UriString;
|
|
331
|
+
file: SourceCode<T>;
|
|
332
|
+
validateJSON?: ValidateJSON;
|
|
333
|
+
} : never;
|
|
334
|
+
export type Context<T extends SourceCodeType, S extends Schema = Schema> = T extends SourceCodeType ? StaticContextProperties<T> & AugmentedDependencies & {
|
|
335
|
+
settings: Settings<S>;
|
|
336
|
+
config: Config;
|
|
337
|
+
} : never;
|
|
338
|
+
export type Corrector<T extends SourceCodeType> = T extends SourceCodeType ? {
|
|
339
|
+
[SourceCodeType.JSON]: JSONCorrector;
|
|
340
|
+
[SourceCodeType.LiquidHtml]: StringCorrector;
|
|
341
|
+
[SourceCodeType.GraphQL]: GraphQLCorrector;
|
|
342
|
+
}[T] : never;
|
|
343
|
+
/**
|
|
344
|
+
* A Fixer is a function that returns a Fix (a data representation of the change).
|
|
345
|
+
*
|
|
346
|
+
* The Corrector module is helpful for creating Fix objects.
|
|
347
|
+
*/
|
|
348
|
+
export type Fixer<T extends SourceCodeType> = T extends SourceCodeType ? (corrector: Corrector<T>) => void : never;
|
|
349
|
+
export type LiquidHtmlFixer = Fixer<SourceCodeType.LiquidHtml>;
|
|
350
|
+
export type JSONFixer = Fixer<SourceCodeType.JSON>;
|
|
351
|
+
export type GraphQLFixer = Fixer<SourceCodeType.GraphQL>;
|
|
352
|
+
/**
|
|
353
|
+
* A data representation of a collection of changes to a document. They all
|
|
354
|
+
* assume that they operate on the initial string independently.
|
|
355
|
+
*
|
|
356
|
+
* It is recursive so that fixes can be grouped together.
|
|
357
|
+
*/
|
|
358
|
+
export type Fix = FixDescription | Fix[];
|
|
359
|
+
/**
|
|
360
|
+
* A data representation of a change to a document.
|
|
361
|
+
*
|
|
362
|
+
* To insert:
|
|
363
|
+
* - startIndex: x, endIndex: x, insert: insertion
|
|
364
|
+
*
|
|
365
|
+
* To replace:
|
|
366
|
+
* - startIndex: x, endIndex: y, insert: replacement
|
|
367
|
+
*
|
|
368
|
+
* To delete:
|
|
369
|
+
* - startIndex: x, endIndex: y, insert: ''
|
|
370
|
+
*/
|
|
371
|
+
export interface FixDescription {
|
|
372
|
+
/** 0-based index, included */
|
|
373
|
+
startIndex: number;
|
|
374
|
+
/** 0-based index, excluded */
|
|
375
|
+
endIndex: number;
|
|
376
|
+
/** What to replace the contents of the range with. To delete, put entry string. */
|
|
377
|
+
insert: string;
|
|
378
|
+
}
|
|
379
|
+
/**
|
|
380
|
+
* The FixApplicator is a function that takes a list of FixDescription and
|
|
381
|
+
* applies them on the source to produce a result.
|
|
382
|
+
*
|
|
383
|
+
* - In a CLI context, this might be changeString().then(saveFile)
|
|
384
|
+
* - In the Language Server, this function will collect the TextEdit[]
|
|
385
|
+
* before sending them as a WorkspaceEdit
|
|
386
|
+
*
|
|
387
|
+
* It is assumed that all FixDescription are all applied to the initial
|
|
388
|
+
* document, and not the one produced by previous FixDescription.
|
|
389
|
+
*
|
|
390
|
+
* It is the FixApplicator's job to throw an error if the FixDescription
|
|
391
|
+
* array contains overlapping ranges.
|
|
392
|
+
*
|
|
393
|
+
* It is the FixApplicator's job to change the location of fixes as indexes
|
|
394
|
+
* drift. See [1] and [2] for inspiration, we're following the same
|
|
395
|
+
* pattern.
|
|
396
|
+
*
|
|
397
|
+
* [1]: https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textEditArray
|
|
398
|
+
* [2]: https://codemirror.net/docs/ref/#state.EditorState.update
|
|
399
|
+
*/
|
|
400
|
+
export interface FixApplicator {
|
|
401
|
+
(source: SourceCode<SourceCodeType>, fixes: Fix): Promise<void>;
|
|
402
|
+
}
|
|
403
|
+
/**
|
|
404
|
+
* A suggestion is a Fix that we cannot apply automatically. Perhaps
|
|
405
|
+
* because there are multiple options or because the fix is dangerous and
|
|
406
|
+
* requires care.
|
|
407
|
+
*
|
|
408
|
+
* To be used by code editors.
|
|
409
|
+
*/
|
|
410
|
+
export type Suggestion<T extends SourceCodeType> = T extends SourceCodeType ? {
|
|
411
|
+
message: string;
|
|
412
|
+
fix: Fixer<T>;
|
|
413
|
+
} : never;
|
|
414
|
+
export type LiquidHtmlSuggestion = Suggestion<SourceCodeType.LiquidHtml>;
|
|
415
|
+
export type JSONSuggestion = Suggestion<SourceCodeType.JSON>;
|
|
416
|
+
export type Problem<T extends SourceCodeType> = T extends SourceCodeType ? {
|
|
417
|
+
/** The description of the problem shown to the user */
|
|
418
|
+
message: string;
|
|
419
|
+
/** 0-indexed, included */
|
|
420
|
+
startIndex: number;
|
|
421
|
+
/** 0-indexed, excluded */
|
|
422
|
+
endIndex: number;
|
|
423
|
+
/**
|
|
424
|
+
* The fix attribute is used to provide a "autofix" rule
|
|
425
|
+
* to the offense. It is reserved for safe changes.
|
|
426
|
+
* Unsafe changes should go in `suggest`.
|
|
427
|
+
*/
|
|
428
|
+
fix?: Fixer<T>;
|
|
429
|
+
/**
|
|
430
|
+
* Sometimes, it's not appropriate to automatically apply a fix either
|
|
431
|
+
* because it is not safe, or because there are multiple ways to fix it.
|
|
432
|
+
*
|
|
433
|
+
* For instance, we can't know if you'd want to fix a parser blocking
|
|
434
|
+
* script with `defer` or with `async`. The suggest array allows us to
|
|
435
|
+
* provide fixes for either and the user can choose which one they want.
|
|
436
|
+
*/
|
|
437
|
+
suggest?: Suggestion<T>[];
|
|
438
|
+
} : never;
|
|
439
|
+
export type Offense<T extends SourceCodeType = SourceCodeType> = T extends SourceCodeType ? {
|
|
440
|
+
type: T;
|
|
441
|
+
check: string;
|
|
442
|
+
message: string;
|
|
443
|
+
uri: string;
|
|
444
|
+
severity: Severity;
|
|
445
|
+
start: Position;
|
|
446
|
+
end: Position;
|
|
447
|
+
fix?: Fixer<T>;
|
|
448
|
+
suggest?: Suggestion<T>[];
|
|
449
|
+
} : never;
|
|
450
|
+
export interface Position {
|
|
451
|
+
/** 0-indexed */
|
|
452
|
+
index: number;
|
|
453
|
+
/** 1-indexed */
|
|
454
|
+
get line(): number;
|
|
455
|
+
/** 0-indexed */
|
|
456
|
+
get character(): number;
|
|
457
|
+
}
|
|
458
|
+
/** The severity determines the icon and color of diagnostics */
|
|
459
|
+
export declare enum Severity {
|
|
460
|
+
ERROR = 0,
|
|
461
|
+
WARNING = 1,
|
|
462
|
+
INFO = 2
|
|
463
|
+
}
|
|
464
|
+
/** The yaml configurations to target checks */
|
|
465
|
+
export declare enum ConfigTarget {
|
|
466
|
+
All = "all",
|
|
467
|
+
Recommended = "recommended",
|
|
468
|
+
ThemeAppExtension = "theme-app-extension"
|
|
469
|
+
}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.ConfigTarget = exports.Severity = exports.LiquidHtmlNodeTypes = exports.SourceCodeType = exports.Modes = exports.isLiteralNode = exports.isValueNode = exports.isPropertyNode = exports.isArrayNode = exports.isObjectNode = void 0;
|
|
18
|
+
const liquid_html_parser_1 = require("@platformos/liquid-html-parser");
|
|
19
|
+
Object.defineProperty(exports, "LiquidHtmlNodeTypes", { enumerable: true, get: function () { return liquid_html_parser_1.NodeTypes; } });
|
|
20
|
+
__exportStar(require("./jsonc/types"), exports);
|
|
21
|
+
__exportStar(require("./types/schema-prop-factory"), exports);
|
|
22
|
+
__exportStar(require("./types/theme-liquid-docs"), exports);
|
|
23
|
+
__exportStar(require("./types/theme-schemas"), exports);
|
|
24
|
+
const isObjectNode = (node) => node?.type === 'Object';
|
|
25
|
+
exports.isObjectNode = isObjectNode;
|
|
26
|
+
const isArrayNode = (node) => node?.type === 'Array';
|
|
27
|
+
exports.isArrayNode = isArrayNode;
|
|
28
|
+
const isPropertyNode = (node) => node?.type === 'Property';
|
|
29
|
+
exports.isPropertyNode = isPropertyNode;
|
|
30
|
+
const isValueNode = (node) => node?.type === 'Value';
|
|
31
|
+
exports.isValueNode = isValueNode;
|
|
32
|
+
const isLiteralNode = (node) => node?.type === 'Literal';
|
|
33
|
+
exports.isLiteralNode = isLiteralNode;
|
|
34
|
+
exports.Modes = ['theme', 'app'];
|
|
35
|
+
var SourceCodeType;
|
|
36
|
+
(function (SourceCodeType) {
|
|
37
|
+
SourceCodeType["JSON"] = "JSON";
|
|
38
|
+
SourceCodeType["LiquidHtml"] = "LiquidHtml";
|
|
39
|
+
SourceCodeType["GraphQL"] = "GraphQL";
|
|
40
|
+
})(SourceCodeType || (exports.SourceCodeType = SourceCodeType = {}));
|
|
41
|
+
/** The severity determines the icon and color of diagnostics */
|
|
42
|
+
var Severity;
|
|
43
|
+
(function (Severity) {
|
|
44
|
+
Severity[Severity["ERROR"] = 0] = "ERROR";
|
|
45
|
+
Severity[Severity["WARNING"] = 1] = "WARNING";
|
|
46
|
+
Severity[Severity["INFO"] = 2] = "INFO";
|
|
47
|
+
})(Severity || (exports.Severity = Severity = {}));
|
|
48
|
+
/** The yaml configurations to target checks */
|
|
49
|
+
var ConfigTarget;
|
|
50
|
+
(function (ConfigTarget) {
|
|
51
|
+
ConfigTarget["All"] = "all";
|
|
52
|
+
ConfigTarget["Recommended"] = "recommended";
|
|
53
|
+
ConfigTarget["ThemeAppExtension"] = "theme-app-extension";
|
|
54
|
+
})(ConfigTarget || (exports.ConfigTarget = ConfigTarget = {}));
|
|
55
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uEAAkG;AA2EzE,oGA3Ea,8BAAmB,OA2Eb;AArD5C,gDAA8B;AAC9B,8DAA4C;AAC5C,4DAA0C;AAC1C,wDAAsC;AAE/B,MAAM,YAAY,GAAG,CAAC,IAAc,EAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,QAAQ,CAAC;AAA/E,QAAA,YAAY,gBAAmE;AACrF,MAAM,WAAW,GAAG,CAAC,IAAc,EAAqB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;AAA5E,QAAA,WAAW,eAAiE;AAClF,MAAM,cAAc,GAAG,CAAC,IAAc,EAAwB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,UAAU,CAAC;AAArF,QAAA,cAAc,kBAAuE;AAC3F,MAAM,WAAW,GAAG,CAAC,IAAc,EAAqB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;AAA5E,QAAA,WAAW,eAAiE;AAClF,MAAM,aAAa,GAAG,CAAC,IAAc,EAAuB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC;AAAlF,QAAA,aAAa,iBAAqE;AAElF,QAAA,KAAK,GAAG,CAAC,OAAO,EAAE,KAAK,CAAU,CAAC;AAkB/C,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,+BAAa,CAAA;IACb,2CAAyB,CAAA;IACzB,qCAAmB,CAAA;AACrB,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB;AAqiBD,gEAAgE;AAChE,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,yCAAS,CAAA;IACT,6CAAW,CAAA;IACX,uCAAQ,CAAA;AACV,CAAC,EAJW,QAAQ,wBAAR,QAAQ,QAInB;AAED,+CAA+C;AAC/C,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,2BAAW,CAAA;IACX,2CAA2B,CAAA;IAC3B,yDAAyC,CAAA;AAC3C,CAAC,EAJW,YAAY,4BAAZ,YAAY,QAIvB"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare function first<T>(arr: T[]): T | undefined;
|
|
2
|
+
export declare function last<T>(arr: T[], offset?: number): T | undefined;
|
|
3
|
+
export declare function findLast<T, NT extends T>(array: T[], pred: (n: T) => n is NT): NT | undefined;
|
|
4
|
+
export declare function findLastIndex<T>(array: T[], pred: (n: T) => boolean): number;
|
|
5
|
+
export declare function findLastAndIndex<T, NT extends T>(array: T[], pred: (n: T) => n is NT): [NT, number] | [undefined, -1];
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.first = first;
|
|
4
|
+
exports.last = last;
|
|
5
|
+
exports.findLast = findLast;
|
|
6
|
+
exports.findLastIndex = findLastIndex;
|
|
7
|
+
exports.findLastAndIndex = findLastAndIndex;
|
|
8
|
+
function first(arr) {
|
|
9
|
+
return arr[0];
|
|
10
|
+
}
|
|
11
|
+
function last(arr, offset = 0) {
|
|
12
|
+
return arr[arr.length - 1 + offset];
|
|
13
|
+
}
|
|
14
|
+
function findLast(array, pred) {
|
|
15
|
+
return array[findLastIndex(array, pred)];
|
|
16
|
+
}
|
|
17
|
+
function findLastIndex(array, pred) {
|
|
18
|
+
for (let i = array.length - 1; i >= 0; i--) {
|
|
19
|
+
if (pred(array[i]))
|
|
20
|
+
return i;
|
|
21
|
+
}
|
|
22
|
+
return -1;
|
|
23
|
+
}
|
|
24
|
+
function findLastAndIndex(array, pred) {
|
|
25
|
+
const index = findLastIndex(array, pred);
|
|
26
|
+
return [array[index], index];
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=array.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array.js","sourceRoot":"","sources":["../../src/utils/array.ts"],"names":[],"mappings":";;AAAA,sBAEC;AAED,oBAEC;AAGD,4BAEC;AAED,sCAKC;AAMD,4CAMC;AA9BD,SAAgB,KAAK,CAAI,GAAQ;IAC/B,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;AAChB,CAAC;AAED,SAAgB,IAAI,CAAI,GAAQ,EAAE,SAAiB,CAAC;IAClD,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;AACtC,CAAC;AAGD,SAAgB,QAAQ,CAAI,KAAU,EAAE,IAAuB;IAC7D,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,SAAgB,aAAa,CAAI,KAAU,EAAE,IAAuB;IAClE,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAMD,SAAgB,gBAAgB,CAC9B,KAAU,EACV,IAAuB;IAEvB,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;AAC/B,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { JSONNode, Preset, Section, SourceCodeType, ThemeBlock, Context, StaticBlockDef } from '../types';
|
|
2
|
+
export type BlockDefNodeWithPath = {
|
|
3
|
+
node: Section.Block | ThemeBlock.Block;
|
|
4
|
+
path: string[];
|
|
5
|
+
};
|
|
6
|
+
export type PresetBlockNodeWithPath = {
|
|
7
|
+
node: Preset.Block;
|
|
8
|
+
path: string[];
|
|
9
|
+
};
|
|
10
|
+
export declare function getBlocks(validSchema: ThemeBlock.Schema | Section.Schema): {
|
|
11
|
+
rootLevelThemeBlocks: BlockDefNodeWithPath[];
|
|
12
|
+
rootLevelLocalBlocks: BlockDefNodeWithPath[];
|
|
13
|
+
presetLevelBlocks: {
|
|
14
|
+
[key: number]: PresetBlockNodeWithPath[];
|
|
15
|
+
};
|
|
16
|
+
defaultLevelBlocks: BlockDefNodeWithPath[];
|
|
17
|
+
};
|
|
18
|
+
export declare function isInvalidPresetBlock(blockId: string, blockNode: Preset.Block, rootLevelThemeBlocks: BlockDefNodeWithPath[], staticBlockDefs: StaticBlockDef[]): boolean;
|
|
19
|
+
export declare function isInvalidDefaultBlock(blockNode: Section.Block | ThemeBlock.Block, rootLevelThemeBlocks: BlockDefNodeWithPath[]): boolean;
|
|
20
|
+
export declare function validateNestedBlocks(context: Context<SourceCodeType.LiquidHtml>, parentNode: Preset.PresetBlockForHash | Preset.PresetBlockForArray, nestedBlocks: Preset.PresetBlockHash | Preset.PresetBlockForArray[], currentPath: string[], offset: number, ast: JSONNode): Promise<void>;
|
|
21
|
+
export declare function reportWarning(message: string, offset: number, astNode: JSONNode, context: Context<SourceCodeType.LiquidHtml>): void;
|
|
22
|
+
export declare function validateBlockFileExistence(blockType: string, context: Context<SourceCodeType.LiquidHtml>): Promise<boolean>;
|