@platformos/platformos-check-common 0.0.7 → 0.0.8
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 +8 -0
- package/dist/AugmentedPlatformOSDocset.d.ts +11 -0
- package/dist/AugmentedPlatformOSDocset.js +81 -0
- package/dist/AugmentedPlatformOSDocset.js.map +1 -0
- package/dist/JSONValidator.js +1 -1
- package/dist/JSONValidator.js.map +1 -1
- package/dist/checks/deprecated-filter/index.js +4 -41
- package/dist/checks/deprecated-filter/index.js.map +1 -1
- package/dist/checks/deprecated-tag/index.js +21 -22
- package/dist/checks/deprecated-tag/index.js.map +1 -1
- package/dist/checks/duplicate-function-arguments/index.js +1 -1
- package/dist/checks/duplicate-function-arguments/index.js.map +1 -1
- package/dist/checks/duplicate-render-partial-arguments/index.js +1 -1
- package/dist/checks/duplicate-render-partial-arguments/index.js.map +1 -1
- package/dist/checks/graphql/index.js +1 -1
- package/dist/checks/graphql/index.js.map +1 -1
- package/dist/checks/img-width-and-height/index.js +1 -1
- package/dist/checks/img-width-and-height/index.js.map +1 -1
- package/dist/checks/index.d.ts +3 -3
- package/dist/checks/index.js +4 -79
- package/dist/checks/index.js.map +1 -1
- package/dist/checks/json-syntax-error/index.js +1 -1
- package/dist/checks/json-syntax-error/index.js.map +1 -1
- package/dist/checks/liquid-html-syntax-error/index.js +2 -2
- package/dist/checks/liquid-html-syntax-error/index.js.map +1 -1
- package/dist/checks/matching-translations/index.d.ts +2 -2
- package/dist/checks/matching-translations/index.js +20 -31
- package/dist/checks/matching-translations/index.js.map +1 -1
- package/dist/checks/metadata-params/index.js +6 -3
- package/dist/checks/metadata-params/index.js.map +1 -1
- package/dist/checks/missing-asset/index.js +1 -1
- package/dist/checks/missing-asset/index.js.map +1 -1
- package/dist/checks/missing-partial/index.d.ts +6 -0
- package/dist/checks/missing-partial/index.js +70 -0
- package/dist/checks/missing-partial/index.js.map +1 -0
- package/dist/checks/orphaned-partial/index.js +4 -4
- package/dist/checks/orphaned-partial/index.js.map +1 -1
- package/dist/checks/parser-blocking-script/index.js +10 -36
- package/dist/checks/parser-blocking-script/index.js.map +1 -1
- package/dist/checks/parser-blocking-script/suggestions.d.ts +1 -2
- package/dist/checks/parser-blocking-script/suggestions.js +1 -11
- package/dist/checks/parser-blocking-script/suggestions.js.map +1 -1
- package/dist/checks/reserved-doc-param-names/index.js +6 -5
- package/dist/checks/reserved-doc-param-names/index.js.map +1 -1
- package/dist/checks/translation-key-exists/index.js +1 -1
- package/dist/checks/translation-key-exists/index.js.map +1 -1
- package/dist/checks/unclosed-html-element/index.js +5 -1
- package/dist/checks/unclosed-html-element/index.js.map +1 -1
- package/dist/checks/undefined-object/index.js +7 -30
- package/dist/checks/undefined-object/index.js.map +1 -1
- package/dist/checks/unique-doc-param-names/index.js +1 -1
- package/dist/checks/unique-doc-param-names/index.js.map +1 -1
- package/dist/checks/unknown-filter/index.js +3 -3
- package/dist/checks/unknown-filter/index.js.map +1 -1
- package/dist/checks/unknown-property/index.js +1 -1
- package/dist/checks/unknown-property/index.js.map +1 -1
- package/dist/checks/unrecognized-render-partial-arguments/index.js +2 -2
- package/dist/checks/unrecognized-render-partial-arguments/index.js.map +1 -1
- package/dist/checks/unused-assign/index.js +1 -1
- package/dist/checks/unused-assign/index.js.map +1 -1
- package/dist/checks/unused-doc-param/index.js +1 -1
- package/dist/checks/unused-doc-param/index.js.map +1 -1
- package/dist/checks/utils.js +1 -1
- package/dist/checks/utils.js.map +1 -1
- package/dist/checks/valid-content-for-arguments/index.js +1 -1
- package/dist/checks/valid-content-for-arguments/index.js.map +1 -1
- package/dist/checks/valid-doc-param-types/index.js +4 -4
- package/dist/checks/valid-doc-param-types/index.js.map +1 -1
- package/dist/checks/valid-html-translation/index.d.ts +2 -2
- package/dist/checks/valid-html-translation/index.js +4 -4
- package/dist/checks/valid-html-translation/index.js.map +1 -1
- package/dist/checks/valid-json/index.js +1 -1
- package/dist/checks/valid-json/index.js.map +1 -1
- package/dist/checks/valid-render-partial-argument-types/index.js +2 -2
- package/dist/checks/valid-render-partial-argument-types/index.js.map +1 -1
- package/dist/checks/variable-name/index.js +1 -1
- package/dist/checks/variable-name/index.js.map +1 -1
- package/dist/context-utils.d.ts +2 -7
- package/dist/context-utils.js +39 -109
- package/dist/context-utils.js.map +1 -1
- package/dist/disabled-checks/index.js +4 -2
- package/dist/disabled-checks/index.js.map +1 -1
- package/dist/doc-generator/DocBlockGenerator.d.ts +16 -0
- package/dist/doc-generator/DocBlockGenerator.js +464 -0
- package/dist/doc-generator/DocBlockGenerator.js.map +1 -0
- package/dist/doc-generator/index.d.ts +1 -0
- package/dist/doc-generator/index.js +6 -0
- package/dist/doc-generator/index.js.map +1 -0
- package/dist/find-root.d.ts +7 -10
- package/dist/find-root.js +10 -17
- package/dist/find-root.js.map +1 -1
- package/dist/fixes/autofix.d.ts +4 -4
- package/dist/fixes/autofix.js +2 -2
- package/dist/fixes/autofix.js.map +1 -1
- package/dist/fixes/correctors/index.js +4 -0
- package/dist/fixes/correctors/index.js.map +1 -1
- package/dist/index.d.ts +4 -5
- package/dist/index.js +34 -17
- package/dist/index.js.map +1 -1
- package/dist/jsonc/parse.d.ts +1 -1
- package/dist/jsonc/parse.js +1 -1
- package/dist/liquid-doc/arguments.d.ts +7 -8
- package/dist/liquid-doc/arguments.js +20 -28
- package/dist/liquid-doc/arguments.js.map +1 -1
- package/dist/liquid-doc/liquidDoc.d.ts +1 -1
- package/dist/liquid-doc/liquidDoc.js.map +1 -1
- package/dist/liquid-doc/utils.d.ts +1 -1
- package/dist/liquid-doc/utils.js +4 -3
- package/dist/liquid-doc/utils.js.map +1 -1
- package/dist/path.d.ts +1 -0
- package/dist/path.js +5 -1
- package/dist/path.js.map +1 -1
- package/dist/test/MockApp.d.ts +16 -0
- package/dist/test/MockApp.js +16 -0
- package/dist/test/MockApp.js.map +1 -0
- package/dist/test/MockFileSystem.d.ts +3 -3
- package/dist/test/MockFileSystem.js +6 -6
- package/dist/test/MockFileSystem.js.map +1 -1
- package/dist/test/index.d.ts +1 -1
- package/dist/test/index.js +1 -1
- package/dist/test/index.js.map +1 -1
- package/dist/test/test-helper.d.ts +10 -9
- package/dist/test/test-helper.js +15 -106
- package/dist/test/test-helper.js.map +1 -1
- package/dist/to-schema.d.ts +1 -1
- package/dist/to-source-code.d.ts +3 -2
- package/dist/to-source-code.js +20 -0
- package/dist/to-source-code.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/platformos-liquid-docs.d.ts +128 -0
- package/dist/types/platformos-liquid-docs.js +3 -0
- package/dist/types/platformos-liquid-docs.js.map +1 -0
- package/dist/types/schemas/index.d.ts +0 -2
- package/dist/types/schemas/index.js.map +1 -1
- package/dist/types.d.ts +18 -67
- package/dist/types.js +3 -5
- package/dist/types.js.map +1 -1
- package/dist/utils/block.js.map +1 -1
- package/dist/utils/index.d.ts +0 -1
- package/dist/utils/index.js +0 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/yaml/parse.d.ts +5 -0
- package/dist/yaml/parse.js +94 -0
- package/dist/yaml/parse.js.map +1 -0
- package/package.json +4 -3
- package/src/{AugmentedThemeDocset.spec.ts → AugmentedPlatformOSDocset.spec.ts} +47 -34
- package/src/AugmentedPlatformOSDocset.ts +89 -0
- package/src/JSONValidator.ts +1 -1
- package/src/checks/deprecated-filter/index.spec.ts +76 -248
- package/src/checks/deprecated-filter/index.ts +5 -53
- package/src/checks/deprecated-tag/index.spec.ts +85 -34
- package/src/checks/deprecated-tag/index.ts +27 -22
- package/src/checks/duplicate-function-arguments/index.ts +1 -1
- package/src/checks/duplicate-render-partial-arguments/index.ts +1 -1
- package/src/checks/graphql/index.ts +1 -1
- package/src/checks/img-width-and-height/index.ts +1 -1
- package/src/checks/index.ts +11 -80
- package/src/checks/invalid-hash-assign-target/index.spec.ts +14 -14
- package/src/checks/json-syntax-error/index.ts +1 -1
- package/src/checks/liquid-html-syntax-error/checks/InvalidBooleanExpression.spec.ts +0 -11
- package/src/checks/liquid-html-syntax-error/checks/InvalidLoopArguments.spec.ts +1 -2
- package/src/checks/liquid-html-syntax-error/index.spec.ts +1 -6
- package/src/checks/liquid-html-syntax-error/index.ts +2 -2
- package/src/checks/matching-translations/index.spec.ts +89 -346
- package/src/checks/matching-translations/index.ts +24 -35
- package/src/checks/metadata-params/index.ts +5 -7
- package/src/checks/missing-asset/index.ts +1 -1
- package/src/checks/{missing-template → missing-partial}/index.spec.ts +6 -6
- package/src/checks/{missing-template → missing-partial}/index.ts +6 -20
- package/src/checks/orphaned-partial/index.ts +3 -3
- package/src/checks/parser-blocking-script/index.spec.ts +0 -118
- package/src/checks/parser-blocking-script/index.ts +3 -33
- package/src/checks/parser-blocking-script/suggestions.ts +1 -28
- package/src/checks/translation-key-exists/index.ts +1 -1
- package/src/checks/unclosed-html-element/index.ts +5 -1
- package/src/checks/undefined-object/index.spec.ts +3 -109
- package/src/checks/undefined-object/index.ts +8 -33
- package/src/checks/unique-doc-param-names/index.ts +1 -1
- package/src/checks/unknown-filter/index.spec.ts +2 -2
- package/src/checks/unknown-filter/index.ts +3 -3
- package/src/checks/unknown-property/index.ts +1 -1
- package/src/checks/unrecognized-render-partial-arguments/index.spec.ts +5 -5
- package/src/checks/unrecognized-render-partial-arguments/index.ts +2 -5
- package/src/checks/unused-assign/index.spec.ts +0 -30
- package/src/checks/unused-assign/index.ts +1 -1
- package/src/checks/unused-doc-param/index.ts +1 -1
- package/src/checks/utils.ts +1 -1
- package/src/checks/valid-doc-param-types/index.ts +4 -4
- package/src/checks/valid-html-translation/index.spec.ts +42 -32
- package/src/checks/valid-html-translation/index.ts +7 -7
- package/src/checks/valid-json/index.ts +1 -1
- package/src/checks/valid-render-partial-argument-types/index.ts +2 -5
- package/src/checks/variable-name/index.ts +1 -1
- package/src/context-utils.spec.ts +49 -77
- package/src/context-utils.ts +39 -128
- package/src/disabled-checks/index.spec.ts +35 -0
- package/src/disabled-checks/index.ts +4 -2
- package/src/find-root.ts +12 -22
- package/src/fixes/autofix.spec.ts +2 -2
- package/src/fixes/autofix.ts +4 -4
- package/src/fixes/correctors/index.ts +4 -0
- package/src/ignore.spec.ts +0 -1
- package/src/index.ts +33 -21
- package/src/jsonc/parse.ts +1 -1
- package/src/liquid-doc/arguments.spec.ts +19 -45
- package/src/liquid-doc/arguments.ts +26 -39
- package/src/liquid-doc/liquidDoc.ts +1 -2
- package/src/liquid-doc/utils.ts +4 -3
- package/src/path.ts +1 -0
- package/src/test/{MockTheme.ts → MockApp.ts} +1 -1
- package/src/test/MockFileSystem.ts +6 -6
- package/src/test/index.ts +1 -1
- package/src/test/test-helper.ts +29 -127
- package/src/to-source-code.ts +20 -1
- package/src/types/{theme-liquid-docs.ts → platformos-liquid-docs.ts} +8 -13
- package/src/types/schemas/index.ts +0 -2
- package/src/types.ts +21 -92
- package/src/utils/index.ts +0 -1
- package/src/yaml/parse.ts +111 -0
- package/src/AugmentedThemeDocset.ts +0 -137
- package/src/checks/app-block-missing-schema/index.spec.ts +0 -121
- package/src/checks/app-block-missing-schema/index.ts +0 -46
- package/src/checks/app-block-valid-tags/index.spec.ts +0 -96
- package/src/checks/app-block-valid-tags/index.ts +0 -54
- package/src/checks/asset-preload/index.spec.ts +0 -78
- package/src/checks/asset-preload/index.ts +0 -65
- package/src/checks/asset-size-app-block-css/index.spec.ts +0 -88
- package/src/checks/asset-size-app-block-css/index.ts +0 -78
- package/src/checks/asset-size-app-block-javascript/index.spec.ts +0 -66
- package/src/checks/asset-size-app-block-javascript/index.ts +0 -78
- package/src/checks/asset-size-css/index.spec.ts +0 -166
- package/src/checks/asset-size-css/index.ts +0 -160
- package/src/checks/asset-size-javascript/index.spec.ts +0 -184
- package/src/checks/asset-size-javascript/index.ts +0 -144
- package/src/checks/block-id-usage/index.spec.ts +0 -76
- package/src/checks/block-id-usage/index.ts +0 -72
- package/src/checks/cdn-preconnect/index.spec.ts +0 -40
- package/src/checks/cdn-preconnect/index.ts +0 -43
- package/src/checks/content-for-header-modification/index.spec.ts +0 -65
- package/src/checks/content-for-header-modification/index.ts +0 -72
- package/src/checks/deprecate-bgsizes/index.spec.ts +0 -41
- package/src/checks/deprecate-bgsizes/index.ts +0 -49
- package/src/checks/deprecate-lazysizes/index.spec.ts +0 -26
- package/src/checks/deprecate-lazysizes/index.ts +0 -58
- package/src/checks/deprecated-filter/fixes.ts +0 -264
- package/src/checks/deprecated-fonts-on-sections-and-blocks/deprecated-fonts-data.ts +0 -1343
- package/src/checks/deprecated-fonts-on-sections-and-blocks/index.spec.ts +0 -613
- package/src/checks/deprecated-fonts-on-sections-and-blocks/index.ts +0 -284
- package/src/checks/deprecated-fonts-on-settings-schema/index.spec.ts +0 -102
- package/src/checks/deprecated-fonts-on-settings-schema/index.ts +0 -66
- package/src/checks/duplicate-content-for-arguments/index.spec.ts +0 -98
- package/src/checks/duplicate-content-for-arguments/index.ts +0 -43
- package/src/checks/empty-block-content/index.spec.ts +0 -117
- package/src/checks/empty-block-content/index.ts +0 -60
- package/src/checks/hardcoded-routes/index.spec.ts +0 -58
- package/src/checks/hardcoded-routes/index.ts +0 -100
- package/src/checks/json-missing-block/index.spec.ts +0 -435
- package/src/checks/json-missing-block/index.ts +0 -56
- package/src/checks/json-missing-block/missing-block-utils.ts +0 -147
- package/src/checks/liquid-free-settings/index.spec.ts +0 -180
- package/src/checks/liquid-free-settings/index.ts +0 -79
- package/src/checks/missing-content-for-arguments/index.spec.ts +0 -144
- package/src/checks/missing-content-for-arguments/index.ts +0 -46
- package/src/checks/pagination-size/index.spec.ts +0 -158
- package/src/checks/pagination-size/index.ts +0 -104
- package/src/checks/remote-asset/index.spec.ts +0 -280
- package/src/checks/remote-asset/index.ts +0 -238
- package/src/checks/reserved-doc-param-names/index.spec.ts +0 -62
- package/src/checks/reserved-doc-param-names/index.ts +0 -57
- package/src/checks/schema-presets-block-order/index.spec.ts +0 -344
- package/src/checks/schema-presets-block-order/index.ts +0 -154
- package/src/checks/schema-presets-static-blocks/index.spec.ts +0 -145
- package/src/checks/schema-presets-static-blocks/index.ts +0 -126
- package/src/checks/static-stylesheet-and-javascript-tags/index.spec.ts +0 -257
- package/src/checks/static-stylesheet-and-javascript-tags/index.ts +0 -48
- package/src/checks/unique-settings-id/index.spec.ts +0 -24
- package/src/checks/unique-settings-id/index.ts +0 -84
- package/src/checks/unique-settings-id/test-data.ts +0 -1191
- package/src/checks/unique-static-block-id/index.spec.ts +0 -55
- package/src/checks/unique-static-block-id/index.ts +0 -60
- package/src/checks/unrecognized-content-for-arguments/index.spec.ts +0 -145
- package/src/checks/unrecognized-content-for-arguments/index.ts +0 -55
- package/src/checks/valid-block-target/index.spec.ts +0 -1396
- package/src/checks/valid-block-target/index.ts +0 -142
- package/src/checks/valid-content-for-argument-types/index.spec.ts +0 -382
- package/src/checks/valid-content-for-argument-types/index.ts +0 -42
- package/src/checks/valid-content-for-arguments/index.spec.ts +0 -107
- package/src/checks/valid-content-for-arguments/index.ts +0 -98
- package/src/checks/valid-local-blocks/index.spec.ts +0 -286
- package/src/checks/valid-local-blocks/index.ts +0 -100
- package/src/checks/valid-local-blocks/valid-block-utils.ts +0 -97
- package/src/checks/valid-schema/index.spec.ts +0 -174
- package/src/checks/valid-schema/index.ts +0 -41
- package/src/checks/valid-schema-name/index.spec.ts +0 -112
- package/src/checks/valid-schema-name/index.ts +0 -75
- package/src/checks/valid-settings-key/index.spec.ts +0 -321
- package/src/checks/valid-settings-key/index.ts +0 -144
- package/src/checks/valid-static-block-type/index.spec.ts +0 -38
- package/src/checks/valid-static-block-type/index.ts +0 -58
- package/src/checks/valid-visible-if/index.spec.ts +0 -619
- package/src/checks/valid-visible-if/index.ts +0 -184
- package/src/checks/valid-visible-if/visible-if-utils.ts +0 -158
- package/src/tags/content-for.ts +0 -25
- package/src/to-schema.ts +0 -231
- package/src/types/schemas/section.ts +0 -86
- package/src/types/schemas/theme-block.ts +0 -34
- package/src/types/theme-schemas.ts +0 -80
- package/src/utils/block.ts +0 -300
- package/src/utils/markup.ts +0 -10
|
@@ -0,0 +1,464 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateDocBlock = generateDocBlock;
|
|
4
|
+
const liquid_html_parser_1 = require("@platformos/liquid-html-parser");
|
|
5
|
+
const utils_1 = require("../utils");
|
|
6
|
+
const visitor_1 = require("../visitor");
|
|
7
|
+
const utils_2 = require("../liquid-doc/utils");
|
|
8
|
+
/**
|
|
9
|
+
* Generate a doc block for a partial/block based on detected parameters and inferred types.
|
|
10
|
+
*/
|
|
11
|
+
async function generateDocBlock(ast, uri, themeDocset) {
|
|
12
|
+
if ((0, utils_1.isError)(ast)) {
|
|
13
|
+
return {
|
|
14
|
+
parameters: [],
|
|
15
|
+
hasExistingDocBlock: false,
|
|
16
|
+
docBlockText: '',
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
// Check for existing doc block
|
|
20
|
+
const hasExistingDocBlock = await hasDocBlock(ast);
|
|
21
|
+
// Get global objects that should not be treated as parameters
|
|
22
|
+
const globalObjectNames = await getGlobalObjectNames(themeDocset);
|
|
23
|
+
// Get contextual objects based on file path
|
|
24
|
+
const contextualObjectNames = getContextualObjects(uri);
|
|
25
|
+
// Collect all variable usages and definitions
|
|
26
|
+
const { usages, definedVariables, docParamNames } = await collectVariableInfo(ast);
|
|
27
|
+
// Detect parameters: variables used but not defined (excluding globals/contextuals)
|
|
28
|
+
const excludedNames = new Set([
|
|
29
|
+
...globalObjectNames,
|
|
30
|
+
...contextualObjectNames,
|
|
31
|
+
...definedVariables,
|
|
32
|
+
...docParamNames,
|
|
33
|
+
]);
|
|
34
|
+
const parameterUsages = new Map();
|
|
35
|
+
for (const usage of usages) {
|
|
36
|
+
if (!usage.name || excludedNames.has(usage.name))
|
|
37
|
+
continue;
|
|
38
|
+
// Group usages by parameter name
|
|
39
|
+
if (!parameterUsages.has(usage.name)) {
|
|
40
|
+
parameterUsages.set(usage.name, []);
|
|
41
|
+
}
|
|
42
|
+
parameterUsages.get(usage.name).push(usage);
|
|
43
|
+
}
|
|
44
|
+
// Infer types and detect optional parameters
|
|
45
|
+
const parameters = [];
|
|
46
|
+
for (const [name, usageList] of parameterUsages) {
|
|
47
|
+
const type = inferTypeFromUsages(usageList);
|
|
48
|
+
const isOptional = detectOptional(usageList);
|
|
49
|
+
parameters.push({ name, type, isOptional });
|
|
50
|
+
}
|
|
51
|
+
// Sort parameters: required first, then by name
|
|
52
|
+
parameters.sort((a, b) => {
|
|
53
|
+
if (a.isOptional !== b.isOptional) {
|
|
54
|
+
return a.isOptional ? 1 : -1;
|
|
55
|
+
}
|
|
56
|
+
return a.name.localeCompare(b.name);
|
|
57
|
+
});
|
|
58
|
+
// Generate doc block text
|
|
59
|
+
const docBlockText = formatDocBlock(parameters);
|
|
60
|
+
return {
|
|
61
|
+
parameters,
|
|
62
|
+
hasExistingDocBlock,
|
|
63
|
+
docBlockText,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Check if the AST already has a {% doc %} block.
|
|
68
|
+
*/
|
|
69
|
+
async function hasDocBlock(ast) {
|
|
70
|
+
let found = false;
|
|
71
|
+
await (0, visitor_1.visit)(ast, {
|
|
72
|
+
async LiquidRawTag(node) {
|
|
73
|
+
if (node.name === 'doc') {
|
|
74
|
+
found = true;
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
});
|
|
78
|
+
return found;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Get global object names from the theme docset.
|
|
82
|
+
*/
|
|
83
|
+
async function getGlobalObjectNames(themeDocset) {
|
|
84
|
+
if (!themeDocset)
|
|
85
|
+
return new Set();
|
|
86
|
+
const objects = await themeDocset.objects();
|
|
87
|
+
const globalObjects = objects.filter(({ access }) => {
|
|
88
|
+
return !access || access.global === true || access.template.length > 0;
|
|
89
|
+
});
|
|
90
|
+
return new Set(globalObjects.map((obj) => obj.name));
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Get contextual objects based on file path.
|
|
94
|
+
*/
|
|
95
|
+
function getContextualObjects(uri) {
|
|
96
|
+
if (uri.includes('layout/checkout.liquid')) {
|
|
97
|
+
return [
|
|
98
|
+
'locale',
|
|
99
|
+
'direction',
|
|
100
|
+
'skip_to_content_link',
|
|
101
|
+
'checkout_html_classes',
|
|
102
|
+
'checkout_stylesheets',
|
|
103
|
+
'checkout_scripts',
|
|
104
|
+
'content_for_logo',
|
|
105
|
+
'breadcrumb',
|
|
106
|
+
'order_summary_toggle',
|
|
107
|
+
'content_for_order_summary',
|
|
108
|
+
'alternative_payment_methods',
|
|
109
|
+
'content_for_footer',
|
|
110
|
+
'tracking_code',
|
|
111
|
+
];
|
|
112
|
+
}
|
|
113
|
+
if (uri.includes('/sections/')) {
|
|
114
|
+
return ['section', 'predictive_search', 'recommendations', 'comment'];
|
|
115
|
+
}
|
|
116
|
+
if (uri.includes('/blocks/')) {
|
|
117
|
+
return ['app', 'section', 'recommendations', 'block'];
|
|
118
|
+
}
|
|
119
|
+
if (uri.includes('views/partials/') || uri.includes('/lib/')) {
|
|
120
|
+
return ['app'];
|
|
121
|
+
}
|
|
122
|
+
return [];
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Collect all variable usages and defined variables from the AST.
|
|
126
|
+
*/
|
|
127
|
+
async function collectVariableInfo(ast) {
|
|
128
|
+
const scopedVariables = new Map();
|
|
129
|
+
const fileScopedVariables = new Set();
|
|
130
|
+
const usages = [];
|
|
131
|
+
const docParamNames = new Set();
|
|
132
|
+
function indexVariableScope(variableName, scope) {
|
|
133
|
+
if (!variableName)
|
|
134
|
+
return;
|
|
135
|
+
const indexedScope = scopedVariables.get(variableName) ?? [];
|
|
136
|
+
scopedVariables.set(variableName, indexedScope.concat(scope));
|
|
137
|
+
}
|
|
138
|
+
await (0, visitor_1.visit)(ast, {
|
|
139
|
+
async LiquidDocParamNode(node) {
|
|
140
|
+
const paramName = node.paramName?.value;
|
|
141
|
+
if (paramName) {
|
|
142
|
+
fileScopedVariables.add(paramName);
|
|
143
|
+
docParamNames.add(paramName);
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
async LiquidTag(node, ancestors) {
|
|
147
|
+
if (isLiquidTagAssign(node) || isLiquidTagGraphQL(node)) {
|
|
148
|
+
indexVariableScope(node.markup.name, {
|
|
149
|
+
start: node.blockStartPosition.end,
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
if (isLiquidTagHashAssign(node) && node.markup.target.name) {
|
|
153
|
+
indexVariableScope(node.markup.target.name, {
|
|
154
|
+
start: node.blockStartPosition.end,
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
if (isLiquidTagCapture(node)) {
|
|
158
|
+
indexVariableScope(node.markup.name, {
|
|
159
|
+
start: node.blockEndPosition?.end,
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
if (['form', 'paginate'].includes(node.name)) {
|
|
163
|
+
indexVariableScope(node.name, {
|
|
164
|
+
start: node.blockStartPosition.end,
|
|
165
|
+
end: node.blockEndPosition?.start,
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
if (node.name === 'function') {
|
|
169
|
+
indexVariableScope(node.markup.name, {
|
|
170
|
+
start: node.position.end,
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
if (node.name === 'layout') {
|
|
174
|
+
indexVariableScope('none', {
|
|
175
|
+
start: node.position.start,
|
|
176
|
+
end: node.position.end,
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
if ((isLiquidTagIncrement(node) || isLiquidTagDecrement(node)) &&
|
|
180
|
+
node.markup.name !== null) {
|
|
181
|
+
indexVariableScope(node.markup.name, {
|
|
182
|
+
start: node.position.start,
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
if (isLiquidForTag(node) || isLiquidTableRowTag(node)) {
|
|
186
|
+
indexVariableScope(node.markup.variableName, {
|
|
187
|
+
start: node.blockStartPosition.end,
|
|
188
|
+
end: node.blockEndPosition?.start,
|
|
189
|
+
});
|
|
190
|
+
indexVariableScope(node.name === 'for' ? 'forloop' : 'tablerowloop', {
|
|
191
|
+
start: node.blockStartPosition.end,
|
|
192
|
+
end: node.blockEndPosition?.start,
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
if (isLiquidTagBackground(node)) {
|
|
196
|
+
indexVariableScope(node.markup.jobId.name, {
|
|
197
|
+
start: node.blockEndPosition?.end,
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
},
|
|
201
|
+
async LiquidVariable(node, ancestors) {
|
|
202
|
+
// Collect variable usages from LiquidVariable nodes
|
|
203
|
+
const expression = node.expression;
|
|
204
|
+
if (expression.type === liquid_html_parser_1.NodeTypes.VariableLookup && expression.name) {
|
|
205
|
+
usages.push({
|
|
206
|
+
name: expression.name,
|
|
207
|
+
lookup: expression,
|
|
208
|
+
filters: node.filters,
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
},
|
|
212
|
+
async VariableLookup(node, ancestors) {
|
|
213
|
+
const parent = (0, utils_1.last)(ancestors);
|
|
214
|
+
// Skip if inside capture tag markup (being defined, not used)
|
|
215
|
+
if (isLiquidTag(parent) && isLiquidTagCapture(parent))
|
|
216
|
+
return;
|
|
217
|
+
// Skip the jobId variable in background tag markup
|
|
218
|
+
if (isBackgroundInlineMarkup(parent) && parent.jobId === node)
|
|
219
|
+
return;
|
|
220
|
+
// Skip if this is a LiquidVariable's expression (already collected above)
|
|
221
|
+
if (parent &&
|
|
222
|
+
'expression' in parent &&
|
|
223
|
+
parent.expression === node) {
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
if (node.name) {
|
|
227
|
+
usages.push({
|
|
228
|
+
name: node.name,
|
|
229
|
+
lookup: node,
|
|
230
|
+
filters: [],
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
},
|
|
234
|
+
});
|
|
235
|
+
// Filter usages to only those that are undefined at their usage point
|
|
236
|
+
const undefinedUsages = usages.filter((usage) => {
|
|
237
|
+
if (!usage.name)
|
|
238
|
+
return false;
|
|
239
|
+
return !isDefined(usage.name, usage.lookup.position, fileScopedVariables, scopedVariables);
|
|
240
|
+
});
|
|
241
|
+
// Get all defined variables (both file-scoped and scoped)
|
|
242
|
+
const definedVariables = new Set([
|
|
243
|
+
...fileScopedVariables,
|
|
244
|
+
...scopedVariables.keys(),
|
|
245
|
+
]);
|
|
246
|
+
return { usages: undefinedUsages, definedVariables, docParamNames };
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Check if a variable is defined at a given position.
|
|
250
|
+
*/
|
|
251
|
+
function isDefined(variableName, variablePosition, fileScopedVariables, scopedVariables) {
|
|
252
|
+
if (fileScopedVariables.has(variableName)) {
|
|
253
|
+
return true;
|
|
254
|
+
}
|
|
255
|
+
const scopes = scopedVariables.get(variableName);
|
|
256
|
+
if (!scopes) {
|
|
257
|
+
return false;
|
|
258
|
+
}
|
|
259
|
+
return scopes.some((scope) => isDefinedInScope(variablePosition, scope));
|
|
260
|
+
}
|
|
261
|
+
function isDefinedInScope(variablePosition, scope) {
|
|
262
|
+
const start = variablePosition.start;
|
|
263
|
+
const isVariableAfterScopeStart = !scope.start || start > scope.start;
|
|
264
|
+
const isVariableBeforeScopeEnd = !scope.end || start < scope.end;
|
|
265
|
+
return isVariableAfterScopeStart && isVariableBeforeScopeEnd;
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Infer type from variable usages.
|
|
269
|
+
*/
|
|
270
|
+
function inferTypeFromUsages(usages) {
|
|
271
|
+
// Analyze all usages to determine the most likely type
|
|
272
|
+
const typeVotes = new Map();
|
|
273
|
+
for (const usage of usages) {
|
|
274
|
+
const inferredType = inferTypeFromUsage(usage);
|
|
275
|
+
if (inferredType) {
|
|
276
|
+
const currentVotes = typeVotes.get(inferredType) || 0;
|
|
277
|
+
typeVotes.set(inferredType, currentVotes + 1);
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
// Return the type with most votes, or 'object' as default
|
|
281
|
+
let bestType = null;
|
|
282
|
+
let maxVotes = 0;
|
|
283
|
+
for (const [type, votes] of typeVotes) {
|
|
284
|
+
if (votes > maxVotes) {
|
|
285
|
+
maxVotes = votes;
|
|
286
|
+
bestType = type;
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
// If no specific type was inferred, check if it has property access (object)
|
|
290
|
+
if (!bestType) {
|
|
291
|
+
for (const usage of usages) {
|
|
292
|
+
if (usage.lookup.lookups.length > 0) {
|
|
293
|
+
return utils_2.BasicParamTypes.Object;
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
return bestType;
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* Infer type from a single variable usage.
|
|
301
|
+
*/
|
|
302
|
+
function inferTypeFromUsage(usage) {
|
|
303
|
+
const { lookup, filters } = usage;
|
|
304
|
+
// Check filters for type hints
|
|
305
|
+
for (const filter of filters) {
|
|
306
|
+
const typeFromFilter = inferTypeFromFilter(filter.name);
|
|
307
|
+
if (typeFromFilter) {
|
|
308
|
+
return typeFromFilter;
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
// Check property access for object type
|
|
312
|
+
if (lookup.lookups.length > 0) {
|
|
313
|
+
return utils_2.BasicParamTypes.Object;
|
|
314
|
+
}
|
|
315
|
+
return null;
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Infer type from filter name.
|
|
319
|
+
*/
|
|
320
|
+
function inferTypeFromFilter(filterName) {
|
|
321
|
+
// Filters that suggest string input
|
|
322
|
+
const stringFilters = [
|
|
323
|
+
'append',
|
|
324
|
+
'prepend',
|
|
325
|
+
'capitalize',
|
|
326
|
+
'downcase',
|
|
327
|
+
'upcase',
|
|
328
|
+
'strip',
|
|
329
|
+
'lstrip',
|
|
330
|
+
'rstrip',
|
|
331
|
+
'strip_html',
|
|
332
|
+
'strip_newlines',
|
|
333
|
+
'newline_to_br',
|
|
334
|
+
'escape',
|
|
335
|
+
'escape_once',
|
|
336
|
+
'url_encode',
|
|
337
|
+
'url_decode',
|
|
338
|
+
'md5',
|
|
339
|
+
'sha1',
|
|
340
|
+
'sha256',
|
|
341
|
+
'base64_encode',
|
|
342
|
+
'base64_decode',
|
|
343
|
+
'hmac_sha1',
|
|
344
|
+
'hmac_sha256',
|
|
345
|
+
'truncate',
|
|
346
|
+
'truncatewords',
|
|
347
|
+
'split',
|
|
348
|
+
'replace',
|
|
349
|
+
'replace_first',
|
|
350
|
+
'remove',
|
|
351
|
+
'remove_first',
|
|
352
|
+
'slice',
|
|
353
|
+
'pluralize',
|
|
354
|
+
];
|
|
355
|
+
// Filters that suggest number input
|
|
356
|
+
const numberFilters = [
|
|
357
|
+
'plus',
|
|
358
|
+
'minus',
|
|
359
|
+
'times',
|
|
360
|
+
'divided_by',
|
|
361
|
+
'modulo',
|
|
362
|
+
'floor',
|
|
363
|
+
'ceil',
|
|
364
|
+
'round',
|
|
365
|
+
'abs',
|
|
366
|
+
'at_least',
|
|
367
|
+
'at_most',
|
|
368
|
+
];
|
|
369
|
+
// Filters that suggest array input
|
|
370
|
+
const arrayFilters = [
|
|
371
|
+
'join',
|
|
372
|
+
'first',
|
|
373
|
+
'last',
|
|
374
|
+
'size',
|
|
375
|
+
'reverse',
|
|
376
|
+
'sort',
|
|
377
|
+
'sort_natural',
|
|
378
|
+
'uniq',
|
|
379
|
+
'compact',
|
|
380
|
+
'map',
|
|
381
|
+
'where',
|
|
382
|
+
'concat',
|
|
383
|
+
];
|
|
384
|
+
if (stringFilters.includes(filterName)) {
|
|
385
|
+
return utils_2.BasicParamTypes.String;
|
|
386
|
+
}
|
|
387
|
+
if (numberFilters.includes(filterName)) {
|
|
388
|
+
return utils_2.BasicParamTypes.Number;
|
|
389
|
+
}
|
|
390
|
+
if (arrayFilters.includes(filterName)) {
|
|
391
|
+
// Array implies object type in LiquidDoc context
|
|
392
|
+
return utils_2.BasicParamTypes.Object;
|
|
393
|
+
}
|
|
394
|
+
return null;
|
|
395
|
+
}
|
|
396
|
+
/**
|
|
397
|
+
* Detect if a parameter is optional (has default filter usage).
|
|
398
|
+
*/
|
|
399
|
+
function detectOptional(usages) {
|
|
400
|
+
for (const usage of usages) {
|
|
401
|
+
for (const filter of usage.filters) {
|
|
402
|
+
if (filter.name === 'default') {
|
|
403
|
+
return true;
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
return false;
|
|
408
|
+
}
|
|
409
|
+
/**
|
|
410
|
+
* Format the doc block text.
|
|
411
|
+
*/
|
|
412
|
+
function formatDocBlock(parameters) {
|
|
413
|
+
if (parameters.length === 0) {
|
|
414
|
+
return '{% doc %}\n{% enddoc %}';
|
|
415
|
+
}
|
|
416
|
+
const lines = ['{% doc %}'];
|
|
417
|
+
for (const param of parameters) {
|
|
418
|
+
const typeStr = param.type ? `{${param.type}}` : '{object}';
|
|
419
|
+
const nameStr = param.isOptional ? `[${param.name}]` : param.name;
|
|
420
|
+
lines.push(` @param ${typeStr} ${nameStr} -`);
|
|
421
|
+
}
|
|
422
|
+
lines.push('{% enddoc %}');
|
|
423
|
+
return lines.join('\n');
|
|
424
|
+
}
|
|
425
|
+
// Type guard functions
|
|
426
|
+
function isLiquidTag(node) {
|
|
427
|
+
return node?.type === liquid_html_parser_1.NodeTypes.LiquidTag;
|
|
428
|
+
}
|
|
429
|
+
function isLiquidTagCapture(node) {
|
|
430
|
+
return node.name === liquid_html_parser_1.NamedTags.capture;
|
|
431
|
+
}
|
|
432
|
+
function isLiquidTagAssign(node) {
|
|
433
|
+
return node.name === liquid_html_parser_1.NamedTags.assign && typeof node.markup !== 'string';
|
|
434
|
+
}
|
|
435
|
+
function isLiquidTagHashAssign(node) {
|
|
436
|
+
return node.name === liquid_html_parser_1.NamedTags.hash_assign && typeof node.markup !== 'string';
|
|
437
|
+
}
|
|
438
|
+
function isLiquidTagGraphQL(node) {
|
|
439
|
+
return node.name === liquid_html_parser_1.NamedTags.graphql && typeof node.markup !== 'string';
|
|
440
|
+
}
|
|
441
|
+
function isLiquidForTag(node) {
|
|
442
|
+
return node.name === liquid_html_parser_1.NamedTags.for && typeof node.markup !== 'string';
|
|
443
|
+
}
|
|
444
|
+
function isLiquidTableRowTag(node) {
|
|
445
|
+
return node.name === liquid_html_parser_1.NamedTags.tablerow && typeof node.markup !== 'string';
|
|
446
|
+
}
|
|
447
|
+
function isLiquidTagIncrement(node) {
|
|
448
|
+
return node.name === liquid_html_parser_1.NamedTags.increment && typeof node.markup !== 'string';
|
|
449
|
+
}
|
|
450
|
+
function isLiquidTagDecrement(node) {
|
|
451
|
+
return node.name === liquid_html_parser_1.NamedTags.decrement && typeof node.markup !== 'string';
|
|
452
|
+
}
|
|
453
|
+
function isLiquidTagBackground(node) {
|
|
454
|
+
return (node.name === liquid_html_parser_1.NamedTags.background &&
|
|
455
|
+
typeof node.markup !== 'string' &&
|
|
456
|
+
node.markup.type === liquid_html_parser_1.NodeTypes.BackgroundInlineMarkup);
|
|
457
|
+
}
|
|
458
|
+
function isBackgroundInlineMarkup(node) {
|
|
459
|
+
return (typeof node === 'object' &&
|
|
460
|
+
node !== null &&
|
|
461
|
+
'type' in node &&
|
|
462
|
+
node.type === liquid_html_parser_1.NodeTypes.BackgroundInlineMarkup);
|
|
463
|
+
}
|
|
464
|
+
//# sourceMappingURL=DocBlockGenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DocBlockGenerator.js","sourceRoot":"","sources":["../../src/doc-generator/DocBlockGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { generateDocBlock, DetectedParameter, DocBlockResult, } from './DocBlockGenerator';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateDocBlock = void 0;
|
|
4
|
+
var DocBlockGenerator_1 = require("./DocBlockGenerator");
|
|
5
|
+
Object.defineProperty(exports, "generateDocBlock", { enumerable: true, get: function () { return DocBlockGenerator_1.generateDocBlock; } });
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/doc-generator/index.ts"],"names":[],"mappings":";;;AAAA,yDAI6B;AAH3B,qHAAA,gBAAgB,OAAA"}
|
package/dist/find-root.d.ts
CHANGED
|
@@ -1,18 +1,15 @@
|
|
|
1
1
|
import { UriString } from '@platformos/platformos-common';
|
|
2
2
|
type FileExists = (uri: string) => Promise<boolean>;
|
|
3
3
|
/**
|
|
4
|
-
* Returns the
|
|
5
|
-
*
|
|
6
|
-
* `
|
|
4
|
+
* Returns the root of a platformOS app. The root is the directory that contains
|
|
5
|
+
* a `.pos` sentinel file, a `.platformos-check.yml` config file, an `app/` directory,
|
|
6
|
+
* or a `modules/` directory (when not inside `app/`).
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
8
|
+
* Note: `modules/` inside `app/` (i.e. `app/modules/`) is a valid subdirectory and
|
|
9
|
+
* should not be treated as a root indicator.
|
|
10
10
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* Note: that this is not the theme root. The config file might have a `root` entry in it
|
|
15
|
-
* that points to somewhere else.
|
|
11
|
+
* Note: this is not the app root itself. The config file might have a `root` entry that
|
|
12
|
+
* points to somewhere else.
|
|
16
13
|
*/
|
|
17
14
|
export declare function findRoot(curr: UriString, fileExists: FileExists): Promise<UriString | null>;
|
|
18
15
|
export {};
|
package/dist/find-root.js
CHANGED
|
@@ -36,9 +36,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.findRoot = findRoot;
|
|
37
37
|
const path = __importStar(require("./path"));
|
|
38
38
|
async function isRoot(dir, fileExists) {
|
|
39
|
-
return or(
|
|
40
|
-
//
|
|
41
|
-
and(fileExists(path.join(dir, '
|
|
39
|
+
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')));
|
|
42
42
|
}
|
|
43
43
|
async function and(...promises) {
|
|
44
44
|
const bools = await Promise.all(promises);
|
|
@@ -48,23 +48,16 @@ async function or(...promises) {
|
|
|
48
48
|
const bools = await Promise.all(promises);
|
|
49
49
|
return bools.reduce((a, b) => a || b, false);
|
|
50
50
|
}
|
|
51
|
-
async function not(ap) {
|
|
52
|
-
const a = await ap;
|
|
53
|
-
return !a;
|
|
54
|
-
}
|
|
55
51
|
/**
|
|
56
|
-
* Returns the
|
|
57
|
-
*
|
|
58
|
-
* `
|
|
59
|
-
*
|
|
60
|
-
* There are cases where .theme-check.yml is not defined and we have to infer the root.
|
|
61
|
-
* We'll assume that the root is the directory that contains a `snippets` directory.
|
|
52
|
+
* Returns the root of a platformOS app. The root is the directory that contains
|
|
53
|
+
* a `.pos` sentinel file, a `.platformos-check.yml` config file, an `app/` directory,
|
|
54
|
+
* or a `modules/` directory (when not inside `app/`).
|
|
62
55
|
*
|
|
63
|
-
*
|
|
64
|
-
* should be.
|
|
56
|
+
* Note: `modules/` inside `app/` (i.e. `app/modules/`) is a valid subdirectory and
|
|
57
|
+
* should not be treated as a root indicator.
|
|
65
58
|
*
|
|
66
|
-
* Note:
|
|
67
|
-
*
|
|
59
|
+
* Note: this is not the app root itself. The config file might have a `root` entry that
|
|
60
|
+
* points to somewhere else.
|
|
68
61
|
*/
|
|
69
62
|
async function findRoot(curr, fileExists) {
|
|
70
63
|
const currIsRoot = await isRoot(curr, fileExists);
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
|
package/dist/fixes/autofix.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { FixApplicator, Offense,
|
|
1
|
+
import { FixApplicator, Offense, App } from '../types';
|
|
2
2
|
/**
|
|
3
|
-
* Takes
|
|
4
|
-
* safe ones on the
|
|
3
|
+
* Takes an app, list of offenses and a fixApplicator and runs all the
|
|
4
|
+
* safe ones on the app.
|
|
5
5
|
*
|
|
6
6
|
* Note that offense.fix is assumed to be safe, unlike offense.suggest
|
|
7
7
|
* options.
|
|
8
8
|
*/
|
|
9
|
-
export declare function autofix(sourceCodes:
|
|
9
|
+
export declare function autofix(sourceCodes: App, offenses: Offense[], applyFixes: FixApplicator): Promise<void>;
|
package/dist/fixes/autofix.js
CHANGED
|
@@ -4,8 +4,8 @@ exports.autofix = autofix;
|
|
|
4
4
|
const correctors_1 = require("./correctors");
|
|
5
5
|
const utils_1 = require("./utils");
|
|
6
6
|
/**
|
|
7
|
-
* Takes
|
|
8
|
-
* safe ones on the
|
|
7
|
+
* Takes an app, list of offenses and a fixApplicator and runs all the
|
|
8
|
+
* safe ones on the app.
|
|
9
9
|
*
|
|
10
10
|
* Note that offense.fix is assumed to be safe, unlike offense.suggest
|
|
11
11
|
* options.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autofix.js","sourceRoot":"","sources":["../../src/fixes/autofix.ts"],"names":[],"mappings":";;AAgBA,0BAwBC;AAtCD,6CAA+C;AAC/C,mCAAuC;AAMvC;;;;;;GAMG;AACI,KAAK,UAAU,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"autofix.js","sourceRoot":"","sources":["../../src/fixes/autofix.ts"],"names":[],"mappings":";;AAgBA,0BAwBC;AAtCD,6CAA+C;AAC/C,mCAAuC;AAMvC;;;;;;GAMG;AACI,KAAK,UAAU,OAAO,CAAC,WAAgB,EAAE,QAAmB,EAAE,UAAyB;IAC5F,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CACrC,CAAC,OAAO,EAA6C,EAAE,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAC1F,CAAC;IAEF,MAAM,QAAQ,GAAG,EAAE,CAAC;IAEpB,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,kBAAkB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,UAAU,CAAC,GAAG,CAAC,CAAC;QAE/F,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GAAG,IAAA,4BAAe,EAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QACtE,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;YACzC,uDAAuD;YACvD,OAAO,CAAC,GAAG,CAAC,SAAgB,CAAC,CAAC;QAChC,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAA,oBAAY,EAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC"}
|
|
@@ -19,6 +19,10 @@ function createCorrector(sourceCodeType, source) {
|
|
|
19
19
|
}
|
|
20
20
|
case types_1.SourceCodeType.GraphQL:
|
|
21
21
|
return new graphql_corrector_1.GraphQLCorrector(source);
|
|
22
|
+
case types_1.SourceCodeType.YAML: {
|
|
23
|
+
// YAML autofix is not yet supported; this case should not be reached
|
|
24
|
+
throw new Error('YAML autofix is not supported');
|
|
25
|
+
}
|
|
22
26
|
default: {
|
|
23
27
|
return assertNever(sourceCodeType);
|
|
24
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/fixes/correctors/index.ts"],"names":[],"mappings":";;;AAOA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/fixes/correctors/index.ts"],"names":[],"mappings":";;;AAOA,0CAqBC;AA5BD,uCAAwD;AACxD,qDAAiD;AAIxC,8FAJA,8BAAa,OAIA;AAHtB,yDAAqD;AAG7B,gGAHf,kCAAe,OAGe;AAFvC,2DAAuD;AAEd,iGAFhC,oCAAgB,OAEgC;AAEzD,SAAgB,eAAe,CAC7B,cAAiB,EACjB,MAAc;IAEd,QAAQ,cAAc,EAAE,CAAC;QACvB,KAAK,sBAAc,CAAC,IAAI,CAAC,CAAC,CAAC;YACzB,OAAO,IAAI,8BAAa,CAAC,MAAM,CAAqC,CAAC;QACvE,CAAC;QACD,KAAK,sBAAc,CAAC,UAAU,CAAC,CAAC,CAAC;YAC/B,OAAO,IAAI,kCAAe,CAAC,MAAM,CAAqC,CAAC;QACzE,CAAC;QACD,KAAK,sBAAc,CAAC,OAAO;YACzB,OAAO,IAAI,oCAAgB,CAAC,MAAM,CAAqC,CAAC;QAC1E,KAAK,sBAAc,CAAC,IAAI,CAAC,CAAC,CAAC;YACzB,qEAAqE;YACrE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACR,OAAO,WAAW,CAAC,cAAc,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,CAAQ;IAC3B,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,EAAE,CAAC,CAAC;AACxD,CAAC"}
|