@platformos/platformos-check-common 0.0.18 → 0.0.20

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 (46) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/checks/index.js +4 -0
  3. package/dist/checks/index.js.map +1 -1
  4. package/dist/checks/liquid-html-syntax-error/checks/InvalidAssignSyntax.d.ts +11 -0
  5. package/dist/checks/liquid-html-syntax-error/checks/InvalidAssignSyntax.js +34 -1
  6. package/dist/checks/liquid-html-syntax-error/checks/InvalidAssignSyntax.js.map +1 -1
  7. package/dist/checks/liquid-html-syntax-error/index.js +8 -0
  8. package/dist/checks/liquid-html-syntax-error/index.js.map +1 -1
  9. package/dist/checks/missing-content-for-layout/index.d.ts +2 -0
  10. package/dist/checks/missing-content-for-layout/index.js +89 -0
  11. package/dist/checks/missing-content-for-layout/index.js.map +1 -0
  12. package/dist/checks/reserved-variable-name/index.d.ts +2 -0
  13. package/dist/checks/reserved-variable-name/index.js +82 -0
  14. package/dist/checks/reserved-variable-name/index.js.map +1 -0
  15. package/dist/checks/unused-assign/index.js +21 -0
  16. package/dist/checks/unused-assign/index.js.map +1 -1
  17. package/dist/checks/utils.d.ts +7 -0
  18. package/dist/checks/utils.js +8 -0
  19. package/dist/checks/utils.js.map +1 -1
  20. package/dist/find-root.js +15 -2
  21. package/dist/find-root.js.map +1 -1
  22. package/dist/index.d.ts +1 -1
  23. package/dist/index.js +3 -1
  24. package/dist/index.js.map +1 -1
  25. package/dist/liquid-doc/utils.d.ts +1 -1
  26. package/dist/to-source-code.d.ts +1 -1
  27. package/dist/tsconfig.tsbuildinfo +1 -1
  28. package/dist/types.d.ts +10 -0
  29. package/dist/types.js.map +1 -1
  30. package/package.json +2 -2
  31. package/src/checks/index.ts +4 -0
  32. package/src/checks/liquid-html-syntax-error/checks/InvalidAssignSyntax.spec.ts +49 -0
  33. package/src/checks/liquid-html-syntax-error/checks/InvalidAssignSyntax.ts +36 -2
  34. package/src/checks/liquid-html-syntax-error/checks/InvalidTagSyntax.spec.ts +23 -0
  35. package/src/checks/liquid-html-syntax-error/index.ts +12 -1
  36. package/src/checks/missing-content-for-layout/index.spec.ts +84 -0
  37. package/src/checks/missing-content-for-layout/index.ts +94 -0
  38. package/src/checks/missing-page/index.spec.ts +94 -0
  39. package/src/checks/reserved-variable-name/index.spec.ts +142 -0
  40. package/src/checks/reserved-variable-name/index.ts +85 -0
  41. package/src/checks/unused-assign/index.spec.ts +61 -0
  42. package/src/checks/unused-assign/index.ts +19 -1
  43. package/src/checks/utils.ts +11 -0
  44. package/src/find-root.ts +17 -2
  45. package/src/index.ts +2 -0
  46. package/src/types.ts +19 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # @platformos/theme-check-common
2
2
 
3
+ ## 0.0.20
4
+
5
+ ### Patch Changes
6
+
7
+ - bc1b71f: Release changes accumulated since 0.0.19: multi-line and JSON support in tags, refreshed warnings for referenced partials, platformos-graph project structural/dependency model for the supervisor, and updated linter documentation data.
8
+ - 4b6e0aa: Add ReservedVariableName check: using a reserved Liquid literal (`true`, `false`, `nil`, `null`, `empty`, `blank`) as a variable name is now an error. Liquid resolves these names as built-in literals before variable lookup, so assignments to them can never be read back. Covers assign, capture, function, graphql, parse_json, hash_assign, for, tablerow, background, increment, decrement, and catch targets. UnusedAssign no longer reports these names to avoid a misleading "assigned but not used" message. The reserved-name set is derived from `LiquidLiteralValues`, now exported from `@platformos/liquid-html-parser`.
9
+ - MCP Supervisor
10
+ - Updated dependencies [bc1b71f]
11
+ - Updated dependencies [4b6e0aa]
12
+ - Updated dependencies
13
+ - @platformos/liquid-html-parser@0.0.18
14
+
15
+ ## 0.0.19
16
+
17
+ ### Patch Changes
18
+
19
+ - Improved checks
20
+ - Updated dependencies
21
+ - @platformos/liquid-html-parser@0.0.17
22
+
3
23
  ## 0.0.18
4
24
 
5
25
  ### Patch Changes
@@ -13,6 +13,7 @@ const missing_asset_1 = require("./missing-asset");
13
13
  const missing_partial_1 = require("./missing-partial");
14
14
  const orphaned_partial_1 = require("./orphaned-partial");
15
15
  const parser_blocking_script_1 = require("./parser-blocking-script");
16
+ const reserved_variable_name_1 = require("./reserved-variable-name");
16
17
  const translation_key_exists_1 = require("./translation-key-exists");
17
18
  const unclosed_html_element_1 = require("./unclosed-html-element");
18
19
  const undefined_object_1 = require("./undefined-object");
@@ -37,6 +38,7 @@ const nested_graphql_query_1 = require("./nested-graphql-query");
37
38
  const missing_page_1 = require("./missing-page");
38
39
  const valid_frontmatter_1 = require("./valid-frontmatter");
39
40
  const json_literal_quote_style_1 = require("./json-literal-quote-style");
