@platformos/platformos-check-common 0.0.11 → 0.0.12

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.
Files changed (72) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/CLAUDE.md +150 -0
  3. package/dist/AugmentedPlatformOSDocset.js +1 -0
  4. package/dist/AugmentedPlatformOSDocset.js.map +1 -1
  5. package/dist/checks/deprecated-filter/index.js +15 -0
  6. package/dist/checks/deprecated-filter/index.js.map +1 -1
  7. package/dist/checks/duplicate-content-for-arguments/index.js +1 -1
  8. package/dist/checks/duplicate-content-for-arguments/index.js.map +1 -1
  9. package/dist/checks/graphql/index.d.ts +1 -0
  10. package/dist/checks/graphql/index.js +20 -7
  11. package/dist/checks/graphql/index.js.map +1 -1
  12. package/dist/checks/invalid-hash-assign-target/index.js +4 -3
  13. package/dist/checks/invalid-hash-assign-target/index.js.map +1 -1
  14. package/dist/checks/missing-content-for-arguments/index.js +1 -1
  15. package/dist/checks/missing-content-for-arguments/index.js.map +1 -1
  16. package/dist/checks/pagination-size/index.js +1 -1
  17. package/dist/checks/pagination-size/index.js.map +1 -1
  18. package/dist/checks/undefined-object/index.js +14 -13
  19. package/dist/checks/undefined-object/index.js.map +1 -1
  20. package/dist/checks/unknown-property/index.js +75 -10
  21. package/dist/checks/unknown-property/index.js.map +1 -1
  22. package/dist/checks/unknown-property/property-shape.js +14 -1
  23. package/dist/checks/unknown-property/property-shape.js.map +1 -1
  24. package/dist/checks/unrecognized-content-for-arguments/index.js +1 -1
  25. package/dist/checks/unrecognized-content-for-arguments/index.js.map +1 -1
  26. package/dist/checks/unused-assign/index.js +23 -1
  27. package/dist/checks/unused-assign/index.js.map +1 -1
  28. package/dist/checks/valid-content-for-argument-types/index.js +1 -1
  29. package/dist/checks/valid-content-for-argument-types/index.js.map +1 -1
  30. package/dist/checks/variable-name/index.js +4 -0
  31. package/dist/checks/variable-name/index.js.map +1 -1
  32. package/dist/doc-generator/DocBlockGenerator.d.ts +16 -0
  33. package/dist/doc-generator/DocBlockGenerator.js +464 -0
  34. package/dist/doc-generator/DocBlockGenerator.js.map +1 -0
  35. package/dist/doc-generator/index.d.ts +1 -0
  36. package/dist/doc-generator/index.js +6 -0
  37. package/dist/doc-generator/index.js.map +1 -0
  38. package/dist/frontmatter/index.d.ts +59 -0
  39. package/dist/frontmatter/index.js +301 -0
  40. package/dist/frontmatter/index.js.map +1 -0
  41. package/dist/index.d.ts +2 -1
  42. package/dist/index.js +4 -1
  43. package/dist/index.js.map +1 -1
  44. package/dist/liquid-doc/arguments.js +5 -0
  45. package/dist/liquid-doc/arguments.js.map +1 -1
  46. package/dist/path.d.ts +1 -1
  47. package/dist/path.js +3 -1
  48. package/dist/path.js.map +1 -1
  49. package/dist/to-schema.d.ts +1 -1
  50. package/dist/tsconfig.tsbuildinfo +1 -1
  51. package/dist/utils/block.js.map +1 -1
  52. package/package.json +2 -2
  53. package/src/AugmentedPlatformOSDocset.ts +1 -0
  54. package/src/checks/deprecated-filter/index.spec.ts +41 -1
  55. package/src/checks/deprecated-filter/index.ts +17 -0
  56. package/src/checks/graphql/index.spec.ts +173 -0
  57. package/src/checks/graphql/index.ts +21 -10
  58. package/src/checks/invalid-hash-assign-target/index.spec.ts +26 -0
  59. package/src/checks/invalid-hash-assign-target/index.ts +6 -4
  60. package/src/checks/undefined-object/index.spec.ts +123 -19
  61. package/src/checks/undefined-object/index.ts +16 -18
  62. package/src/checks/unknown-property/index.spec.ts +133 -0
  63. package/src/checks/unknown-property/index.ts +84 -10
  64. package/src/checks/unknown-property/property-shape.ts +15 -1
  65. package/src/checks/unused-assign/index.spec.ts +74 -0
  66. package/src/checks/unused-assign/index.ts +26 -1
  67. package/src/checks/variable-name/index.spec.ts +9 -0
  68. package/src/checks/variable-name/index.ts +5 -0
  69. package/src/frontmatter/index.ts +344 -0
  70. package/src/index.ts +3 -0
  71. package/src/liquid-doc/arguments.ts +3 -0
  72. package/src/path.ts +2 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @platformos/theme-check-common
