@platformos/platformos-check-common 0.0.7 → 0.0.9
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 +16 -0
- package/README.md +4 -4
- package/dist/AugmentedPlatformOSDocset.d.ts +11 -0
- package/dist/AugmentedPlatformOSDocset.js +81 -0
- package/dist/AugmentedPlatformOSDocset.js.map +1 -0
- package/dist/JSONValidator.js +1 -1
- package/dist/JSONValidator.js.map +1 -1
- package/dist/checks/deprecated-filter/index.js +4 -41
- package/dist/checks/deprecated-filter/index.js.map +1 -1
- package/dist/checks/deprecated-tag/index.js +21 -22
- package/dist/checks/deprecated-tag/index.js.map +1 -1
- package/dist/checks/duplicate-function-arguments/index.js +1 -1
- package/dist/checks/duplicate-function-arguments/index.js.map +1 -1
- package/dist/checks/duplicate-render-partial-arguments/index.js +1 -1
- package/dist/checks/duplicate-render-partial-arguments/index.js.map +1 -1
- package/dist/checks/graphql/index.js +1 -1
- package/dist/checks/graphql/index.js.map +1 -1
- package/dist/checks/graphql-variables/index.js +4 -0
- package/dist/checks/graphql-variables/index.js.map +1 -1
- package/dist/checks/img-width-and-height/index.js +1 -1
- package/dist/checks/img-width-and-height/index.js.map +1 -1
- package/dist/checks/index.d.ts +3 -3
- package/dist/checks/index.js +4 -79
- package/dist/checks/index.js.map +1 -1
- package/dist/checks/json-syntax-error/index.js +1 -1
- package/dist/checks/json-syntax-error/index.js.map +1 -1
- package/dist/checks/liquid-html-syntax-error/checks/InvalidLoopArguments.js +1 -1
- package/dist/checks/liquid-html-syntax-error/checks/InvalidLoopArguments.js.map +1 -1
- package/dist/checks/liquid-html-syntax-error/checks/InvalidTagSyntax.d.ts +19 -0
- package/dist/checks/liquid-html-syntax-error/checks/InvalidTagSyntax.js +79 -0
- package/dist/checks/liquid-html-syntax-error/checks/InvalidTagSyntax.js.map +1 -0
- package/dist/checks/liquid-html-syntax-error/checks/UnknownTag.d.ts +3 -0
- package/dist/checks/liquid-html-syntax-error/checks/UnknownTag.js +32 -0
- package/dist/checks/liquid-html-syntax-error/checks/UnknownTag.js.map +1 -0
- package/dist/checks/liquid-html-syntax-error/index.js +23 -5
- package/dist/checks/liquid-html-syntax-error/index.js.map +1 -1
- package/dist/checks/matching-translations/index.d.ts +2 -2
- package/dist/checks/matching-translations/index.js +114 -90
- package/dist/checks/matching-translations/index.js.map +1 -1
- package/dist/checks/metadata-params/index.js +6 -3
- package/dist/checks/metadata-params/index.js.map +1 -1
- package/dist/checks/missing-asset/index.js +1 -1
- package/dist/checks/missing-asset/index.js.map +1 -1
- package/dist/checks/missing-partial/index.d.ts +6 -0
- package/dist/checks/missing-partial/index.js +70 -0
- package/dist/checks/missing-partial/index.js.map +1 -0
- package/dist/checks/orphaned-partial/index.js +4 -4
- package/dist/checks/orphaned-partial/index.js.map +1 -1
- package/dist/checks/parser-blocking-script/index.js +10 -36
- package/dist/checks/parser-blocking-script/index.js.map +1 -1
- package/dist/checks/parser-blocking-script/suggestions.d.ts +1 -2
- package/dist/checks/parser-blocking-script/suggestions.js +1 -11
- package/dist/checks/parser-blocking-script/suggestions.js.map +1 -1
- package/dist/checks/reserved-doc-param-names/index.js +6 -5
- package/dist/checks/reserved-doc-param-names/index.js.map +1 -1
- package/dist/checks/translation-key-exists/index.js +1 -1
- package/dist/checks/translation-key-exists/index.js.map +1 -1
- package/dist/checks/unclosed-html-element/index.js +5 -1
- package/dist/checks/unclosed-html-element/index.js.map +1 -1
- package/dist/checks/undefined-object/index.js +13 -31
- package/dist/checks/undefined-object/index.js.map +1 -1
- package/dist/checks/unique-doc-param-names/index.js +1 -1
- package/dist/checks/unique-doc-param-names/index.js.map +1 -1
- package/dist/checks/unknown-filter/index.js +3 -3
- package/dist/checks/unknown-filter/index.js.map +1 -1
- package/dist/checks/unknown-property/index.js +1 -1
- package/dist/checks/unknown-property/index.js.map +1 -1
- package/dist/checks/unrecognized-render-partial-arguments/index.js +2 -2
- package/dist/checks/unrecognized-render-partial-arguments/index.js.map +1 -1
- package/dist/checks/unused-assign/index.js +1 -1
- package/dist/checks/unused-assign/index.js.map +1 -1
- package/dist/checks/unused-doc-param/index.js +1 -1
- package/dist/checks/unused-doc-param/index.js.map +1 -1
- package/dist/checks/utils.js +1 -1
- package/dist/checks/utils.js.map +1 -1
- package/dist/checks/valid-content-for-arguments/index.js +1 -1
- package/dist/checks/valid-content-for-arguments/index.js.map +1 -1
- package/dist/checks/valid-doc-param-types/index.js +4 -4
- package/dist/checks/valid-doc-param-types/index.js.map +1 -1
- package/dist/checks/valid-html-translation/index.d.ts +2 -2
- package/dist/checks/valid-html-translation/index.js +4 -4
- package/dist/checks/valid-html-translation/index.js.map +1 -1
- package/dist/checks/valid-json/index.js +1 -1
- package/dist/checks/valid-json/index.js.map +1 -1
- package/dist/checks/valid-render-partial-argument-types/index.js +2 -2
- package/dist/checks/valid-render-partial-argument-types/index.js.map +1 -1
- package/dist/checks/variable-name/index.js +1 -1
- package/dist/checks/variable-name/index.js.map +1 -1
- package/dist/context-utils.d.ts +18 -7
- package/dist/context-utils.js +68 -109
- package/dist/context-utils.js.map +1 -1
- package/dist/disabled-checks/index.js +4 -2
- package/dist/disabled-checks/index.js.map +1 -1
- 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 +7 -10
- package/dist/find-root.js +10 -17
- package/dist/find-root.js.map +1 -1
- package/dist/fixes/autofix.d.ts +4 -4
- package/dist/fixes/autofix.js +2 -2
- package/dist/fixes/autofix.js.map +1 -1
- package/dist/fixes/correctors/index.js +4 -0
- package/dist/fixes/correctors/index.js.map +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.js +50 -17
- package/dist/index.js.map +1 -1
- package/dist/jsonc/parse.d.ts +1 -1
- package/dist/jsonc/parse.js +1 -1
- package/dist/liquid-doc/arguments.d.ts +7 -8
- package/dist/liquid-doc/arguments.js +28 -29
- package/dist/liquid-doc/arguments.js.map +1 -1
- package/dist/liquid-doc/liquidDoc.d.ts +1 -1
- package/dist/liquid-doc/liquidDoc.js.map +1 -1
- package/dist/liquid-doc/utils.d.ts +3 -3
- package/dist/liquid-doc/utils.js +14 -3
- package/dist/liquid-doc/utils.js.map +1 -1
- package/dist/path.d.ts +1 -0
- package/dist/path.js +16 -1
- package/dist/path.js.map +1 -1
- package/{src/test/MockTheme.ts → dist/test/MockApp.d.ts} +2 -3
- package/dist/test/MockApp.js +16 -0
- package/dist/test/MockApp.js.map +1 -0
- package/dist/test/MockFileSystem.d.ts +3 -3
- package/dist/test/MockFileSystem.js +6 -6
- package/dist/test/MockFileSystem.js.map +1 -1
- package/dist/test/index.d.ts +1 -1
- package/dist/test/index.js +1 -1
- package/dist/test/index.js.map +1 -1
- package/dist/test/test-helper.d.ts +10 -9
- package/dist/test/test-helper.js +15 -106
- package/dist/test/test-helper.js.map +1 -1
- package/dist/to-schema.d.ts +1 -1
- package/dist/to-source-code.d.ts +3 -2
- package/dist/to-source-code.js +20 -0
- package/dist/to-source-code.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/platformos-liquid-docs.d.ts +128 -0
- package/dist/types/platformos-liquid-docs.js +3 -0
- package/dist/types/platformos-liquid-docs.js.map +1 -0
- package/dist/types/schemas/index.d.ts +0 -2
- package/dist/types/schemas/index.js.map +1 -1
- package/dist/types.d.ts +26 -67
- package/dist/types.js +3 -5
- package/dist/types.js.map +1 -1
- package/dist/utils/block.js.map +1 -1
- package/dist/utils/index.d.ts +0 -1
- package/dist/utils/index.js +0 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/yaml/parse.d.ts +5 -0
- package/dist/yaml/parse.js +94 -0
- package/dist/yaml/parse.js.map +1 -0
- package/package.json +4 -3
- package/src/{AugmentedThemeDocset.spec.ts → AugmentedPlatformOSDocset.spec.ts} +47 -34
- package/src/AugmentedPlatformOSDocset.ts +89 -0
- package/src/JSONValidator.ts +1 -1
- package/src/checks/deprecated-filter/index.spec.ts +76 -248
- package/src/checks/deprecated-filter/index.ts +5 -53
- package/src/checks/deprecated-tag/index.spec.ts +85 -34
- package/src/checks/deprecated-tag/index.ts +27 -22
- package/src/checks/duplicate-function-arguments/index.ts +1 -1
- package/src/checks/duplicate-render-partial-arguments/index.spec.ts +12 -12
- package/src/checks/duplicate-render-partial-arguments/index.ts +1 -1
- package/src/checks/graphql/index.ts +1 -1
- package/src/checks/graphql-variables/index.spec.ts +95 -0
- package/src/checks/graphql-variables/index.ts +4 -0
- package/src/checks/img-width-and-height/index.ts +2 -2
- package/src/checks/index.ts +11 -80
- package/src/checks/invalid-hash-assign-target/index.spec.ts +27 -27
- package/src/checks/json-syntax-error/index.ts +2 -2
- package/src/checks/liquid-html-syntax-error/checks/InvalidBooleanExpression.spec.ts +0 -11
- package/src/checks/liquid-html-syntax-error/checks/InvalidLoopArguments.spec.ts +1 -2
- package/src/checks/liquid-html-syntax-error/checks/InvalidLoopArguments.ts +2 -2
- package/src/checks/liquid-html-syntax-error/checks/InvalidTagSyntax.spec.ts +259 -0
- package/src/checks/liquid-html-syntax-error/checks/InvalidTagSyntax.ts +89 -0
- package/src/checks/liquid-html-syntax-error/checks/UnknownTag.spec.ts +293 -0
- package/src/checks/liquid-html-syntax-error/checks/UnknownTag.ts +43 -0
- package/src/checks/liquid-html-syntax-error/index.spec.ts +1 -6
- package/src/checks/liquid-html-syntax-error/index.ts +26 -5
- package/src/checks/matching-translations/index.spec.ts +187 -354
- package/src/checks/matching-translations/index.ts +117 -107
- package/src/checks/metadata-params/index.ts +6 -8
- package/src/checks/missing-asset/index.ts +1 -1
- package/src/checks/{missing-template → missing-partial}/index.spec.ts +6 -6
- package/src/checks/{missing-template → missing-partial}/index.ts +12 -26
- package/src/checks/orphaned-partial/index.ts +3 -3
- package/src/checks/parser-blocking-script/index.spec.ts +0 -118
- package/src/checks/parser-blocking-script/index.ts +3 -33
- package/src/checks/parser-blocking-script/suggestions.ts +1 -28
- package/src/checks/translation-key-exists/index.ts +1 -1
- package/src/checks/unclosed-html-element/index.ts +5 -1
- package/src/checks/undefined-object/index.spec.ts +32 -111
- package/src/checks/undefined-object/index.ts +15 -34
- package/src/checks/unique-doc-param-names/index.ts +1 -1
- package/src/checks/unknown-filter/index.spec.ts +2 -2
- package/src/checks/unknown-filter/index.ts +3 -3
- package/src/checks/unknown-property/index.ts +1 -1
- package/src/checks/unrecognized-render-partial-arguments/index.spec.ts +5 -5
- package/src/checks/unrecognized-render-partial-arguments/index.ts +2 -5
- package/src/checks/unused-assign/index.spec.ts +0 -30
- package/src/checks/unused-assign/index.ts +2 -2
- package/src/checks/unused-doc-param/index.ts +1 -1
- package/src/checks/utils.ts +1 -1
- package/src/checks/valid-doc-param-types/index.ts +4 -4
- package/src/checks/valid-html-translation/index.spec.ts +42 -32
- package/src/checks/valid-html-translation/index.ts +7 -7
- package/src/checks/valid-json/index.ts +2 -2
- package/src/checks/valid-render-partial-argument-types/index.spec.ts +13 -13
- package/src/checks/valid-render-partial-argument-types/index.ts +2 -5
- package/src/checks/variable-name/index.ts +1 -1
- package/src/context-utils.spec.ts +49 -77
- package/src/context-utils.ts +81 -129
- package/src/disabled-checks/index.spec.ts +26 -26
- package/src/disabled-checks/index.ts +2 -2
- package/src/disabled-checks/test-checks.ts +4 -4
- package/src/find-root.ts +12 -22
- package/src/fixes/autofix.spec.ts +2 -2
- package/src/fixes/autofix.ts +4 -4
- package/src/fixes/correctors/index.ts +4 -0
- package/src/ignore.spec.ts +4 -5
- package/src/index.ts +51 -21
- package/src/jsonc/parse.ts +1 -1
- package/src/liquid-doc/arguments.spec.ts +19 -45
- package/src/liquid-doc/arguments.ts +35 -42
- package/src/liquid-doc/liquidDoc.spec.ts +1 -1
- package/src/liquid-doc/liquidDoc.ts +1 -2
- package/src/liquid-doc/utils.ts +17 -8
- package/src/path.ts +16 -0
- package/src/test/MockApp.ts +17 -0
- package/src/test/MockFileSystem.spec.ts +10 -11
- package/src/test/MockFileSystem.ts +6 -6
- package/src/test/contain-offense.spec.ts +11 -3
- package/src/test/index.ts +1 -1
- package/src/test/test-helper.ts +43 -145
- package/src/to-source-code.ts +20 -1
- package/src/types/{theme-liquid-docs.ts → platformos-liquid-docs.ts} +8 -13
- package/src/types.ts +29 -92
- package/src/utils/index.ts +0 -1
- package/src/visitor.spec.ts +2 -2
- package/src/yaml/parse.ts +111 -0
- package/src/AugmentedThemeDocset.ts +0 -137
- package/src/checks/app-block-missing-schema/index.spec.ts +0 -121
- package/src/checks/app-block-missing-schema/index.ts +0 -46
- package/src/checks/app-block-valid-tags/index.spec.ts +0 -96
- package/src/checks/app-block-valid-tags/index.ts +0 -54
- package/src/checks/asset-preload/index.spec.ts +0 -78
- package/src/checks/asset-preload/index.ts +0 -65
- package/src/checks/asset-size-app-block-css/index.spec.ts +0 -88
- package/src/checks/asset-size-app-block-css/index.ts +0 -78
- package/src/checks/asset-size-app-block-javascript/index.spec.ts +0 -66
- package/src/checks/asset-size-app-block-javascript/index.ts +0 -78
- package/src/checks/asset-size-css/index.spec.ts +0 -166
- package/src/checks/asset-size-css/index.ts +0 -160
- package/src/checks/asset-size-javascript/index.spec.ts +0 -184
- package/src/checks/asset-size-javascript/index.ts +0 -144
- package/src/checks/block-id-usage/index.spec.ts +0 -76
- package/src/checks/block-id-usage/index.ts +0 -72
- package/src/checks/cdn-preconnect/index.spec.ts +0 -40
- package/src/checks/cdn-preconnect/index.ts +0 -43
- package/src/checks/content-for-header-modification/index.spec.ts +0 -65
- package/src/checks/content-for-header-modification/index.ts +0 -72
- package/src/checks/deprecate-bgsizes/index.spec.ts +0 -41
- package/src/checks/deprecate-bgsizes/index.ts +0 -49
- package/src/checks/deprecate-lazysizes/index.spec.ts +0 -26
- package/src/checks/deprecate-lazysizes/index.ts +0 -58
- package/src/checks/deprecated-filter/fixes.ts +0 -264
- package/src/checks/deprecated-fonts-on-sections-and-blocks/deprecated-fonts-data.ts +0 -1343
- package/src/checks/deprecated-fonts-on-sections-and-blocks/index.spec.ts +0 -613
- package/src/checks/deprecated-fonts-on-sections-and-blocks/index.ts +0 -284
- package/src/checks/deprecated-fonts-on-settings-schema/index.spec.ts +0 -102
- package/src/checks/deprecated-fonts-on-settings-schema/index.ts +0 -66
- package/src/checks/duplicate-content-for-arguments/index.spec.ts +0 -98
- package/src/checks/duplicate-content-for-arguments/index.ts +0 -43
- package/src/checks/empty-block-content/index.spec.ts +0 -117
- package/src/checks/empty-block-content/index.ts +0 -60
- package/src/checks/hardcoded-routes/index.spec.ts +0 -58
- package/src/checks/hardcoded-routes/index.ts +0 -100
- package/src/checks/json-missing-block/index.spec.ts +0 -435
- package/src/checks/json-missing-block/index.ts +0 -56
- package/src/checks/json-missing-block/missing-block-utils.ts +0 -147
- package/src/checks/liquid-free-settings/index.spec.ts +0 -180
- package/src/checks/liquid-free-settings/index.ts +0 -79
- package/src/checks/missing-content-for-arguments/index.spec.ts +0 -144
- package/src/checks/missing-content-for-arguments/index.ts +0 -46
- package/src/checks/pagination-size/index.spec.ts +0 -158
- package/src/checks/pagination-size/index.ts +0 -104
- package/src/checks/remote-asset/index.spec.ts +0 -280
- package/src/checks/remote-asset/index.ts +0 -238
- package/src/checks/reserved-doc-param-names/index.spec.ts +0 -62
- package/src/checks/reserved-doc-param-names/index.ts +0 -57
- package/src/checks/schema-presets-block-order/index.spec.ts +0 -344
- package/src/checks/schema-presets-block-order/index.ts +0 -154
- package/src/checks/schema-presets-static-blocks/index.spec.ts +0 -145
- package/src/checks/schema-presets-static-blocks/index.ts +0 -126
- package/src/checks/static-stylesheet-and-javascript-tags/index.spec.ts +0 -257
- package/src/checks/static-stylesheet-and-javascript-tags/index.ts +0 -48
- package/src/checks/unique-settings-id/index.spec.ts +0 -24
- package/src/checks/unique-settings-id/index.ts +0 -84
- package/src/checks/unique-settings-id/test-data.ts +0 -1191
- package/src/checks/unique-static-block-id/index.spec.ts +0 -55
- package/src/checks/unique-static-block-id/index.ts +0 -60
- package/src/checks/unrecognized-content-for-arguments/index.spec.ts +0 -145
- package/src/checks/unrecognized-content-for-arguments/index.ts +0 -55
- package/src/checks/valid-block-target/index.spec.ts +0 -1396
- package/src/checks/valid-block-target/index.ts +0 -142
- package/src/checks/valid-content-for-argument-types/index.spec.ts +0 -382
- package/src/checks/valid-content-for-argument-types/index.ts +0 -42
- package/src/checks/valid-content-for-arguments/index.spec.ts +0 -107
- package/src/checks/valid-content-for-arguments/index.ts +0 -98
- package/src/checks/valid-local-blocks/index.spec.ts +0 -286
- package/src/checks/valid-local-blocks/index.ts +0 -100
- package/src/checks/valid-local-blocks/valid-block-utils.ts +0 -97
- package/src/checks/valid-schema/index.spec.ts +0 -174
- package/src/checks/valid-schema/index.ts +0 -41
- package/src/checks/valid-schema-name/index.spec.ts +0 -112
- package/src/checks/valid-schema-name/index.ts +0 -75
- package/src/checks/valid-settings-key/index.spec.ts +0 -321
- package/src/checks/valid-settings-key/index.ts +0 -144
- package/src/checks/valid-static-block-type/index.spec.ts +0 -38
- package/src/checks/valid-static-block-type/index.ts +0 -58
- package/src/checks/valid-visible-if/index.spec.ts +0 -619
- package/src/checks/valid-visible-if/index.ts +0 -184
- package/src/checks/valid-visible-if/visible-if-utils.ts +0 -158
- package/src/tags/content-for.ts +0 -25
- package/src/to-schema.ts +0 -231
- package/src/types/schemas/index.ts +0 -5
- package/src/types/schemas/preset.ts +0 -52
- package/src/types/schemas/section.ts +0 -86
- package/src/types/schemas/setting.ts +0 -320
- package/src/types/schemas/template.ts +0 -34
- package/src/types/schemas/theme-block.ts +0 -34
- package/src/types/theme-schemas.ts +0 -80
- package/src/utils/block.ts +0 -300
- package/src/utils/markup.ts +0 -10
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { Setting } from './setting';
|
|
2
|
-
import { Preset } from './preset';
|
|
3
|
-
|
|
4
|
-
export declare namespace Section {
|
|
5
|
-
/** {% schema %} */
|
|
6
|
-
export interface Schema {
|
|
7
|
-
name?: string;
|
|
8
|
-
tag?: 'article' | 'aside' | 'div' | 'footer' | 'header' | 'section';
|
|
9
|
-
class?: string;
|
|
10
|
-
limit?: number;
|
|
11
|
-
settings?: Setting.Any[];
|
|
12
|
-
max_blocks?: number;
|
|
13
|
-
blocks?: Block[];
|
|
14
|
-
presets?: Preset.Preset[];
|
|
15
|
-
default?: Default;
|
|
16
|
-
locales?: Record<string, Record<string, string>>;
|
|
17
|
-
enabled_on?: SectionToggle;
|
|
18
|
-
disabled_on?: SectionToggle;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
// Block definitions
|
|
22
|
-
export type Block = ThemeBlock | AppBlock | SpecificThemeBlock | LocalBlock;
|
|
23
|
-
|
|
24
|
-
export type ThemeBlock = {
|
|
25
|
-
type: '@theme';
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
export type AppBlock = {
|
|
29
|
-
type: '@app';
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
export type SpecificThemeBlock = {
|
|
33
|
-
type: string;
|
|
34
|
-
limit?: number;
|
|
35
|
-
template?: string;
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
export type LocalBlock = {
|
|
39
|
-
type: string;
|
|
40
|
-
name: string;
|
|
41
|
-
settings?: Setting.Any[];
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
export type DefaultBlock = {
|
|
45
|
-
type: string;
|
|
46
|
-
settings?: Record<string, string | number | boolean | string[]>;
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
// Default section configuration (kind of like presets)
|
|
50
|
-
export interface Default {
|
|
51
|
-
settings?: Record<string, string | number | boolean | string[]>;
|
|
52
|
-
blocks?: Array<DefaultBlock>;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
// Section toggle interface
|
|
56
|
-
export interface SectionToggle {
|
|
57
|
-
templates?: TemplateType[];
|
|
58
|
-
groups?: string[];
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
// Template types for section toggle
|
|
62
|
-
export type TemplateType =
|
|
63
|
-
| '*'
|
|
64
|
-
| '404'
|
|
65
|
-
| 'article'
|
|
66
|
-
| 'blog'
|
|
67
|
-
| 'captcha'
|
|
68
|
-
| 'cart'
|
|
69
|
-
| 'collection'
|
|
70
|
-
| 'customers/account'
|
|
71
|
-
| 'customers/activate_account'
|
|
72
|
-
| 'customers/addresses'
|
|
73
|
-
| 'customers/login'
|
|
74
|
-
| 'customers/order'
|
|
75
|
-
| 'customers/register'
|
|
76
|
-
| 'customers/reset_password'
|
|
77
|
-
| 'gift_card'
|
|
78
|
-
| 'index'
|
|
79
|
-
| 'list-collections'
|
|
80
|
-
| 'metaobject'
|
|
81
|
-
| 'page'
|
|
82
|
-
| 'password'
|
|
83
|
-
| 'policy'
|
|
84
|
-
| 'product'
|
|
85
|
-
| 'search';
|
|
86
|
-
}
|
|
@@ -1,320 +0,0 @@
|
|
|
1
|
-
export declare namespace Setting {
|
|
2
|
-
/** Setting values are */
|
|
3
|
-
export type Values = Record<string, string | number | boolean | string[]>;
|
|
4
|
-
|
|
5
|
-
/** Union type of all setting types */
|
|
6
|
-
export type Any = InputSetting | SideBarSetting;
|
|
7
|
-
|
|
8
|
-
/** Settings used for display */
|
|
9
|
-
export type SideBarSetting = Header | Paragraph;
|
|
10
|
-
|
|
11
|
-
/** Settings with data */
|
|
12
|
-
export type InputSetting =
|
|
13
|
-
| Article
|
|
14
|
-
| Blog
|
|
15
|
-
| Collection
|
|
16
|
-
| Page
|
|
17
|
-
| Product
|
|
18
|
-
| CollectionList
|
|
19
|
-
| ProductList
|
|
20
|
-
| MetaobjectList
|
|
21
|
-
| Text
|
|
22
|
-
| Textarea
|
|
23
|
-
| Richtext
|
|
24
|
-
| InlineRichtext
|
|
25
|
-
| Html
|
|
26
|
-
| Url
|
|
27
|
-
| TextAlignment
|
|
28
|
-
| Number
|
|
29
|
-
| Range
|
|
30
|
-
| Checkbox
|
|
31
|
-
| Radio
|
|
32
|
-
| Select
|
|
33
|
-
| Color
|
|
34
|
-
| ColorBackground
|
|
35
|
-
| ColorScheme
|
|
36
|
-
| ColorSchemeGroup
|
|
37
|
-
| ImagePicker
|
|
38
|
-
| Video
|
|
39
|
-
| VideoUrl
|
|
40
|
-
| FontPicker
|
|
41
|
-
| LinkList
|
|
42
|
-
| Liquid
|
|
43
|
-
| Metaobject
|
|
44
|
-
| StyleLayoutPanel
|
|
45
|
-
| StyleSizePanel
|
|
46
|
-
| StyleSpacingPanel;
|
|
47
|
-
|
|
48
|
-
export enum Type {
|
|
49
|
-
// Resource Settings
|
|
50
|
-
Article = 'article',
|
|
51
|
-
Blog = 'blog',
|
|
52
|
-
Collection = 'collection',
|
|
53
|
-
Page = 'page',
|
|
54
|
-
Product = 'product',
|
|
55
|
-
|
|
56
|
-
// Resource List Settings
|
|
57
|
-
CollectionList = 'collection_list',
|
|
58
|
-
ProductList = 'product_list',
|
|
59
|
-
MetaobjectList = 'metaobject_list',
|
|
60
|
-
|
|
61
|
-
// Text Settings
|
|
62
|
-
Text = 'text',
|
|
63
|
-
Textarea = 'textarea',
|
|
64
|
-
Richtext = 'richtext',
|
|
65
|
-
InlineRichtext = 'inline_richtext',
|
|
66
|
-
Html = 'html',
|
|
67
|
-
Url = 'url',
|
|
68
|
-
TextAlignment = 'text_alignment',
|
|
69
|
-
|
|
70
|
-
// Number Settings
|
|
71
|
-
Number = 'number',
|
|
72
|
-
Range = 'range',
|
|
73
|
-
|
|
74
|
-
// Choice Settings
|
|
75
|
-
Checkbox = 'checkbox',
|
|
76
|
-
Radio = 'radio',
|
|
77
|
-
Select = 'select',
|
|
78
|
-
|
|
79
|
-
// Color Settings
|
|
80
|
-
Color = 'color',
|
|
81
|
-
ColorBackground = 'color_background',
|
|
82
|
-
ColorScheme = 'color_scheme',
|
|
83
|
-
ColorSchemeGroup = 'color_scheme_group',
|
|
84
|
-
|
|
85
|
-
// Media Settings
|
|
86
|
-
ImagePicker = 'image_picker',
|
|
87
|
-
Video = 'video',
|
|
88
|
-
VideoUrl = 'video_url',
|
|
89
|
-
|
|
90
|
-
// Special Settings
|
|
91
|
-
FontPicker = 'font_picker',
|
|
92
|
-
LinkList = 'link_list',
|
|
93
|
-
Liquid = 'liquid',
|
|
94
|
-
Metaobject = 'metaobject',
|
|
95
|
-
|
|
96
|
-
// Style Panel Settings
|
|
97
|
-
StyleLayoutPanel = 'style.layout_panel',
|
|
98
|
-
StyleSizePanel = 'style.size_panel',
|
|
99
|
-
StyleSpacingPanel = 'style.spacing_panel',
|
|
100
|
-
|
|
101
|
-
// Sidebar Settings
|
|
102
|
-
Header = 'header',
|
|
103
|
-
Paragraph = 'paragraph',
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
// Base Setting Interface
|
|
107
|
-
export interface Base<T extends Type> {
|
|
108
|
-
type: T;
|
|
109
|
-
id: string;
|
|
110
|
-
label?: string;
|
|
111
|
-
info?: string;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
// Sidebar Settings
|
|
115
|
-
export interface Header extends Base<Type.Header> {
|
|
116
|
-
content: string;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
export interface Paragraph extends Base<Type.Paragraph> {
|
|
120
|
-
content: string;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
// Resource Settings
|
|
124
|
-
export interface Resource<T extends Type> extends Base<T> {
|
|
125
|
-
default?: string;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
export interface Article extends Resource<Type.Article> {}
|
|
129
|
-
export interface Blog extends Resource<Type.Blog> {}
|
|
130
|
-
export interface Collection extends Resource<Type.Collection> {}
|
|
131
|
-
export interface Page extends Resource<Type.Page> {}
|
|
132
|
-
export interface Product extends Resource<Type.Product> {}
|
|
133
|
-
|
|
134
|
-
// Resource List Settings
|
|
135
|
-
export interface ResourceList<T extends Type> extends Base<T> {
|
|
136
|
-
limit?: number;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
export interface CollectionList extends ResourceList<Type.CollectionList> {}
|
|
140
|
-
export interface ProductList extends ResourceList<Type.ProductList> {}
|
|
141
|
-
export interface MetaobjectList extends ResourceList<Type.MetaobjectList> {
|
|
142
|
-
metaobject_type: string;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
// Text Settings
|
|
146
|
-
export interface TextBase<T extends Type> extends Base<T> {
|
|
147
|
-
default?: string;
|
|
148
|
-
placeholder?: string;
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
export interface Text extends TextBase<Type.Text> {}
|
|
152
|
-
export interface Textarea extends TextBase<Type.Textarea> {}
|
|
153
|
-
export interface Richtext extends TextBase<Type.Richtext> {}
|
|
154
|
-
export interface InlineRichtext extends TextBase<Type.InlineRichtext> {}
|
|
155
|
-
export interface Html extends TextBase<Type.Html> {}
|
|
156
|
-
export interface Url extends TextBase<Type.Url> {}
|
|
157
|
-
|
|
158
|
-
export interface TextAlignment extends Base<Type.TextAlignment> {
|
|
159
|
-
default?: 'left' | 'center' | 'right' | 'justify';
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
// Number Settings
|
|
163
|
-
export interface NumberBase<T extends Type> extends Base<T> {
|
|
164
|
-
default?: number;
|
|
165
|
-
min?: number;
|
|
166
|
-
max?: number;
|
|
167
|
-
step?: number;
|
|
168
|
-
unit?: string;
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
export interface Number extends NumberBase<Type.Number> {}
|
|
172
|
-
export interface Range extends NumberBase<Type.Range> {}
|
|
173
|
-
|
|
174
|
-
// Choice Settings
|
|
175
|
-
export interface Checkbox extends Base<Type.Checkbox> {
|
|
176
|
-
default?: boolean;
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
export interface ChoiceOption {
|
|
180
|
-
value: string;
|
|
181
|
-
label: string;
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
export interface ChoiceBase<T extends Type> extends Base<T> {
|
|
185
|
-
options: ChoiceOption[];
|
|
186
|
-
default?: string;
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
export interface Radio extends ChoiceBase<Type.Radio> {}
|
|
190
|
-
export interface Select extends ChoiceBase<Type.Select> {}
|
|
191
|
-
|
|
192
|
-
// Color Settings
|
|
193
|
-
export interface ColorBase<T extends Type> extends Base<T> {
|
|
194
|
-
default?: string;
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
export interface Color extends ColorBase<Type.Color> {}
|
|
198
|
-
export interface ColorBackground extends ColorBase<Type.ColorBackground> {}
|
|
199
|
-
export interface ColorScheme extends Base<Type.ColorScheme> {
|
|
200
|
-
default?: string;
|
|
201
|
-
}
|
|
202
|
-
export interface ColorSchemeGroup extends Base<Type.ColorSchemeGroup> {}
|
|
203
|
-
|
|
204
|
-
// Media Settings
|
|
205
|
-
export interface ImagePicker extends Base<Type.ImagePicker> {
|
|
206
|
-
default?: string;
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
export interface Video extends Base<Type.Video> {
|
|
210
|
-
default?: string;
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
export interface VideoUrl extends Base<Type.VideoUrl> {
|
|
214
|
-
default?: string;
|
|
215
|
-
accept: Array<'youtube' | 'vimeo'>;
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
// Special Settings
|
|
219
|
-
export interface FontPicker extends Base<Type.FontPicker> {
|
|
220
|
-
default?: string;
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
export interface LinkList extends Base<Type.LinkList> {
|
|
224
|
-
default?: string;
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
export interface Liquid extends Base<Type.Liquid> {
|
|
228
|
-
default?: string;
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
export interface Metaobject extends Base<Type.Metaobject> {
|
|
232
|
-
metaobject_type: string;
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
// Style Panel Settings
|
|
236
|
-
export interface StyleLayoutPanel extends Base<Type.StyleLayoutPanel> {
|
|
237
|
-
default?: {
|
|
238
|
-
'flex-direction'?: 'row' | 'row-reverse' | 'column' | 'column-reverse';
|
|
239
|
-
'flex-wrap'?: 'nowrap' | 'wrap' | 'wrap-reverse';
|
|
240
|
-
'justify-content'?:
|
|
241
|
-
| 'flex-start'
|
|
242
|
-
| 'flex-end'
|
|
243
|
-
| 'start'
|
|
244
|
-
| 'end'
|
|
245
|
-
| 'left'
|
|
246
|
-
| 'right'
|
|
247
|
-
| 'center'
|
|
248
|
-
| 'space-between'
|
|
249
|
-
| 'space-around'
|
|
250
|
-
| 'space-evenly';
|
|
251
|
-
'align-items'?:
|
|
252
|
-
| 'stretch'
|
|
253
|
-
| 'flex-start'
|
|
254
|
-
| 'start'
|
|
255
|
-
| 'self-start'
|
|
256
|
-
| 'flex-end'
|
|
257
|
-
| 'end'
|
|
258
|
-
| 'self-end'
|
|
259
|
-
| 'center'
|
|
260
|
-
| 'baseline';
|
|
261
|
-
'align-content'?:
|
|
262
|
-
| 'stretch'
|
|
263
|
-
| 'flex-start'
|
|
264
|
-
| 'start'
|
|
265
|
-
| 'flex-end'
|
|
266
|
-
| 'end'
|
|
267
|
-
| 'center'
|
|
268
|
-
| 'space-between'
|
|
269
|
-
| 'space-around'
|
|
270
|
-
| 'space-evenly';
|
|
271
|
-
gap?: string;
|
|
272
|
-
'row-gap'?: string;
|
|
273
|
-
'column-gap'?: string;
|
|
274
|
-
'@media (--mobile)'?: Partial<StyleLayoutPanel['default']>;
|
|
275
|
-
};
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
export interface StyleSizePanel extends Base<Type.StyleSizePanel> {
|
|
279
|
-
default?: {
|
|
280
|
-
width?: string;
|
|
281
|
-
'min-width'?: string;
|
|
282
|
-
'max-width'?: string;
|
|
283
|
-
height?: string;
|
|
284
|
-
'min-height'?: string;
|
|
285
|
-
'max-height'?: string;
|
|
286
|
-
'flex-grow'?: string;
|
|
287
|
-
'flex-shrink'?: string;
|
|
288
|
-
'flex-basis'?: string;
|
|
289
|
-
'@media (--mobile)'?: Partial<StyleSizePanel['default']>;
|
|
290
|
-
};
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
export interface StyleSpacingPanel extends Base<Type.StyleSpacingPanel> {
|
|
294
|
-
default?: {
|
|
295
|
-
padding?: string;
|
|
296
|
-
'padding-top'?: string;
|
|
297
|
-
'padding-right'?: string;
|
|
298
|
-
'padding-bottom'?: string;
|
|
299
|
-
'padding-left'?: string;
|
|
300
|
-
'padding-block'?: string;
|
|
301
|
-
'padding-block-start'?: string;
|
|
302
|
-
'padding-block-end'?: string;
|
|
303
|
-
'padding-inline'?: string;
|
|
304
|
-
'padding-inline-start'?: string;
|
|
305
|
-
'padding-inline-end'?: string;
|
|
306
|
-
margin?: string;
|
|
307
|
-
'margin-top'?: string;
|
|
308
|
-
'margin-right'?: string;
|
|
309
|
-
'margin-bottom'?: string;
|
|
310
|
-
'margin-left'?: string;
|
|
311
|
-
'margin-block'?: string;
|
|
312
|
-
'margin-block-start'?: string;
|
|
313
|
-
'margin-block-end'?: string;
|
|
314
|
-
'margin-inline'?: string;
|
|
315
|
-
'margin-inline-start'?: string;
|
|
316
|
-
'margin-inline-end'?: string;
|
|
317
|
-
'@media (--mobile)'?: Partial<StyleSpacingPanel['default']>;
|
|
318
|
-
};
|
|
319
|
-
}
|
|
320
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { Setting } from './setting';
|
|
2
|
-
|
|
3
|
-
export namespace Template {
|
|
4
|
-
export interface Template {
|
|
5
|
-
layout?: string | false;
|
|
6
|
-
wrapper?: string;
|
|
7
|
-
sections: Record<string, Template.Section>;
|
|
8
|
-
order: string[];
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export interface Section {
|
|
12
|
-
type: string;
|
|
13
|
-
settings?: Setting.Values;
|
|
14
|
-
disabled?: boolean;
|
|
15
|
-
blocks?: Record<string, Template.Block>;
|
|
16
|
-
block_order?: string[];
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export interface Block {
|
|
20
|
-
type: string;
|
|
21
|
-
settings?: Setting.Values;
|
|
22
|
-
disabled?: boolean;
|
|
23
|
-
blocks?: Record<string, Template.Block>;
|
|
24
|
-
block_order?: string[];
|
|
25
|
-
static?: boolean;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export interface SectionGroup {
|
|
29
|
-
type: string;
|
|
30
|
-
name: string;
|
|
31
|
-
sections: Record<string, Template.Section>;
|
|
32
|
-
order: string[];
|
|
33
|
-
}
|
|
34
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { Setting } from './setting';
|
|
2
|
-
import { Preset } from './preset';
|
|
3
|
-
|
|
4
|
-
export declare namespace ThemeBlock {
|
|
5
|
-
/** Typed content of {% schema %} after passing validation */
|
|
6
|
-
export interface Schema {
|
|
7
|
-
name?: string;
|
|
8
|
-
settings?: Setting.Any[];
|
|
9
|
-
blocks?: Block[];
|
|
10
|
-
presets?: Preset.Preset[];
|
|
11
|
-
class?: string;
|
|
12
|
-
tag?: string | null;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export type ThemeBlock = {
|
|
16
|
-
type: '@theme';
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
export type AppBlock = {
|
|
20
|
-
type: '@app';
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
export type SpecificThemeBlock = {
|
|
24
|
-
/** blocks/{type}.liquid */
|
|
25
|
-
type: string;
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
// prettier-ignore
|
|
29
|
-
export type Block = (
|
|
30
|
-
| ThemeBlock
|
|
31
|
-
| AppBlock
|
|
32
|
-
| SpecificThemeBlock
|
|
33
|
-
);
|
|
34
|
-
}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { SourceCode, SourceCodeType } from '../types';
|
|
2
|
-
import { Section, ThemeBlock } from './schemas';
|
|
3
|
-
|
|
4
|
-
export * from './schemas';
|
|
5
|
-
|
|
6
|
-
export enum ThemeSchemaType {
|
|
7
|
-
AppBlock = 'app-block',
|
|
8
|
-
Block = 'block',
|
|
9
|
-
Section = 'section',
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
/** {% content_for 'block', type: type, id: id %}*/
|
|
13
|
-
export type StaticBlockDef = { type: string; id: string };
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* A ThemeSchema represents the `{% schema %}` contents of a block or section file.
|
|
17
|
-
*
|
|
18
|
-
* `ast` and `parsed` will be instances of `Error` if there was an error parsing
|
|
19
|
-
* the Liquid file or the JSON.
|
|
20
|
-
*
|
|
21
|
-
* There is no guarantee that the `ast` or `parsed` fields are backend-valid.
|
|
22
|
-
*/
|
|
23
|
-
export interface ThemeSchema<T extends ThemeSchemaType> {
|
|
24
|
-
/** section or block */
|
|
25
|
-
type: T;
|
|
26
|
-
|
|
27
|
-
/** `section/${name}.liquid` */
|
|
28
|
-
name: string;
|
|
29
|
-
|
|
30
|
-
/** Parsed as an AST (with position information) or an Error */
|
|
31
|
-
ast: SourceCode<SourceCodeType.JSON>['ast'] | Error;
|
|
32
|
-
|
|
33
|
-
/** Parsed as a JavaScript object or an Error */
|
|
34
|
-
parsed: any | Error;
|
|
35
|
-
|
|
36
|
-
/** 0-based index of the start of JSON object in the document */
|
|
37
|
-
offset: number;
|
|
38
|
-
|
|
39
|
-
/** schema node value */
|
|
40
|
-
value: string;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
/** See {@link ThemeSchema} */
|
|
44
|
-
export interface ThemeBlockSchema extends ThemeSchema<ThemeSchemaType.Block> {
|
|
45
|
-
/**
|
|
46
|
-
* @example
|
|
47
|
-
* const schema = await context.getBlockSchema('product');
|
|
48
|
-
* const validSchema = schema?.validSchema;
|
|
49
|
-
* if (!validSchema || validSchema instanceof Error) return;
|
|
50
|
-
*
|
|
51
|
-
* for (const block of validSchema.blocks ?? []) {
|
|
52
|
-
* // do something
|
|
53
|
-
* }
|
|
54
|
-
*/
|
|
55
|
-
validSchema: ThemeBlock.Schema | Error;
|
|
56
|
-
|
|
57
|
-
/** type/id pairs found in the body of the file */
|
|
58
|
-
staticBlockDefs: StaticBlockDef[];
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/** See {@link ThemeSchema} */
|
|
62
|
-
export interface SectionSchema extends ThemeSchema<ThemeSchemaType.Section> {
|
|
63
|
-
/**
|
|
64
|
-
* @example
|
|
65
|
-
* const schema = await context.getSectionSchema('product');
|
|
66
|
-
* const validSchema = schema?.validSchema;
|
|
67
|
-
* if (!validSchema || validSchema instanceof Error) return;
|
|
68
|
-
*
|
|
69
|
-
* for (const block of validSchema.blocks ?? []) {
|
|
70
|
-
* // do something
|
|
71
|
-
* }
|
|
72
|
-
*/
|
|
73
|
-
validSchema: Section.Schema | Error;
|
|
74
|
-
|
|
75
|
-
/** type/id pairs found in the body of the file */
|
|
76
|
-
staticBlockDefs: StaticBlockDef[];
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
/** TODO setup validSchema like the other ones. */
|
|
80
|
-
export interface AppBlockSchema extends ThemeSchema<ThemeSchemaType.AppBlock> {}
|