@platformos/platformos-check-common 0.0.19 → 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.
- package/CHANGELOG.md +12 -0
- package/dist/checks/index.js +4 -0
- package/dist/checks/index.js.map +1 -1
- package/dist/checks/missing-content-for-layout/index.d.ts +2 -0
- package/dist/checks/missing-content-for-layout/index.js +89 -0
- package/dist/checks/missing-content-for-layout/index.js.map +1 -0
- package/dist/checks/reserved-variable-name/index.d.ts +2 -0
- package/dist/checks/reserved-variable-name/index.js +82 -0
- package/dist/checks/reserved-variable-name/index.js.map +1 -0
- package/dist/checks/unused-assign/index.js +4 -0
- package/dist/checks/unused-assign/index.js.map +1 -1
- package/dist/checks/utils.d.ts +7 -0
- package/dist/checks/utils.js +8 -0
- package/dist/checks/utils.js.map +1 -1
- package/dist/find-root.js +15 -2
- package/dist/find-root.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/liquid-doc/utils.d.ts +1 -1
- package/dist/to-source-code.d.ts +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types.d.ts +10 -0
- package/dist/types.js.map +1 -1
- package/package.json +2 -2
- package/src/checks/index.ts +4 -0
- package/src/checks/liquid-html-syntax-error/checks/InvalidTagSyntax.spec.ts +23 -0
- package/src/checks/missing-content-for-layout/index.spec.ts +84 -0
- package/src/checks/missing-content-for-layout/index.ts +94 -0
- package/src/checks/missing-page/index.spec.ts +94 -0
- package/src/checks/reserved-variable-name/index.spec.ts +142 -0
- package/src/checks/reserved-variable-name/index.ts +85 -0
- package/src/checks/unused-assign/index.spec.ts +13 -0
- package/src/checks/unused-assign/index.ts +4 -1
- package/src/checks/utils.ts +11 -0
- package/src/find-root.ts +17 -2
- package/src/index.ts +2 -0
- package/src/types.ts +19 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
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
|
+
|
|
3
15
|
## 0.0.19
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
package/dist/checks/index.js
CHANGED
|
@@ -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:
|
package/dist/checks/index.js.map
CHANGED
|
@@ -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;
|
|
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"}
|
|
@@ -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,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":"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"}
|
|
@@ -87,6 +87,10 @@ exports.UnusedAssign = {
|
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
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;
|
|
90
94
|
if (!usedVariables.has(variable) && !variable.startsWith('_')) {
|
|
91
95
|
context.report({
|
|
92
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":";;;AAAA,uEAMwC;AACxC,uCAA8E;AAC9E,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checks/unused-assign/index.ts"],"names":[],"mappings":"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"}
|
package/dist/checks/utils.d.ts
CHANGED
|
@@ -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>;
|
package/dist/checks/utils.js
CHANGED
|
@@ -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
|
}
|
package/dist/checks/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/checks/utils.ts"],"names":[],"mappings":"
|
|
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
|
|
41
|
-
|
|
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);
|
package/dist/find-root.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-root.js","sourceRoot":"","sources":["../src/find-root.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,7 @@ export declare enum SupportedDocTagTypes {
|
|
|
25
25
|
/**
|
|
26
26
|
* Provides a default completion value for an argument / parameter of a given type.
|
|
27
27
|
*/
|
|
28
|
-
export declare function getDefaultValueForType(type: string | null): "" | "
|
|
28
|
+
export declare function getDefaultValueForType(type: string | null): "''" | "0" | "false" | "";
|
|
29
29
|
/**
|
|
30
30
|
* Casts the value of a LiquidNamedArgument to a string representing the type of the value.
|
|
31
31
|
*/
|
package/dist/to-source-code.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { GraphQLDocumentNode, GraphQLSourceCode, JSONNode, JSONSourceCode, LiquidSourceCode, YAMLSourceCode } from './types';
|
|
2
|
-
export declare function toLiquidHTMLAST(source: string):
|
|
2
|
+
export declare function toLiquidHTMLAST(source: string): import("@platformos/liquid-html-parser").DocumentNode | Error;
|
|
3
3
|
export declare function toJSONAST(source: string): JSONNode | Error;
|
|
4
4
|
export declare function toYAMLAST(source: string): JSONNode | Error;
|
|
5
5
|
export declare function toGraphQLAST(source: string): GraphQLDocumentNode | Error;
|