2
2
 
3
+ ## 0.0.12
4
+
5
+ ### Patch Changes
6
+
7
+ - Beta release
8
+ - Updated dependencies
9
+ - @platformos/liquid-html-parser@0.0.11
10
+
3
11
  ## 0.0.11
4
12
 
5
13
  ## 0.0.10
package/CLAUDE.md ADDED
@@ -0,0 +1,150 @@
1
+ # CLAUDE.md
2
+
3
+ This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4
+
5
+ ## Overview
6
+
7
+ `@platformos/platformos-check-common` is the runtime-agnostic core of the platformOS linting engine. It defines all check logic, types, the visitor traversal system, the fix/autofix infrastructure, and test utilities. It has no Node.js or browser dependencies — those are in `-node` / `-browser` sibling packages.
8
+
9
+ ## Commands
10
+
11
+ ```bash
12
+ # From this directory:
13
+ yarn test # Run all tests (vitest)
14
+ yarn build # tsc -b tsconfig.build.json
15
+ yarn type-check # tsc --noEmit
16
+
17
+ # Run a single test file:
18
+ yarn test src/checks/deprecated-filter/index.spec.ts
19
+
20
+ # Run tests matching a name pattern:
21
+ yarn test --reporter=verbose -t "DeprecatedFilter"
22
+ ```
23
+
24
+ ## Architecture
25
+
26
+ ### Core pipeline (`src/index.ts`)
27
+
28
+ `check(app, config, dependencies)` is the entry point. It:
29
+ 1. Wraps raw `Dependencies` with augmented helpers (file-exists, translations, etc.)
30
+ 2. Wraps the raw docset in `AugmentedPlatformOSDocset` (memoized, adds undocumented filters/tags)
31
+ 3. Iterates over `SourceCodeType` values (JSON, LiquidHtml, GraphQL, YAML) and runs each applicable `CheckDefinition` against each file via visitors
32
+
33
+ ### Source code types (`src/types.ts`)
34
+
35
+ `SourceCodeType` has four values. Their AST types:
36
+ - `LiquidHtml` → `LiquidHtmlNode` (from `@platformos/liquid-html-parser`)
37
+ - `JSON` → `JSONNode` (jsonc-parser wrapper, `src/jsonc/types.ts`)
38
+ - `YAML` → **also `JSONNode`** — YAML is parsed into the same JSONNode AST via `src/yaml/parse.ts`
39
+ - `GraphQL` → `GraphQLDocumentNode` (just `{ type: 'Document', content: string }`)
40
+
41
+ ### Check definition pattern
42
+
43
+ Every check exports a `CheckDefinition<SourceCodeType.X>` object:
44
+
45
+ ```ts
46
+ export const MyCheck: LiquidCheckDefinition = {
47
+ meta: {
48
+ code: 'MyCheck', // used in config and offenses
49
+ name: '...',
50
+ docs: { description: '...', recommended: true },
51
+ type: SourceCodeType.LiquidHtml,
52
+ severity: Severity.WARNING,
53
+ schema: {}, // configurable settings shape
54
+ targets: [], // ConfigTarget[] or empty = all configs
55
+ },
56
+ create(context) {
57
+ // Called once per file. Return visitor methods as a plain object.
58
+ return {
59
+ async LiquidTag(node, ancestors) { ... },
60
+ async onCodePathEnd(file) { ... },
61
+ };
62
+ },
63
+ };
64
+ ```
65
+
66
+ - `context` has: `report()`, `file`, `config`, `settings`, `toUri()`, `toRelativePath()`, `fs`, `platformosDocset`, `getDocDefinition`, `getReferences`, `fileExists`, `fileSize`, `getDefaultLocale`, `getDefaultTranslations`, `getTranslationsForBase`, `validateJSON`
67
+ - `context.report({ message, startIndex, endIndex, fix?, suggest? })` records an offense
68
+ - `fix` is safe auto-fix; `suggest` is manual (multiple options or unsafe)
69
+ - New checks must be registered in `src/checks/index.ts` → `allChecks` array
70
+
71
+ ### Visitor system (`src/visitor.ts`)
72
+
73
+ `visit<S, R>(ast, visitor)` walks an AST depth-first and collects return values.
74
+
75
+ For checks the engine calls `visitLiquid` / `visitJSON` which support both entry (`NodeType`) and exit (`NodeType:exit`) visitor methods, plus `onCodePathStart` / `onCodePathEnd` lifecycle hooks.
76
+
77
+ `findCurrentNode(ast, cursorPosition)` — used by LSP for cursor-aware features.
78
+
79
+ ### Fix / autofix infrastructure (`src/fixes/`)
80
+
81
+ - `StringCorrector` — for Liquid/YAML: records `replace(start, end, text)` and `remove(start, end)` operations
82
+ - `JSONCorrector` — for JSON: operates on the JSONNode tree
83
+ - `GraphQLCorrector` — for GraphQL
84
+ - `createCorrector(type, source)` — factory returning the right corrector
85
+ - `applyFixToString(source, fix)` — applies collected `FixDescription[]` to a string
86
+ - No YAML autofix: `createCorrector` throws for `SourceCodeType.YAML`
87
+
88
+ ### `AugmentedPlatformOSDocset` (`src/AugmentedPlatformOSDocset.ts`)
89
+
90
+ Wraps the raw `PlatformOSDocset` (from dependency injection) with:
91
+ - Memoization on all methods
92
+ - Alias expansion for filters
93
+ - Normalization of inconsistent `deprecated: false` + `deprecation_reason: 'true'` entries
94
+ - Injection of undocumented-but-valid filters/tags
95
+
96
+ ### Context utilities (`src/context-utils.ts`)
97
+
98
+ Factory functions for the augmented dependency methods:
99
+ - `makeGetTranslationsForBase(fs, app)` — loads and merges YAML translation files; open editor buffers take precedence over filesystem
100
+ - `makeGetDefaultTranslations(fs, app, rootUri)` — loads `app/translations/en.yml`, strips locale root key
101
+ - `makeGetDefaultLocale(fs, rootUri)` — always returns `'en'`
102
+
103
+ ## Testing
104
+
105
+ Tests use **Vitest** with custom matchers defined in `src/test/`.
106
+
107
+ ### Test utilities (`src/test/test-helper.ts`)
108
+
109
+ ```ts
110
+ import { runLiquidCheck, runJSONCheck, runYAMLCheck, check } from '../../test';
111
+
112
+ // Run a single check on one file:
113
+ const offenses = await runLiquidCheck(MyCheck, '{{ x | unknown }}', 'file.liquid', mockDependencies);
114
+
115
+ // Run recommended checks on a whole mock app:
116
+ const offenses = await check({ 'app/views/partials/foo.liquid': '...' });
117
+
118
+ // Apply the auto-fix suggestion:
119
+ const result = applySuggestions(sourceCode, offenses[0]);
120
+
121
+ // Show highlighted source ranges for offenses:
122
+ const highlighted = highlightedOffenses({ 'file.liquid': sourceCode }, offenses);
123
+ ```
124
+
125
+ `MockApp` is `Record<relativePath, source>`. `MockFileSystem` provides the `AbstractFileSystem` implementation backed by the same object.
126
+
127
+ ### Custom matchers
128
+
129
+ - `expect(offenses).containOffense('message string')` — checks by message
130
+ - `expect(offenses).containOffense({ check: 'Code', severity: Severity.WARNING })` — checks by subset of keys
131
+ - Chai-based (legacy): `.to.offer.fix()`, `.to.suggest()`
132
+
133
+ ### Test setup (`src/test/test-setup.ts`)
134
+
135
+ Loaded automatically by vitest (see root `vitest.config.ts`). Registers the custom matchers. New tests should use `expect.extend` / `containOffense` style, not chai.
136
+
137
+ ## Key types to know
138
+
139
+ | Type | Purpose |
140
+ |------|---------|
141
+ | `App` | `SourceCode[]` — the full set of files to check |
142
+ | `SourceCode<T>` | `{ uri, type, source, ast, version? }` |
143
+ | `CheckDefinition<T>` | Static descriptor with `meta` + `create` factory |
144
+ | `Check<T>` | Visitor object returned by `create()` |
145
+ | `Context<T, S>` | Passed to `create()`; includes `report()` and all deps |
146
+ | `Offense` | Recorded problem: `{ check, message, uri, severity, start, end, fix?, suggest? }` |
147
+ | `Problem<T>` | Argument to `context.report()` |
148
+ | `Dependencies` | Injectable services (`fs`, `platformosDocset`, etc.) |
149
+ | `AugmentedDependencies` | Extends `Dependencies` with derived helpers |
150
+ | `PlatformOSDocset` | `filters()`, `objects()`, `tags()`, `graphQL()` |
@@ -33,6 +33,7 @@ const undocumentedFilters = [
33
33
  'handle_from',
34
34
  'pad_spaces',
35
35
  'paragraphize',
36
+ 'push',
36
37
  'sentence',
37
38
  'unit',
38
39
  'weight',
@@ -1 +1 @@
1
- {"version":3,"file":"AugmentedPlatformOSDocset.js","sourceRoot":"","sources":["../src/AugmentedPlatformOSDocset.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AugmentedPlatformOSDocset.js","sourceRoot":"","sources":["../src/AugmentedPlatformOSDocset.ts"],"names":[],"mappings":"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"}
@@ -33,10 +33,25 @@ exports.DeprecatedFilter = {
33
33
  const recommendedFilterName = findRecommendedAlternative(deprecatedFilter);
34
34
  const recommendedFilter = filters.find((f) => f.name === recommendedFilterName);
35
35
  const message = deprecatedFilterMessage(deprecatedFilter, recommendedFilter);
36
+ const filterText = node.source.slice(node.position.start, node.position.end);
37
+ const afterPipeIdx = filterText.indexOf('|') + 1;
38
+ const nameIdx = afterPipeIdx + filterText.slice(afterPipeIdx).indexOf(deprecatedFilter.name);
39
+ const filterNameStart = node.position.start + nameIdx;
40
+ const filterNameEnd = filterNameStart + deprecatedFilter.name.length;
36
41
  context.report({
37
42
  message,
38
43
  startIndex: node.position.start + 1,
39
44
  endIndex: node.position.end,
45
+ suggest: recommendedFilter
46
+ ? [
47
+ {
48
+ message: `Replace '${deprecatedFilter.name}' with '${recommendedFilter.name}'`,
49
+ fix: (corrector) => {
50
+ corrector.replace(filterNameStart, filterNameEnd, recommendedFilter.name);
51
+ },
52
+ },
53
+ ]
54
+ : undefined,
40
55
  });
41
56
  },
42
57
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checks/deprecated-filter/index.ts"],"names":[],"mappings":";;;AACA,uCAA2F;AAE9E,QAAA,gBAAgB,GAA0B;IACrD,IAAI,EAAE;QACJ,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,CAAC,mBAAmB,CAAC;QAC9B,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE;YACJ,WAAW,EAAE,uCAAuC;YACpD,GAAG,EAAE,gGAAgG;YACrG,WAAW,EAAE,IAAI;SAClB;QACD,IAAI,EAAE,sBAAc,CAAC,UAAU;QAC/B,QAAQ,EAAE,gBAAQ,CAAC,OAAO;QAC1B,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;KACZ;IAED,MAAM,CAAC,OAAO;QACZ,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC9B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO;YACL,YAAY,EAAE,KAAK,EAAE,IAAkB,EAAE,EAAE;gBACzC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,gBAAiB,CAAC,OAAO,EAAE,CAAC;gBAE1D,MAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC1C,OAAO,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;gBAC9C,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACtB,OAAO;gBACT,CAAC;gBAED,MAAM,qBAAqB,GAAG,0BAA0B,CAAC,gBAAgB,CAAC,CAAC;gBAC3E,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,qBAAqB,CAAC,CAAC;gBAEhF,MAAM,OAAO,GAAG,uBAAuB,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;gBAE7E,OAAO,CAAC,MAAM,CAAC;oBACb,OAAO;oBACP,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC;oBACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG;iBAC5B,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,SAAS,uBAAuB,CAAC,UAAuB,EAAE,WAAyB;IACjF,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,sBAAsB,UAAU,CAAC,IAAI,sBAAsB,WAAW,CAAC,IAAI,IAAI,CAAC;IACzF,CAAC;IAED,OAAO,sBAAsB,UAAU,CAAC,IAAI,IAAI,CAAC;AACnD,CAAC;AAED,SAAS,0BAA0B,CAAC,gBAA6B;IAC/D,MAAM,MAAM,GAAG,gBAAgB,CAAC,kBAAkB,CAAC;IACnD,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAEvD,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checks/deprecated-filter/index.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ exports.DuplicateContentForArguments = {
10
10
  docs: {
11
11
  description: 'This check ensures that no duplicate argument names are provided when rendering a static block.',
12
12
  recommended: true,
13
- url: 'https://documentation.platformos.com/developer-guide/platformos-check/checks/duplicate-content-for-arguments',
13
+ url: 'https://shopify.dev/docs/storefronts/themes/tools/theme-check/checks/duplicate-content-for-arguments',
14
14
  },
15
15
  type: types_1.SourceCodeType.LiquidHtml,
16
16
  severity: types_1.Severity.WARNING,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checks/duplicate-content-for-arguments/index.ts"],"names":[],"mappings":";;;AAAA,uCAA8E;AAE9E,0DAAoF;AAEvE,QAAA,4BAA4B,GAA0B;IACjE,IAAI,EAAE;QACJ,IAAI,EAAE,8BAA8B;QACpC,IAAI,EAAE,gCAAgC;QACtC,IAAI,EAAE;YACJ,WAAW,EACT,iGAAiG;YACnG,WAAW,EAAE,IAAI;YACjB,GAAG,EAAE,8GAA8G;SACpH;QACD,IAAI,EAAE,sBAAc,CAAC,UAAU;QAC/B,QAAQ,EAAE,gBAAQ,CAAC,OAAO;QAC1B,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;KACZ;IAED,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,KAAK,CAAC,gBAAgB,CAAC,IAAsB;gBAC3C,MAAM,SAAS,GAAG,IAAA,wBAAY,EAAC,IAAI,CAAC,CAAC;gBAErC,IAAI,CAAC,SAAS;oBAAE,OAAO;gBAEvB,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;gBAC9C,MAAM,aAAa,GAA0B,EAAE,CAAC;gBAEhD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC9B,IAAI,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;wBACxC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC5B,CAAC;oBAED,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACtC,CAAC;gBAED,IAAA,oCAAwB,EAAC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;YACpE,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checks/duplicate-content-for-arguments/index.ts"],"names":[],"mappings":";;;AAAA,uCAA8E;AAE9E,0DAAoF;AAEvE,QAAA,4BAA4B,GAA0B;IACjE,IAAI,EAAE;QACJ,IAAI,EAAE,8BAA8B;QACpC,IAAI,EAAE,gCAAgC;QACtC,IAAI,EAAE;YACJ,WAAW,EACT,iGAAiG;YACnG,WAAW,EAAE,IAAI;YACjB,GAAG,EAAE,sGAAsG;SAC5G;QACD,IAAI,EAAE,sBAAc,CAAC,UAAU;QAC/B,QAAQ,EAAE,gBAAQ,CAAC,OAAO;QAC1B,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;KACZ;IAED,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,KAAK,CAAC,gBAAgB,CAAC,IAAsB;gBAC3C,MAAM,SAAS,GAAG,IAAA,wBAAY,EAAC,IAAI,CAAC,CAAC;gBAErC,IAAI,CAAC,SAAS;oBAAE,OAAO;gBAEvB,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;gBAC9C,MAAM,aAAa,GAA0B,EAAE,CAAC;gBAEhD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC9B,IAAI,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;wBACxC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC5B,CAAC;oBAED,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACtC,CAAC;gBAED,IAAA,oCAAwB,EAAC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;YACpE,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -1,2 +1,3 @@
1
1
  import { GraphQLCheckDefinition } from '../../types';
2
+ export declare function lineToRange(text: string, line: number): [number, number];
2
3
  export declare const GraphQLCheck: GraphQLCheckDefinition;
@@ -1,19 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GraphQLCheck = void 0;
4
+ exports.lineToRange = lineToRange;
4
5
  const types_1 = require("../../types");
5
6
  const language_1 = require("graphql/language");
6
7
  const graphql_1 = require("graphql");
7
8
  function lineToRange(text, line) {
8
9
  const lines = text.split(/\r?\n/);
9
- if (line < 1 || line > lines.length) {
10
- return [0, text.length];
11
- }
10
+ const clampedLine = Math.max(1, Math.min(line, lines.length));
12
11
  let start = 0;
13
- for (let i = 0; i < line - 1; i++) {
12
+ for (let i = 0; i < clampedLine - 1; i++) {
14
13
  start += lines[i].length + 1;
15
14
  }
16
- const end = start + lines[line - 1].length;
15
+ const end = start + lines[clampedLine - 1].length;
17
16
  return [start, end];
18
17
  }
19
18
  exports.GraphQLCheck = {
@@ -37,10 +36,24 @@ exports.GraphQLCheck = {
37
36
  return;
38
37
  }
39
38
  const graphQLSchema = (0, graphql_1.buildSchema)(graphQLSchemaString);
40
- const document = (0, language_1.parse)(content);
39
+ let document;
40
+ try {
41
+ document = (0, language_1.parse)(content);
42
+ }
43
+ catch (e) {
44
+ if (e instanceof graphql_1.GraphQLError) {
45
+ const [start, end] = lineToRange(content, e.locations?.[0]?.line ?? 1);
46
+ context.report({
47
+ message: e.message,
48
+ startIndex: start,
49
+ endIndex: end,
50
+ });
51
+ }
52
+ return;
53
+ }
41
54
  const errors = (0, graphql_1.validate)(graphQLSchema, document);
42
55
  errors.forEach((error) => {
43
- const [start, end] = lineToRange(content, error.locations?.[0].line ?? 0);
56
+ const [start, end] = lineToRange(content, error.locations?.[0]?.line ?? 0);
44
57
  context.report({
45
58
  message: error.message,
46
59
  startIndex: start,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checks/graphql/index.ts"],"names":[],"mappings":";;;AAAA,uCAA+E;AAC/E,+CAAyC;AACzC,qCAAgD;AAEhD,SAAS,WAAW,CAAC,IAAY,EAAE,IAAY;IAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAElC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACpC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,GAAG,GAAG,KAAK,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3C,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACtB,CAAC;AAEY,QAAA,YAAY,GAA2B;IAClD,IAAI,EAAE;QACJ,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE;YACJ,WAAW,EAAE,gFAAgF;YAC7F,WAAW,EAAE,IAAI;YACjB,GAAG,EAAE,SAAS;SACf;QACD,IAAI,EAAE,sBAAc,CAAC,OAAO;QAC5B,QAAQ,EAAE,gBAAQ,CAAC,KAAK;QACxB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;KACZ;IAED,MAAM,CAAC,OAAO;QACZ,MAAM,eAAe,GAAG,KAAK,EAAE,OAAe,EAAE,EAAE;YAChD,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,gBAAgB,EAAE,OAAO,EAAE,CAAC;YACtE,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACzB,OAAO;YACT,CAAC;YAED,MAAM,aAAa,GAAG,IAAA,qBAAW,EAAC,mBAAmB,CAAC,CAAC;YAEvD,MAAM,QAAQ,GAAG,IAAA,gBAAK,EAAC,OAAO,CAAC,CAAC;YAChC,MAAM,MAAM,GAAG,IAAA,kBAAQ,EAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YAEjD,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBACvB,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;gBAC1E,OAAO,CAAC,MAAM,CAAC;oBACb,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,UAAU,EAAE,KAAK;oBACjB,QAAQ,EAAE,GAAG;iBACd,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,OAAO;YACL,KAAK,CAAC,aAAa,CAAC,IAAI;gBACtB,MAAM,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC1C,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checks/graphql/index.ts"],"names":[],"mappings":"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"}
@@ -190,11 +190,12 @@ exports.InvalidHashAssignTarget = {
190
190
  // {% function result = 'path' %}
191
191
  if (node.name === liquid_html_parser_1.NamedTags.function && typeof node.markup !== 'string') {
192
192
  const markup = node.markup;
193
- if (markup.name) {
194
- closeTypeRange(markup.name, node.position.start);
193
+ const varName = markup.name.name;
194
+ if (varName) {
195
+ closeTypeRange(varName, node.position.start);
195
196
  // Function returns are untyped unless we can infer them
196
197
  variableTypes.push({
197
- name: markup.name,
198
+ name: varName,
198
199
  type: 'untyped',
199
200
  range: [node.position.end],
200
201
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checks/invalid-hash-assign-target/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checks/invalid-hash-assign-target/index.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ exports.MissingContentForArguments = {
10
10
  docs: {
11
11
  description: 'This check ensures that all required arguments are provided when rendering a static block.',
12
12
  recommended: true,
13
- url: 'https://documentation.platformos.com/developer-guide/platformos-check/checks/missing-content-for-arguments',
13
+ url: 'https://shopify.dev/docs/storefronts/themes/tools/theme-check/checks/missing-content-for-arguments',
14
14
  },
15
15
  type: types_1.SourceCodeType.LiquidHtml,
16
16
  severity: types_1.Severity.WARNING,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checks/missing-content-for-arguments/index.ts"],"names":[],"mappings":";;;AAAA,uCAA8E;AAE9E,0DAIoC;AAEvB,QAAA,0BAA0B,GAA0B;IAC/D,IAAI,EAAE;QACJ,IAAI,EAAE,4BAA4B;QAClC,IAAI,EAAE,8BAA8B;QACpC,IAAI,EAAE;YACJ,WAAW,EACT,4FAA4F;YAC9F,WAAW,EAAE,IAAI;YACjB,GAAG,EAAE,4GAA4G;SAClH;QACD,IAAI,EAAE,sBAAc,CAAC,UAAU;QAC/B,QAAQ,EAAE,gBAAQ,CAAC,OAAO;QAC1B,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;KACZ;IAED,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,KAAK,CAAC,gBAAgB,CAAC,IAAsB;gBAC3C,MAAM,SAAS,GAAG,IAAA,wBAAY,EAAC,IAAI,CAAC,CAAC;gBAErC,IAAI,CAAC,SAAS;oBAAE,OAAO;gBAEvB,MAAM,mBAAmB,GAAG,MAAM,IAAA,8BAAkB,EAAC,OAAO,EAAE,UAAU,SAAS,SAAS,CAAC,CAAC;gBAE5F,IAAI,CAAC,mBAAmB;oBAAE,OAAO;gBAEjC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;gBAExE,MAAM,qBAAqB,GAAG,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAC3E,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CACjD,CAAC;gBAEF,IAAA,kCAAsB,EAAC,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,CAAC,CAAC;YAC1E,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checks/missing-content-for-arguments/index.ts"],"names":[],"mappings":";;;AAAA,uCAA8E;AAE9E,0DAIoC;AAEvB,QAAA,0BAA0B,GAA0B;IAC/D,IAAI,EAAE;QACJ,IAAI,EAAE,4BAA4B;QAClC,IAAI,EAAE,8BAA8B;QACpC,IAAI,EAAE;YACJ,WAAW,EACT,4FAA4F;YAC9F,WAAW,EAAE,IAAI;YACjB,GAAG,EAAE,oGAAoG;SAC1G;QACD,IAAI,EAAE,sBAAc,CAAC,UAAU;QAC/B,QAAQ,EAAE,gBAAQ,CAAC,OAAO;QAC1B,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;KACZ;IAED,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,KAAK,CAAC,gBAAgB,CAAC,IAAsB;gBAC3C,MAAM,SAAS,GAAG,IAAA,wBAAY,EAAC,IAAI,CAAC,CAAC;gBAErC,IAAI,CAAC,SAAS;oBAAE,OAAO;gBAEvB,MAAM,mBAAmB,GAAG,MAAM,IAAA,8BAAkB,EAAC,OAAO,EAAE,UAAU,SAAS,SAAS,CAAC,CAAC;gBAE5F,IAAI,CAAC,mBAAmB;oBAAE,OAAO;gBAEjC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;gBAExE,MAAM,qBAAqB,GAAG,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAC3E,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CACjD,CAAC;gBAEF,IAAA,kCAAsB,EAAC,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,CAAC,CAAC;YAC1E,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -16,7 +16,7 @@ exports.PaginationSize = {
16
16
  name: 'Ensure paginate tags are used with performant sizes',
17
17
  docs: {
18
18
  description: 'This check is aimed at keeping response times low.',
19
- url: 'https://documentation.platformos.com/developer-guide/platformos-check/checks/pagination-size',
19
+ url: 'https://shopify.dev/docs/storefronts/themes/tools/theme-check/checks/pagination-size',
20
20
  recommended: true,
21
21
  },
22
22
  type: types_1.SourceCodeType.LiquidHtml,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checks/pagination-size/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checks/pagination-size/index.ts"],"names":[],"mappings":"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"}
@@ -77,9 +77,13 @@ exports.UndefinedObject = {
77
77
  });
78
78
  }
79
79
  if (node.name === 'function') {
80
- indexVariableScope(node.markup.name, {
81
- start: node.position.end,
82
- });
80
+ const fnName = node.markup.name;
81
+ // Only register simple variable names (not hash/array mutations like hash['key'])
82
+ if (fnName.lookups.length === 0 && fnName.name !== null) {
83
+ indexVariableScope(fnName.name, {
84
+ start: node.position.end,
85
+ });
86
+ }
83
87
  }
84
88
  if (node.name === 'layout') {
85
89
  indexVariableScope('none', {
@@ -111,8 +115,8 @@ exports.UndefinedObject = {
111
115
  });
112
116
  }
113
117
  if (isLiquidTagBackground(node)) {
114
- indexVariableScope(node.markup.jobId.name, {
115
- start: node.blockEndPosition?.end,
118
+ indexVariableScope(node.markup.jobId, {
119
+ start: node.position.end,
116
120
  });
117
121
  }
118
122
  },
@@ -124,8 +128,8 @@ exports.UndefinedObject = {
124
128
  return;
125
129
  if (isLiquidTag(parent) && isLiquidTagParseJson(parent))
126
130
  return;
127
- // Skip the jobId variable in background tag markup - it's being defined, not used
128
- if (isBackgroundInlineMarkup(parent) && parent.jobId === node)
131
+ // Skip the result variable of function tags (it's a definition, not a usage)
132
+ if (isFunctionMarkup(parent) && parent.name === node)
129
133
  return;
130
134
  variables.push(node);
131
135
  },
@@ -226,12 +230,9 @@ function isLiquidTagDecrement(node) {
226
230
  function isLiquidTagBackground(node) {
227
231
  return (node.name === liquid_html_parser_1.NamedTags.background &&
228
232
  typeof node.markup !== 'string' &&
229
- node.markup.type === liquid_html_parser_1.NodeTypes.BackgroundInlineMarkup);
233
+ node.markup.type === liquid_html_parser_1.NodeTypes.BackgroundMarkup);
230
234
  }
231
- function isBackgroundInlineMarkup(node) {
232
- return (typeof node === 'object' &&
233
- node !== null &&
234
- 'type' in node &&
235
- node.type === liquid_html_parser_1.NodeTypes.BackgroundInlineMarkup);
235
+ function isFunctionMarkup(node) {
236
+ return node?.type === liquid_html_parser_1.NodeTypes.FunctionMarkup;
236
237
  }
237
238
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checks/undefined-object/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checks/undefined-object/index.ts"],"names":[],"mappings":"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"}
@@ -85,6 +85,43 @@ exports.UnknownProperty = {
85
85
  }
86
86
  }
87
87
  }
88
+ // {% assign x = y | dig: "key1" | dig: "key2" %}
89
+ // Follow the dig path through the source variable's known shape.
90
+ const digFilters = markup.value.filters?.filter((f) => f.name === 'dig') ?? [];
91
+ if (digFilters.length > 0 && markup.value.expression.type === liquid_html_parser_1.NodeTypes.VariableLookup) {
92
+ const expr = markup.value.expression;
93
+ if (expr.name) {
94
+ const digPath = [];
95
+ let validDigPath = true;
96
+ for (const digFilter of digFilters) {
97
+ const arg = digFilter.args?.[0];
98
+ if (arg?.type === liquid_html_parser_1.NodeTypes.String) {
99
+ digPath.push(arg.value);
100
+ }
101
+ else {
102
+ validDigPath = false;
103
+ break;
104
+ }
105
+ }
106
+ if (validDigPath && digPath.length > 0) {
107
+ // Combine any lookups on the source expression (e.g. y.a | dig: "b")
108
+ // with the dig path to get the full navigation path.
109
+ const sourceLookupPath = buildLookupPath(expr.lookups);
110
+ const fullPath = sourceLookupPath ? [...sourceLookupPath, ...digPath] : digPath;
111
+ const sourceIdx = findLastApplicableShapeIndex(expr.name, node.position.start, variableShapes);
112
+ if (sourceIdx !== -1) {
113
+ const result = (0, property_shape_1.lookupPropertyPath)(variableShapes[sourceIdx].shape, fullPath);
114
+ if (result.shape && !result.error) {
115
+ variableShapes.push({
116
+ name: markup.name,
117
+ shape: result.shape,
118
+ range: [node.position.end],
119
+ });
120
+ }
121
+ }
122
+ }
123
+ }
124
+ }
88
125
  }
89
126
  // {% parse_json x %}{"a": 5}{% endparse_json %}
90
127
  if (isLiquidTagParseJson(node)) {
@@ -118,11 +155,14 @@ exports.UnknownProperty = {
118
155
  const schema = await getGraphQLSchema();
119
156
  const shape = (0, property_shape_1.inferShapeFromGraphQL)(content, schema);
120
157
  if (shape) {
121
- variableShapes.push({
122
- name: markup.name,
123
- shape,
124
- range: [node.position.end],
125
- });
158
+ const resultShape = applyDigFilters(shape, markup.filters);
159
+ if (resultShape) {
160
+ variableShapes.push({
161
+ name: markup.name,
162
+ shape: resultShape,
163
+ range: [node.position.end],
164
+ });
165
+ }
126
166
  }
127
167
  }
128
168
  catch {
@@ -142,11 +182,14 @@ exports.UnknownProperty = {
142
182
  const schema = await getGraphQLSchema();
143
183
  const shape = (0, property_shape_1.inferShapeFromGraphQL)(textContent, schema);
144
184
  if (shape) {
145
- variableShapes.push({
146
- name: markup.name,
147
- shape,
148
- range: [node.blockEndPosition?.end ?? node.position.end],
149
- });
185
+ const resultShape = applyDigFilters(shape, markup.filters);
186
+ if (resultShape) {
187
+ variableShapes.push({
188
+ name: markup.name,
189
+ shape: resultShape,
190
+ range: [node.blockEndPosition?.end ?? node.position.end],
191
+ });
192
+ }
150
193
  }
151
194
  }
152
195
  }
@@ -280,6 +323,28 @@ function buildLookupPath(lookups) {
280
323
  }
281
324
  return path;
282
325
  }
326
+ /**
327
+ * Navigate a shape using the `dig` filters from a tag's result filters.
328
+ * Returns the navigated shape, or the original shape if no dig filters are present.
329
+ * Returns null if the dig path is dynamic or navigates to an unknown property.
330
+ */
331
+ function applyDigFilters(shape, filters) {
332
+ const digFilters = filters.filter((f) => f.name === 'dig');
333
+ if (digFilters.length === 0)
334
+ return shape;
335
+ const digPath = [];
336
+ for (const filter of digFilters) {
337
+ const arg = filter.args?.[0];
338
+ if (arg?.type === liquid_html_parser_1.NodeTypes.String) {
339
+ digPath.push(arg.value);
340
+ }
341
+ else {
342
+ return null;
343
+ }
344
+ }
345
+ const result = (0, property_shape_1.lookupPropertyPath)(shape, digPath);
346
+ return result.error || !result.shape ? null : result.shape;
347
+ }
283
348
  /**
284
349
  * Extract the lookup path from a hash_assign target.
285
350
  * For {% hash_assign a['key1']['key2'] = value %}, returns ['key1', 'key2']