41
+ const missing_content_for_layout_1 = require("./missing-content-for-layout");
40
42
  exports.allChecks = [
41
43
  deprecated_filter_1.DeprecatedFilter,
42
44
  deprecated_tag_1.DeprecatedTag,
@@ -50,6 +52,7 @@ exports.allChecks = [
50
52
  missing_partial_1.MissingPartial,
51
53
  orphaned_partial_1.OrphanedPartial,
52
54
  parser_blocking_script_1.ParserBlockingScript,
55
+ reserved_variable_name_1.ReservedVariableName,
53
56
  translation_key_exists_1.TranslationKeyExists,
54
57
  unclosed_html_element_1.UnclosedHTMLElement,
55
58
  undefined_object_1.UndefinedObject,
@@ -73,6 +76,7 @@ exports.allChecks = [
73
76
  missing_page_1.MissingPage,
74
77
  valid_frontmatter_1.ValidFrontmatter,
75
78
  json_literal_quote_style_1.JsonLiteralQuoteStyle,
79
+ missing_content_for_layout_1.MissingContentForLayout,
76
80
  ];
77
81
  /**
78
82
  * The recommended checks is populated by all checks with the following conditions:
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/checks/index.ts"],"names":[],"mappings":";;;AAAA,oCAMkB;AAElB,2DAAuD;AACvD,qDAAiD;AACjD,6FAAuF;AACvF,iEAA2D;AAC3D,2DAAsD;AACtD,yEAAmE;AACnE,mEAA+D;AAC/D,mDAA+C;AAC/C,uDAAmD;AACnD,yDAAqD;AACrD,qEAAgE;AAChE,qEAAgE;AAChE,mEAA8D;AAC9D,yDAAqD;AACrD,qEAA+D;AAC/D,qDAAiD;AACjD,mGAA6F;AAC7F,mDAA+C;AAC/C,yDAAoD;AACpD,qEAAgE;AAChE,6CAAyC;AACzC,mEAA6D;AAC7D,+FAAwF;AACxF,mDAA+C;AAC/C,qEAAgE;AAChE,2DAA4D;AAC5D,uCAAyC;AACzC,yDAAqD;AACrD,6EAAuE;AACvE,iFAA4E;AAC5E,yFAAmF;AACnF,iEAA4D;AAC5D,iDAA6C;AAC7C,2DAAuD;AACvD,yEAAmE;AAEtD,QAAA,SAAS,GAKhB;IACJ,oCAAgB;IAChB,8BAAa;IACb,yDAA0B;IAC1B,oEAA+B;IAC/B,wCAAiB;IACjB,mCAAe;IACf,gDAAqB;IACrB,4CAAoB;IACpB,4BAAY;IACZ,gCAAc;IACd,kCAAe;IACf,6CAAoB;IACpB,6CAAoB;IACpB,2CAAmB;IACnB,kCAAe;IACf,4CAAmB;IACnB,8BAAa;IACb,0EAAkC;IAClC,4BAAY;IACZ,iCAAc;IACd,6CAAoB;IACpB,sBAAS;IACT,0CAAkB;IAClB,qEAA+B;IAC/B,4BAAY;IACZ,6CAAoB;IACpB,yCAAqB;IACrB,sBAAY;IACZ,kCAAe;IACf,oDAAuB;IACvB,gEAA6B;IAC7B,yCAAkB;IAClB,0BAAW;IACX,oCAAgB;IAChB,gDAAqB;CACtB,CAAC;AAEF;;;;GAIG;AACU,QAAA,WAAW,GAAG,iBAAS,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;IACpD,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;IAClD,MAAM,aAAa,GACjB,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO;QACnB,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM;QAC1B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAY,CAAC,WAAW,CAAC,CAAC;IAExD,OAAO,aAAa,IAAI,aAAa,CAAC;AACxC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/checks/index.ts"],"names":[],"mappings":";;;AAAA,oCAMkB;AAElB,2DAAuD;AACvD,qDAAiD;AACjD,6FAAuF;AACvF,iEAA2D;AAC3D,2DAAsD;AACtD,yEAAmE;AACnE,mEAA+D;AAC/D,mDAA+C;AAC/C,uDAAmD;AACnD,yDAAqD;AACrD,qEAAgE;AAChE,qEAAgE;AAChE,qEAAgE;AAChE,mEAA8D;AAC9D,yDAAqD;AACrD,qEAA+D;AAC/D,qDAAiD;AACjD,mGAA6F;AAC7F,mDAA+C;AAC/C,yDAAoD;AACpD,qEAAgE;AAChE,6CAAyC;AACzC,mEAA6D;AAC7D,+FAAwF;AACxF,mDAA+C;AAC/C,qEAAgE;AAChE,2DAA4D;AAC5D,uCAAyC;AACzC,yDAAqD;AACrD,6EAAuE;AACvE,iFAA4E;AAC5E,yFAAmF;AACnF,iEAA4D;AAC5D,iDAA6C;AAC7C,2DAAuD;AACvD,yEAAmE;AACnE,6EAAuE;AAE1D,QAAA,SAAS,GAKhB;IACJ,oCAAgB;IAChB,8BAAa;IACb,yDAA0B;IAC1B,oEAA+B;IAC/B,wCAAiB;IACjB,mCAAe;IACf,gDAAqB;IACrB,4CAAoB;IACpB,4BAAY;IACZ,gCAAc;IACd,kCAAe;IACf,6CAAoB;IACpB,6CAAoB;IACpB,6CAAoB;IACpB,2CAAmB;IACnB,kCAAe;IACf,4CAAmB;IACnB,8BAAa;IACb,0EAAkC;IAClC,4BAAY;IACZ,iCAAc;IACd,6CAAoB;IACpB,sBAAS;IACT,0CAAkB;IAClB,qEAA+B;IAC/B,4BAAY;IACZ,6CAAoB;IACpB,yCAAqB;IACrB,sBAAY;IACZ,kCAAe;IACf,oDAAuB;IACvB,gEAA6B;IAC7B,yCAAkB;IAClB,0BAAW;IACX,oCAAgB;IAChB,gDAAqB;IACrB,oDAAuB;CACxB,CAAC;AAEF;;;;GAIG;AACU,QAAA,WAAW,GAAG,iBAAS,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;IACpD,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;IAClD,MAAM,aAAa,GACjB,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO;QACnB,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM;QAC1B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAY,CAAC,WAAW,CAAC,CAAC;IAExD,OAAO,aAAa,IAAI,aAAa,CAAC;AACxC,CAAC,CAAC,CAAC"}
@@ -19,3 +19,14 @@ import { Problem, SourceCodeType } from '../../..';
19
19
  * complements rather than duplicates the other sub-checks.
20
20
  */
21
21
  export declare function detectInvalidAssignSyntax(node: LiquidTag): Problem<SourceCodeType.LiquidHtml> | undefined;
22
+ /**
23
+ * Fallback for assign tags where the tolerant parser landed in string markup even
24
+ * though the `target = value` skeleton looks fine — meaning the value or filter
25
+ * chain has parse-breaking characters (e.g. a stray `}` before `%}`) that no other
26
+ * dedicated sub-check (MultipleAssignValues, InvalidFilterName, InvalidPipeSyntax)
27
+ * surfaced. Re-parses the tag source in strict mode and reports on failure.
28
+ *
29
+ * Must run ONLY when no other sub-check already reported on this tag, otherwise
30
+ * it double-flags the same problem. The orchestrator enforces that gate.
31
+ */
32
+ export declare function detectInvalidAssignFallback(node: LiquidTag): Problem<SourceCodeType.LiquidHtml> | undefined;
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.detectInvalidAssignSyntax = detectInvalidAssignSyntax;
4
+ exports.detectInvalidAssignFallback = detectInvalidAssignFallback;
5
+ const liquid_html_parser_1 = require("@platformos/liquid-html-parser");
6
+ const INVALID_ASSIGN_MESSAGE = `Invalid syntax for tag 'assign'. Expected syntax: {% assign <var> = <value> %}`;
4
7
  /**
5
8
  * Detects structurally-invalid `assign` tags that neither `MultipleAssignValues` nor
6
9
  * `InvalidPipeSyntax`/`InvalidFilterName` catch:
@@ -33,11 +36,41 @@ function detectInvalidAssignSyntax(node) {
33
36
  if (!isStructurallyBroken)
34
37
  return;
35
38
  return {
36
- message: `Invalid syntax for tag 'assign'. Expected syntax: {% assign <var> = <value> %}`,
39
+ message: INVALID_ASSIGN_MESSAGE,
37
40
  startIndex: node.position.start,
38
41
  endIndex: node.position.end,
39
42
  };
40
43
  }
44
+ /**
45
+ * Fallback for assign tags where the tolerant parser landed in string markup even
46
+ * though the `target = value` skeleton looks fine — meaning the value or filter
47
+ * chain has parse-breaking characters (e.g. a stray `}` before `%}`) that no other
48
+ * dedicated sub-check (MultipleAssignValues, InvalidFilterName, InvalidPipeSyntax)
49
+ * surfaced. Re-parses the tag source in strict mode and reports on failure.
50
+ *
51
+ * Must run ONLY when no other sub-check already reported on this tag, otherwise
52
+ * it double-flags the same problem. The orchestrator enforces that gate.
53
+ */
54
+ function detectInvalidAssignFallback(node) {
55
+ if (node.name !== 'assign' || typeof node.markup !== 'string')
56
+ return;
57
+ // Digit-starting targets (e.g. `23_hours_ago`) are accepted by the platformOS
58
+ // runtime but rejected by the Ohm grammar's `variableSegment` rule. Skipping
59
+ // them here mirrors the intentional tolerance in isValidAssignTarget above.
60
+ if (/^\s*\d/.test(node.markup))
61
+ return;
62
+ const tagSource = node.source.slice(node.position.start, node.position.end);
63
+ try {
64
+ (0, liquid_html_parser_1.toLiquidAST)(tagSource, { mode: 'strict', allowUnclosedDocumentNode: true });
65
+ }
66
+ catch {
67
+ return {
68
+ message: INVALID_ASSIGN_MESSAGE,
69
+ startIndex: node.position.start,
70
+ endIndex: node.position.end,
71
+ };
72
+ }
73
+ }
41
74
  /**
42
75
  * Rejects an LHS that is obviously not an assign target.
43
76
  *
@@ -1 +1 @@
1
- {"version":3,"file":"InvalidAssignSyntax.js","sourceRoot":"","sources":["../../../../src/checks/liquid-html-syntax-error/checks/InvalidAssignSyntax.ts"],"names":[],"mappings":";;AAqBA,8DAuBC;AAzCD;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,yBAAyB,CACvC,IAAe;IAEf,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO;IACnC,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO;IAE5C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAElC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC;IACjC,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IACjE,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAE9D,MAAM,oBAAoB,GACxB,MAAM,KAAK,EAAE,IAAI,CAAC,SAAS,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAEvF,IAAI,CAAC,oBAAoB;QAAE,OAAO;IAElC,OAAO;QACL,OAAO,EAAE,gFAAgF;QACzF,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;QAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG;KAC5B,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,mBAAmB,CAAC,GAAW;IACtC,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"InvalidAssignSyntax.js","sourceRoot":"","sources":["../../../../src/checks/liquid-html-syntax-error/checks/InvalidAssignSyntax.ts"],"names":[],"mappings":";;AAuBA,8DAuBC;AAYD,kEAoBC;AA9ED,uEAAwE;AAGxE,MAAM,sBAAsB,GAAG,gFAAgF,CAAC;AAEhH;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,yBAAyB,CACvC,IAAe;IAEf,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO;IACnC,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO;IAE5C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAElC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC;IACjC,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IACjE,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAE9D,MAAM,oBAAoB,GACxB,MAAM,KAAK,EAAE,IAAI,CAAC,SAAS,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAEvF,IAAI,CAAC,oBAAoB;QAAE,OAAO;IAElC,OAAO;QACL,OAAO,EAAE,sBAAsB;QAC/B,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;QAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG;KAC5B,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,2BAA2B,CACzC,IAAe;IAEf,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO;IAEtE,8EAA8E;IAC9E,6EAA6E;IAC7E,4EAA4E;IAC5E,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO;IAEvC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC5E,IAAI,CAAC;QACH,IAAA,gCAAW,EAAC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,yBAAyB,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,OAAO,EAAE,sBAAsB;YAC/B,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;YAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG;SAC5B,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,mBAAmB,CAAC,GAAW;IACtC,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -102,6 +102,14 @@ exports.LiquidHTMLSyntaxError = {
102
102
  if (pipeProblems.length > 0) {
103
103
  pipeProblems.forEach((pipeProblem) => context.report(pipeProblem));
104
104
  }
105
+ // Last-chance check for assign tags whose tolerant parse fell back to
106
+ // string markup (e.g. stray `}` before `%}`). Gated on "nothing else
107
+ // reported on this tag" to avoid double-flagging.
108
+ if (problems.length + filterProblems.length + pipeProblems.length === 0) {
109
+ const fallback = (0, InvalidAssignSyntax_1.detectInvalidAssignFallback)(node);
110
+ if (fallback)
111
+ context.report(fallback);
112
+ }
105
113
  },
106
114
  async LiquidBranch(node, ancestors) {
107
115
  if ((0, utils_2.isWithinRawTagThatDoesNotParseItsContents)(ancestors))
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checks/liquid-html-syntax-error/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checks/liquid-html-syntax-error/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { LiquidCheckDefinition } from '../../types';
2
+ export declare const MissingContentForLayout: LiquidCheckDefinition;
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MissingContentForLayout = void 0;
4
+ const liquid_html_parser_1 = require("@platformos/liquid-html-parser");
5
+ const types_1 = require("../../types");
6
+ const path_1 = require("../../path");
7
+ /**
8
+ * Ensures every layout outputs `{{ content_for_layout }}`.
9
+ *
10
+ * `content_for_layout` is where platformOS injects the rendered page body. A
11
+ * layout that never references it renders its own chrome but drops the page
12
+ * entirely — a correctness defect, not a style issue. (Named slots use
13
+ * `{% yield 'name' %}` separately and do not substitute for it.)
14
+ *
15
+ * The check is scoped to layout files via `getFileType` (re-exported as
16
+ * `isLayout`) so it never fires on pages or partials. Both detection and the
17
+ * suggested fix are AST-based: any reference to the `content_for_layout`
18
+ * variable clears the check (whether emitted with `{{ … }}`, `{% echo … %}`,
19
+ * or inside a `{% liquid %}` block), and the fix is inserted before the
20
+ * `<body>` element's closing tag — using the parsed element's position, never
21
+ * a text scan of the raw source.
22
+ */
23
+ const CONTENT_FOR_LAYOUT = 'content_for_layout';
24
+ exports.MissingContentForLayout = {
25
+ meta: {
26
+ code: 'MissingContentForLayout',
27
+ name: 'Missing Content For Layout',
28
+ docs: {
29
+ description: 'Ensures every layout references `content_for_layout` — without it the rendered page body is never output.',
30
+ recommended: true,
31
+ url: undefined,
32
+ },
33
+ type: types_1.SourceCodeType.LiquidHtml,
34
+ severity: types_1.Severity.ERROR,
35
+ schema: {},
36
+ targets: [],
37
+ },
38
+ create(context) {
39
+ // Scope to layout files only; pages/partials/etc. must not be flagged.
40
+ if (!(0, path_1.isLayout)(context.file.uri))
41
+ return {};
42
+ let referencesContentForLayout = false;
43
+ // Start index of the `</body>` closing tag, captured from the AST so the
44
+ // fix never has to scan the raw source for it.
45
+ let bodyCloseIndex;
46
+ return {
47
+ async VariableLookup(node) {
48
+ if (node.name === CONTENT_FOR_LAYOUT) {
49
+ referencesContentForLayout = true;
50
+ }
51
+ },
52
+ async HtmlElement(node) {
53
+ if (bodyCloseIndex !== undefined)
54
+ return; // first <body> wins
55
+ const tagName = node.name[0];
56
+ if (tagName?.type === liquid_html_parser_1.NodeTypes.TextNode && tagName.value.toLowerCase() === 'body') {
57
+ bodyCloseIndex = node.blockEndPosition.start;
58
+ }
59
+ },
60
+ async onCodePathEnd(file) {
61
+ if (referencesContentForLayout)
62
+ return;
63
+ // Insert before `</body>` when the layout has one (keeps it inside the
64
+ // body); otherwise append at the end of the document. Both positions
65
+ // come from the AST.
66
+ const hasBody = bodyCloseIndex !== undefined;
67
+ const insertAt = hasBody ? bodyCloseIndex : file.ast.position.end;
68
+ const insertText = hasBody ? '{{ content_for_layout }}\n' : '\n{{ content_for_layout }}\n';
69
+ const suggestMessage = hasBody
70
+ ? 'Insert `{{ content_for_layout }}` before the closing </body> tag'
71
+ : 'Insert `{{ content_for_layout }}` at the end of the layout';
72
+ context.report({
73
+ message: "Layout is missing `{{ content_for_layout }}`. Every layout must output it exactly once — it renders the page body. (Named slots use `{% yield 'name' %}` separately and do not replace it.)",
74
+ startIndex: 0,
75
+ endIndex: 0,
76
+ suggest: [
77
+ {
78
+ message: suggestMessage,
79
+ fix: (corrector) => {
80
+ corrector.insert(insertAt, insertText);
81
+ },
82
+ },
83
+ ],
84
+ });
85
+ },
86
+ };
87
+ },
88
+ };
89
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checks/missing-content-for-layout/index.ts"],"names":[],"mappings":";;;AAAA,uEAA2D;AAC3D,uCAA8E;AAC9E,qCAAsC;AAEtC;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAEnC,QAAA,uBAAuB,GAA0B;IAC5D,IAAI,EAAE;QACJ,IAAI,EAAE,yBAAyB;QAC/B,IAAI,EAAE,4BAA4B;QAClC,IAAI,EAAE;YACJ,WAAW,EACT,2GAA2G;YAC7G,WAAW,EAAE,IAAI;YACjB,GAAG,EAAE,SAAS;SACf;QACD,IAAI,EAAE,sBAAc,CAAC,UAAU;QAC/B,QAAQ,EAAE,gBAAQ,CAAC,KAAK;QACxB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;KACZ;IAED,MAAM,CAAC,OAAO;QACZ,uEAAuE;QACvE,IAAI,CAAC,IAAA,eAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,EAAE,CAAC;QAE3C,IAAI,0BAA0B,GAAG,KAAK,CAAC;QACvC,yEAAyE;QACzE,+CAA+C;QAC/C,IAAI,cAAkC,CAAC;QAEvC,OAAO;YACL,KAAK,CAAC,cAAc,CAAC,IAAI;gBACvB,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;oBACrC,0BAA0B,GAAG,IAAI,CAAC;gBACpC,CAAC;YACH,CAAC;YAED,KAAK,CAAC,WAAW,CAAC,IAAI;gBACpB,IAAI,cAAc,KAAK,SAAS;oBAAE,OAAO,CAAC,oBAAoB;gBAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC7B,IAAI,OAAO,EAAE,IAAI,KAAK,8BAAS,CAAC,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;oBACnF,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;gBAC/C,CAAC;YACH,CAAC;YAED,KAAK,CAAC,aAAa,CAAC,IAAI;gBACtB,IAAI,0BAA0B;oBAAE,OAAO;gBAEvC,uEAAuE;gBACvE,qEAAqE;gBACrE,qBAAqB;gBACrB,MAAM,OAAO,GAAG,cAAc,KAAK,SAAS,CAAC;gBAC7C,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,cAAe,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACnE,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,8BAA8B,CAAC;gBAC3F,MAAM,cAAc,GAAG,OAAO;oBAC5B,CAAC,CAAC,kEAAkE;oBACpE,CAAC,CAAC,4DAA4D,CAAC;gBAEjE,OAAO,CAAC,MAAM,CAAC;oBACb,OAAO,EACL,6LAA6L;oBAC/L,UAAU,EAAE,CAAC;oBACb,QAAQ,EAAE,CAAC;oBACX,OAAO,EAAE;wBACP;4BACE,OAAO,EAAE,cAAc;4BACvB,GAAG,EAAE,CAAC,SAAS,EAAE,EAAE;gCACjB,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;4BACzC,CAAC;yBACF;qBACF;iBACF,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { LiquidCheckDefinition } from '../../types';
2
+ export declare const ReservedVariableName: LiquidCheckDefinition;
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReservedVariableName = void 0;
4
+ const liquid_html_parser_1 = require("@platformos/liquid-html-parser");
5
+ const types_1 = require("../../types");
6
+ const utils_1 = require("../utils");
7
+ exports.ReservedVariableName = {
8
+ meta: {
9
+ code: 'ReservedVariableName',
10
+ name: 'Reserved variable name',
11
+ docs: {
12
+ description: "Disallows using reserved Liquid literals ('true', 'false', 'nil', 'null', 'empty', 'blank') as variable names. Reading such a name always returns the built-in literal, never the assigned value.",
13
+ recommended: true,
14
+ url: undefined,
15
+ },
16
+ type: types_1.SourceCodeType.LiquidHtml,
17
+ severity: types_1.Severity.ERROR,
18
+ schema: {},
19
+ targets: [],
20
+ },
21
+ create(context) {
22
+ const report = (name, startIndex, endIndex) => {
23
+ context.report({
24
+ message: `'${name}' is a reserved Liquid literal and cannot be used as a variable name — reading '${name}' always returns the literal, never the assigned value`,
25
+ startIndex,
26
+ endIndex,
27
+ });
28
+ };
29
+ // Targets whose name is a plain string always sit at the start of their markup node
30
+ const checkStringTarget = (name, markup) => {
31
+ if (utils_1.RESERVED_VARIABLE_NAMES.has(name)) {
32
+ report(name, markup.position.start, markup.position.start + name.length);
33
+ }
34
+ };
35
+ const checkLookupTarget = (lookup) => {
36
+ if (lookup?.name && utils_1.RESERVED_VARIABLE_NAMES.has(lookup.name)) {
37
+ report(lookup.name, lookup.position.start, lookup.position.end);
38
+ }
39
+ };
40
+ return {
41
+ async LiquidTag(node) {
42
+ if (typeof node.markup === 'string')
43
+ return;
44
+ switch (node.name) {
45
+ case liquid_html_parser_1.NamedTags.assign:
46
+ checkStringTarget(node.markup.name, node.markup);
47
+ break;
48
+ case liquid_html_parser_1.NamedTags.capture:
49
+ case liquid_html_parser_1.NamedTags.parse_json:
50
+ case liquid_html_parser_1.NamedTags.increment:
51
+ case liquid_html_parser_1.NamedTags.decrement:
52
+ checkLookupTarget(node.markup);
53
+ break;
54
+ case liquid_html_parser_1.NamedTags.function:
55
+ checkLookupTarget(node.markup.name);
56
+ break;
57
+ case liquid_html_parser_1.NamedTags.graphql:
58
+ checkStringTarget(node.markup.name, node.markup);
59
+ break;
60
+ case liquid_html_parser_1.NamedTags.hash_assign:
61
+ checkLookupTarget(node.markup.target);
62
+ break;
63
+ case liquid_html_parser_1.NamedTags.for:
64
+ case liquid_html_parser_1.NamedTags.tablerow:
65
+ checkStringTarget(node.markup.variableName, node.markup);
66
+ break;
67
+ case liquid_html_parser_1.NamedTags.background:
68
+ if (node.markup.type === liquid_html_parser_1.NodeTypes.BackgroundMarkup) {
69
+ checkStringTarget(node.markup.jobId, node.markup);
70
+ }
71
+ break;
72
+ }
73
+ },
74
+ async LiquidBranch(node) {
75
+ if (node.name === liquid_html_parser_1.NamedTags.catch && typeof node.markup !== 'string') {
76
+ checkLookupTarget(node.markup);
77
+ }
78
+ },
79
+ };
80
+ },
81
+ };
82
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checks/reserved-variable-name/index.ts"],"names":[],"mappings":";;;AAAA,uEAA4F;AAC5F,uCAA8E;AAC9E,oCAAmD;AAEtC,QAAA,oBAAoB,GAA0B;IACzD,IAAI,EAAE;QACJ,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,wBAAwB;QAC9B,IAAI,EAAE;YACJ,WAAW,EACT,mMAAmM;YACrM,WAAW,EAAE,IAAI;YACjB,GAAG,EAAE,SAAS;SACf;QACD,IAAI,EAAE,sBAAc,CAAC,UAAU;QAC/B,QAAQ,EAAE,gBAAQ,CAAC,KAAK;QACxB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;KACZ;IAED,MAAM,CAAC,OAAO;QACZ,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,UAAkB,EAAE,QAAgB,EAAE,EAAE;YACpE,OAAO,CAAC,MAAM,CAAC;gBACb,OAAO,EAAE,IAAI,IAAI,mFAAmF,IAAI,wDAAwD;gBAChK,UAAU;gBACV,QAAQ;aACT,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,oFAAoF;QACpF,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,MAAuC,EAAE,EAAE;YAClF,IAAI,+BAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,iBAAiB,GAAG,CAAC,MAAmC,EAAE,EAAE;YAChE,IAAI,MAAM,EAAE,IAAI,IAAI,+BAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7D,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAClE,CAAC;QACH,CAAC,CAAC;QAEF,OAAO;YACL,KAAK,CAAC,SAAS,CAAC,IAAI;gBAClB,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;oBAAE,OAAO;gBAE5C,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;oBAClB,KAAK,8BAAS,CAAC,MAAM;wBACnB,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;wBACjD,MAAM;oBACR,KAAK,8BAAS,CAAC,OAAO,CAAC;oBACvB,KAAK,8BAAS,CAAC,UAAU,CAAC;oBAC1B,KAAK,8BAAS,CAAC,SAAS,CAAC;oBACzB,KAAK,8BAAS,CAAC,SAAS;wBACtB,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC/B,MAAM;oBACR,KAAK,8BAAS,CAAC,QAAQ;wBACrB,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;wBACpC,MAAM;oBACR,KAAK,8BAAS,CAAC,OAAO;wBACpB,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;wBACjD,MAAM;oBACR,KAAK,8BAAS,CAAC,WAAW;wBACxB,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBACtC,MAAM;oBACR,KAAK,8BAAS,CAAC,GAAG,CAAC;oBACnB,KAAK,8BAAS,CAAC,QAAQ;wBACrB,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;wBACzD,MAAM;oBACR,KAAK,8BAAS,CAAC,UAAU;wBACvB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,8BAAS,CAAC,gBAAgB,EAAE,CAAC;4BACpD,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;wBACpD,CAAC;wBACD,MAAM;gBACV,CAAC;YACH,CAAC;YAED,KAAK,CAAC,YAAY,CAAC,IAAI;gBACrB,IAAI,IAAI,CAAC,IAAI,KAAK,8BAAS,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACrE,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -25,6 +25,12 @@ exports.UnusedAssign = {
25
25
  // effects on the original, so they count as "using" the variable.
26
26
  const referenceAssignedVariables = new Set();
27
27
  const usedVariables = new Set();
28
+ // Concatenated markup of LiquidTags whose parsing fell back to a raw string
29
+ // (e.g. a typo like `{% assign name = x | default: [...] } %}`). The AST has
30
+ // no VariableLookup nodes to traverse inside them, so onCodePathEnd scans
31
+ // this text for assigned-variable names — avoids compounding the user's
32
+ // syntax error with false "unused" warnings.
33
+ let fallbackText = '';
28
34
  function checkVariableUsage(node) {
29
35
  if (node.type === liquid_html_parser_1.NodeTypes.VariableLookup) {
30
36
  usedVariables.add(node.name);
@@ -58,6 +64,9 @@ exports.UnusedAssign = {
58
64
  else if (isLiquidTagCapture(node) && node.markup.name) {
59
65
  assignedVariables.set(node.markup.name, node);
60
66
  }
67
+ else if (typeof node.markup === 'string' && node.markup) {
68
+ fallbackText += '\n' + node.markup;
69
+ }
61
70
  },
62
71
  async VariableLookup(node, ancestors) {
63
72
  if ((0, utils_1.isWithinRawTagThatDoesNotParseItsContents)(ancestors))
@@ -69,7 +78,19 @@ exports.UnusedAssign = {
69
78
  checkVariableUsage(node);
70
79
  },
71
80
  async onCodePathEnd() {
81
+ if (fallbackText) {
82
+ for (const name of assignedVariables.keys()) {
83
+ if (usedVariables.has(name))
84
+ continue;
85
+ if (new RegExp(`\\b${name}\\b`).test(fallbackText))
86
+ usedVariables.add(name);
87
+ }
88
+ }
72
89
  for (const [variable, node] of assignedVariables.entries()) {
90
+ // Reserved literal names are reported by ReservedVariableName instead —
91
+ // "unused" would be misleading when the source visibly references the name.
92
+ if (utils_1.RESERVED_VARIABLE_NAMES.has(variable))
93
+ continue;
73
94
  if (!usedVariables.has(variable) && !variable.startsWith('_')) {
74
95
  context.report({
75
96
  message: `The variable '${variable}' is assigned but not used`,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checks/unused-assign/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checks/unused-assign/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,12 @@
1
1
  import { Position, NodeTypes, HtmlElement, AttrEmpty, AttrSingleQuoted, AttrDoubleQuoted, AttrUnquoted, LiquidHtmlNode, LiquidBranch, LiquidTagFor, LiquidTagTablerow, LiquidTag } from '@platformos/liquid-html-parser';
2
2
  import { LiquidHtmlNodeOfType as NodeOfType } from '../types';
3
+ /**
4
+ * Names that Liquid resolves as built-in literals before looking up variables
5
+ * (Liquid::Expression::LITERALS in the backend, `LiquidLiteralValues` in the
6
+ * parser grammar). Assigning to them succeeds silently, but reading them
7
+ * always returns the literal, never the assigned value.
8
+ */
9
+ export declare const RESERVED_VARIABLE_NAMES: ReadonlySet<string>;
3
10
  type ElementType<T> = T extends (infer E)[] ? E : never;
4
11
  export type ValuedHtmlAttribute = AttrSingleQuoted | AttrDoubleQuoted | AttrUnquoted;
5
12
  export declare function isNodeOfType<T extends NodeTypes>(type: T, node?: LiquidHtmlNode): node is NodeOfType<T>;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RESERVED_VARIABLE_NAMES = void 0;
3
4
  exports.isNodeOfType = isNodeOfType;
4
5
  exports.isLiquidBranch = isLiquidBranch;
5
6
  exports.isHtmlTag = isHtmlTag;
@@ -13,6 +14,13 @@ exports.isLoopScopedVariable = isLoopScopedVariable;
13
14
  exports.isLoopLiquidTag = isLoopLiquidTag;
14
15
  exports.isWithinRawTagThatDoesNotParseItsContents = isWithinRawTagThatDoesNotParseItsContents;
15
16
  const liquid_html_parser_1 = require("@platformos/liquid-html-parser");
17
+ /**
18
+ * Names that Liquid resolves as built-in literals before looking up variables
19
+ * (Liquid::Expression::LITERALS in the backend, `LiquidLiteralValues` in the
20
+ * parser grammar). Assigning to them succeeds silently, but reading them
21
+ * always returns the literal, never the assigned value.
22
+ */
23
+ exports.RESERVED_VARIABLE_NAMES = new Set(Object.keys(liquid_html_parser_1.LiquidLiteralValues));
16
24
  function isNodeOfType(type, node) {
17
25
  return node?.type === type;
18
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/checks/utils.ts"],"names":[],"mappings":";;AAsBA,oCAKC;AAED,wCAEC;AAED,8BAUC;AAED,wBAMC;AAED,0CASC;AAED,sDAMC;AAED,sCAMC;AAED,kDAMC;AAED,wCAEC;AAED,oDAQC;AAED,0CAEC;AAUD,8FAEC;AApHD,uEAewC;AAOxC,SAAgB,YAAY,CAC1B,IAAO,EACP,IAAqB;IAErB,OAAO,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;AAC7B,CAAC;AAED,SAAgB,cAAc,CAAC,IAAoB;IACjD,OAAO,YAAY,CAAC,8BAAS,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AACpD,CAAC;AAED,SAAgB,SAAS,CACvB,IAAiB,EACjB,IAAO;IAEP,OAAO,CACL,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,8BAAS,CAAC,QAAQ;QACxC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI;QAC3B,CAAC,CAAC,IAAI,CAAC,gBAAgB,CACxB,CAAC;AACJ,CAAC;AAED,SAAgB,MAAM,CAAC,IAAqC,EAAE,IAAY;IACxE,OAAO,CACL,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QACtB,YAAY,CAAC,8BAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAC5B,CAAC;AACJ,CAAC;AAED,SAAgB,eAAe,CAC7B,IAA4C;IAE5C,OAAO;QACL,8BAAS,CAAC,YAAY;QACtB,8BAAS,CAAC,gBAAgB;QAC1B,8BAAS,CAAC,gBAAgB;QAC1B,8BAAS,CAAC,SAAS;KACpB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAgB,qBAAqB,CACnC,IAA4C;IAE5C,OAAO,CAAC,8BAAS,CAAC,YAAY,EAAE,8BAAS,CAAC,gBAAgB,EAAE,8BAAS,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAC1F,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CACnC,CAAC;AACJ,CAAC;AAED,SAAgB,aAAa,CAAC,IAAyB,EAAE,IAAY;IACnE,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,UAAU,IAAI,SAAS,EAAE,GAAG,CAAC,CAAC;IAEvD,OAAO,IAAI,CAAC,KAAK;SACd,MAAM,CAAC,CAAC,IAAI,EAAoB,EAAE,CAAC,YAAY,CAAC,8BAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SAC1E,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,SAAgB,mBAAmB,CAAC,IAAyB,EAAE,KAAa;IAC1E,OAAO,CACL,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QACvB,YAAY,CAAC,8BAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAC9B,CAAC;AACJ,CAAC;AAED,SAAgB,cAAc,CAAC,IAAoB;IACjD,OAAO,IAAI,CAAC,IAAI,KAAK,8BAAS,CAAC,MAAM,CAAC;AACxC,CAAC;AAED,SAAgB,oBAAoB,CAAC,YAAoB,EAAE,SAA2B;IACpF,OAAO,SAAS,CAAC,IAAI,CACnB,CAAC,QAAQ,EAAE,EAAE,CACX,QAAQ,CAAC,IAAI,KAAK,8BAAS,CAAC,SAAS;QACrC,eAAe,CAAC,QAAQ,CAAC;QACzB,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ;QACnC,QAAQ,CAAC,MAAM,CAAC,YAAY,KAAK,YAAY,CAChD,CAAC;AACJ,CAAC;AAED,SAAgB,eAAe,CAAC,GAAc;IAC5C,OAAO,kCAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAW,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,kCAAkC,GAAG,CAAC,KAAK,CAAC,CAAC;AAEnD,SAAS,kCAAkC,CAAC,IAAoB;IAC9D,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,8BAAS,CAAC,YAAY,IAAI,kCAAkC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAC/F,CAAC;AACJ,CAAC;AAED,SAAgB,yCAAyC,CAAC,SAA2B;IACnF,OAAO,SAAS,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;AAC5D,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/checks/utils.ts"],"names":[],"mappings":"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"}
package/dist/find-root.js CHANGED
@@ -35,10 +35,23 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.findRoot = findRoot;
37
37
  const path = __importStar(require("./path"));
38
+ function isInsideApp(dir) {
39
+ let current = dir;
40
+ while (true) {
41
+ const parent = path.dirname(current);
42
+ if (parent === current)
43
+ return false;
44
+ if (path.basename(parent) === 'app')
45
+ return true;
46
+ current = parent;
47
+ }
48
+ }
38
49
  async function isRoot(dir, fileExists) {
39
50
  return or(fileExists(path.join(dir, '.pos')), fileExists(path.join(dir, '.platformos-check.yml')), fileExists(path.join(dir, 'app')),
40
- // modules/ is a root indicator only when not inside app/ (app/modules/ is a valid subdirectory)
41
- and(fileExists(path.join(dir, 'modules')), Promise.resolve(path.basename(dir) !== 'app')));
51
+ // modules/ is a root indicator only when not inside an app/ subtree.
52
+ // app/modules/ is a valid subdirectory, and app/views/partials/modules/ is a
53
+ // legitimate partial organization that should not be mistaken for a project root.
54
+ and(fileExists(path.join(dir, 'modules')), Promise.resolve(path.basename(dir) !== 'app' && !isInsideApp(dir))));
42
55
  }
43
56
  async function and(...promises) {
44
57
  const bools = await Promise.all(promises);
@@ -1 +1 @@
1
- {"version":3,"file":"find-root.js","sourceRoot":"","sources":["../src/find-root.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCA,4BAaC;AAhDD,6CAA+B;AAI/B,KAAK,UAAU,MAAM,CAAC,GAAc,EAAE,UAAsB;IAC1D,OAAO,EAAE,CACP,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EAClC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC,EACnD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACjC,gGAAgG;IAChG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,CAC1F,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,GAAG,CAAC,GAAG,QAA4B;IAChD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1C,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,KAAK,UAAU,EAAE,CAAC,GAAG,QAA4B;IAC/C,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1C,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;;;;GAUG;AACI,KAAK,UAAU,QAAQ,CAAC,IAAe,EAAE,UAAsB;IACpE,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAClD,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,kBAAkB,GAAG,GAAG,KAAK,IAAI,CAAC;IACxC,IAAI,kBAAkB,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,CAAC,kBAAkB;IACjC,CAAC;IAED,OAAO,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"find-root.js","sourceRoot":"","sources":["../src/find-root.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDA,4BAaC;AA/DD,6CAA+B;AAI/B,SAAS,WAAW,CAAC,GAAc;IACjC,IAAI,OAAO,GAAG,GAAG,CAAC;IAClB,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,MAAM,KAAK,OAAO;YAAE,OAAO,KAAK,CAAC;QACrC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC;QACjD,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,GAAc,EAAE,UAAsB;IAC1D,OAAO,EAAE,CACP,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EAClC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC,EACnD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACjC,qEAAqE;IACrE,6EAA6E;IAC7E,kFAAkF;IAClF,GAAG,CACD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,EACrC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CACnE,CACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,GAAG,CAAC,GAAG,QAA4B;IAChD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1C,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,KAAK,UAAU,EAAE,CAAC,GAAG,QAA4B;IAC/C,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1C,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;;;;GAUG;AACI,KAAK,UAAU,QAAQ,CAAC,IAAe,EAAE,UAAsB;IACpE,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAClD,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,kBAAkB,GAAG,GAAG,KAAK,IAAI,CAAC;IACxC,IAAI,kBAAkB,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,CAAC,kBAAkB;IACjC,CAAC;IAED,OAAO,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;AACnC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -6,7 +6,7 @@ export * from './context-utils';
6
6
  export * from './find-root';
7
7
  export * from './fixes';
8
8
  export * from './ignore';
9
- export { FILE_TYPE_DIRS, getAppPaths, getFileType, getModulePaths, isApiCall, isAuthorization, isEmail, isFormConfiguration, isKnownGraphQLFile, isKnownLiquidFile, isLayout, isMigration, isPage, isPartial, isSms, PlatformOSFileType, } from '@platformos/platformos-common';
9
+ export { FILE_TYPE_DIRS, getAppPaths, getFileType, getModulePaths, isApiCall, isAuthorization, isEmail, isFormConfiguration, isKnownGraphQLFile, isKnownLiquidFile, isKnownYAMLFile, isLayout, isMigration, isPage, isPartial, isSms, isSupportedSourceFile, PlatformOSFileType, } from '@platformos/platformos-common';
10
10
  export * from './frontmatter';
11
11
  export * from './json';
12
12
  export * from './JSONValidator';
package/dist/index.js CHANGED
@@ -36,7 +36,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
36
36
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.path = exports.PlatformOSFileType = exports.isSms = exports.isPartial = exports.isPage = exports.isMigration = exports.isLayout = exports.isKnownLiquidFile = exports.isKnownGraphQLFile = exports.isFormConfiguration = exports.isEmail = exports.isAuthorization = exports.isApiCall = exports.getModulePaths = exports.getFileType = exports.getAppPaths = exports.FILE_TYPE_DIRS = void 0;
39
+ exports.path = exports.PlatformOSFileType = exports.isSupportedSourceFile = exports.isSms = exports.isPartial = exports.isPage = exports.isMigration = exports.isLayout = exports.isKnownYAMLFile = exports.isKnownLiquidFile = exports.isKnownGraphQLFile = exports.isFormConfiguration = exports.isEmail = exports.isAuthorization = exports.isApiCall = exports.getModulePaths = exports.getFileType = exports.getAppPaths = exports.FILE_TYPE_DIRS = void 0;
40
40
  exports.check = check;
41
41
  const AugmentedPlatformOSDocset_1 = require("./AugmentedPlatformOSDocset");
42
42
  const JSONValidator_1 = require("./JSONValidator");
@@ -65,11 +65,13 @@ Object.defineProperty(exports, "isEmail", { enumerable: true, get: function () {
65
65
  Object.defineProperty(exports, "isFormConfiguration", { enumerable: true, get: function () { return platformos_common_1.isFormConfiguration; } });
66
66
  Object.defineProperty(exports, "isKnownGraphQLFile", { enumerable: true, get: function () { return platformos_common_1.isKnownGraphQLFile; } });
67
67
  Object.defineProperty(exports, "isKnownLiquidFile", { enumerable: true, get: function () { return platformos_common_1.isKnownLiquidFile; } });
68
+ Object.defineProperty(exports, "isKnownYAMLFile", { enumerable: true, get: function () { return platformos_common_1.isKnownYAMLFile; } });
68
69
  Object.defineProperty(exports, "isLayout", { enumerable: true, get: function () { return platformos_common_1.isLayout; } });
69
70
  Object.defineProperty(exports, "isMigration", { enumerable: true, get: function () { return platformos_common_1.isMigration; } });
70
71
  Object.defineProperty(exports, "isPage", { enumerable: true, get: function () { return platformos_common_1.isPage; } });
71
72
  Object.defineProperty(exports, "isPartial", { enumerable: true, get: function () { return platformos_common_1.isPartial; } });
72
73
  Object.defineProperty(exports, "isSms", { enumerable: true, get: function () { return platformos_common_1.isSms; } });
74
+ Object.defineProperty(exports, "isSupportedSourceFile", { enumerable: true, get: function () { return platformos_common_1.isSupportedSourceFile; } });
73
75
  Object.defineProperty(exports, "PlatformOSFileType", { enumerable: true, get: function () { return platformos_common_1.PlatformOSFileType; } });
74
76
  __exportStar(require("./frontmatter"), exports);
75
77
  __exportStar(require("./json"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}