@thethracian/oxlint-config 0.2.0 → 0.3.0
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 +13 -0
- package/README.md +125 -19
- package/dist/codemod-fix/cli.d.ts +3 -0
- package/dist/codemod-fix/cli.d.ts.map +1 -0
- package/dist/codemod-fix/cli.js +22 -0
- package/dist/codemod-fix/cli.js.map +1 -0
- package/dist/codemod-fix/index.d.ts +44 -0
- package/dist/codemod-fix/index.d.ts.map +1 -0
- package/dist/codemod-fix/index.js +110 -0
- package/dist/codemod-fix/index.js.map +1 -0
- package/dist/codemods/arrow-body-style.d.ts +7 -0
- package/dist/codemods/arrow-body-style.d.ts.map +1 -0
- package/dist/codemods/arrow-body-style.js +106 -0
- package/dist/codemods/arrow-body-style.js.map +1 -0
- package/dist/codemods/comment-format.d.ts +24 -0
- package/dist/codemods/comment-format.d.ts.map +1 -0
- package/dist/codemods/comment-format.js +100 -0
- package/dist/codemods/comment-format.js.map +1 -0
- package/dist/codemods/explicit-return-types.d.ts +7 -0
- package/dist/codemods/explicit-return-types.d.ts.map +1 -0
- package/dist/codemods/explicit-return-types.js +350 -0
- package/dist/codemods/explicit-return-types.js.map +1 -0
- package/dist/codemods/format-file-header.d.ts +7 -0
- package/dist/codemods/format-file-header.d.ts.map +1 -0
- package/dist/codemods/format-file-header.js +163 -0
- package/dist/codemods/format-file-header.js.map +1 -0
- package/dist/codemods/format-jsdoc-comments.d.ts +7 -0
- package/dist/codemods/format-jsdoc-comments.d.ts.map +1 -0
- package/dist/codemods/format-jsdoc-comments.js +129 -0
- package/dist/codemods/format-jsdoc-comments.js.map +1 -0
- package/dist/codemods/function-declarations.d.ts +7 -0
- package/dist/codemods/function-declarations.d.ts.map +1 -0
- package/dist/codemods/function-declarations.js +202 -0
- package/dist/codemods/function-declarations.js.map +1 -0
- package/dist/codemods/inline-export-lists.d.ts +7 -0
- package/dist/codemods/inline-export-lists.d.ts.map +1 -0
- package/dist/codemods/inline-export-lists.js +168 -0
- package/dist/codemods/inline-export-lists.js.map +1 -0
- package/dist/codemods/internal-export-docs.d.ts +7 -0
- package/dist/codemods/internal-export-docs.d.ts.map +1 -0
- package/dist/codemods/internal-export-docs.js +93 -0
- package/dist/codemods/internal-export-docs.js.map +1 -0
- package/dist/codemods/no-ternary-branch-initializers.d.ts +14 -0
- package/dist/codemods/no-ternary-branch-initializers.d.ts.map +1 -0
- package/dist/codemods/no-ternary-branch-initializers.js +240 -0
- package/dist/codemods/no-ternary-branch-initializers.js.map +1 -0
- package/dist/codemods/no-ternary-variable-initializers.d.ts +14 -0
- package/dist/codemods/no-ternary-variable-initializers.d.ts.map +1 -0
- package/dist/codemods/no-ternary-variable-initializers.js +235 -0
- package/dist/codemods/no-ternary-variable-initializers.js.map +1 -0
- package/dist/codemods/no-ternary.d.ts +7 -0
- package/dist/codemods/no-ternary.d.ts.map +1 -0
- package/dist/codemods/no-ternary.js +215 -0
- package/dist/codemods/no-ternary.js.map +1 -0
- package/dist/codemods/rename-acronyms.d.ts +8 -0
- package/dist/codemods/rename-acronyms.d.ts.map +1 -0
- package/dist/codemods/rename-acronyms.js +193 -0
- package/dist/codemods/rename-acronyms.js.map +1 -0
- package/dist/codemods/run.d.ts +2 -0
- package/dist/codemods/run.d.ts.map +1 -0
- package/dist/codemods/run.js +14 -0
- package/dist/codemods/run.js.map +1 -0
- package/dist/codemods/sort-imports.d.ts +7 -0
- package/dist/codemods/sort-imports.d.ts.map +1 -0
- package/dist/codemods/sort-imports.js +235 -0
- package/dist/codemods/sort-imports.js.map +1 -0
- package/dist/index.d.ts +30 -96
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +157 -95
- package/dist/index.js.map +1 -1
- package/dist/rules/acronym-case.d.ts +7 -3
- package/dist/rules/acronym-case.d.ts.map +1 -1
- package/dist/rules/acronym-case.js +129 -120
- package/dist/rules/acronym-case.js.map +1 -1
- package/dist/rules/acronyms-1.d.ts +3 -0
- package/dist/rules/acronyms-1.d.ts.map +1 -0
- package/dist/rules/acronyms-1.js +407 -0
- package/dist/rules/acronyms-1.js.map +1 -0
- package/dist/rules/acronyms-2.d.ts +3 -0
- package/dist/rules/acronyms-2.d.ts.map +1 -0
- package/dist/rules/acronyms-2.js +407 -0
- package/dist/rules/acronyms-2.js.map +1 -0
- package/dist/rules/acronyms-3.d.ts +3 -0
- package/dist/rules/acronyms-3.d.ts.map +1 -0
- package/dist/rules/acronyms-3.js +407 -0
- package/dist/rules/acronyms-3.js.map +1 -0
- package/dist/rules/acronyms-4.d.ts +3 -0
- package/dist/rules/acronyms-4.d.ts.map +1 -0
- package/dist/rules/acronyms-4.js +377 -0
- package/dist/rules/acronyms-4.js.map +1 -0
- package/dist/rules/acronyms.d.ts +1 -8
- package/dist/rules/acronyms.d.ts.map +1 -1
- package/dist/rules/acronyms.js +14 -1578
- package/dist/rules/acronyms.js.map +1 -1
- package/dist/rules/boolean-prefix.d.ts +11 -2
- package/dist/rules/boolean-prefix.d.ts.map +1 -1
- package/dist/rules/boolean-prefix.js +95 -59
- package/dist/rules/boolean-prefix.js.map +1 -1
- package/dist/rules/camel-case-identifiers.d.ts +3 -4
- package/dist/rules/camel-case-identifiers.d.ts.map +1 -1
- package/dist/rules/camel-case-identifiers.js +59 -40
- package/dist/rules/camel-case-identifiers.js.map +1 -1
- package/dist/rules/char-class.d.ts +26 -13
- package/dist/rules/char-class.d.ts.map +1 -1
- package/dist/rules/char-class.js +56 -24
- package/dist/rules/char-class.js.map +1 -1
- package/dist/rules/diagnostic-guidance.d.ts +91 -0
- package/dist/rules/diagnostic-guidance.d.ts.map +1 -0
- package/dist/rules/diagnostic-guidance.js +243 -0
- package/dist/rules/diagnostic-guidance.js.map +1 -0
- package/dist/rules/effect-default-ast.d.ts +89 -0
- package/dist/rules/effect-default-ast.d.ts.map +1 -0
- package/dist/rules/effect-default-ast.js +208 -0
- package/dist/rules/effect-default-ast.js.map +1 -0
- package/dist/rules/effect-default-compat-rules.d.ts +76 -0
- package/dist/rules/effect-default-compat-rules.d.ts.map +1 -0
- package/dist/rules/effect-default-compat-rules.js +270 -0
- package/dist/rules/effect-default-compat-rules.js.map +1 -0
- package/dist/rules/effect-default-env-rules.d.ts +60 -0
- package/dist/rules/effect-default-env-rules.d.ts.map +1 -0
- package/dist/rules/effect-default-env-rules.js +259 -0
- package/dist/rules/effect-default-env-rules.js.map +1 -0
- package/dist/rules/effect-default-fiber-helpers.d.ts +13 -0
- package/dist/rules/effect-default-fiber-helpers.d.ts.map +1 -0
- package/dist/rules/effect-default-fiber-helpers.js +76 -0
- package/dist/rules/effect-default-fiber-helpers.js.map +1 -0
- package/dist/rules/effect-default-floating-helpers.d.ts +7 -0
- package/dist/rules/effect-default-floating-helpers.d.ts.map +1 -0
- package/dist/rules/effect-default-floating-helpers.js +113 -0
- package/dist/rules/effect-default-floating-helpers.js.map +1 -0
- package/dist/rules/effect-default-helpers.d.ts +8 -32
- package/dist/rules/effect-default-helpers.d.ts.map +1 -1
- package/dist/rules/effect-default-helpers.js +11 -458
- package/dist/rules/effect-default-helpers.js.map +1 -1
- package/dist/rules/effect-default-resource-helpers.d.ts +18 -4
- package/dist/rules/effect-default-resource-helpers.d.ts.map +1 -1
- package/dist/rules/effect-default-resource-helpers.js +30 -13
- package/dist/rules/effect-default-resource-helpers.js.map +1 -1
- package/dist/rules/effect-default-safety-helpers.d.ts +43 -0
- package/dist/rules/effect-default-safety-helpers.d.ts.map +1 -0
- package/dist/rules/effect-default-safety-helpers.js +126 -0
- package/dist/rules/effect-default-safety-helpers.js.map +1 -0
- package/dist/rules/effect-default-scan-helpers.d.ts +43 -0
- package/dist/rules/effect-default-scan-helpers.d.ts.map +1 -0
- package/dist/rules/effect-default-scan-helpers.js +141 -0
- package/dist/rules/effect-default-scan-helpers.js.map +1 -0
- package/dist/rules/effect-default-schema-helpers.d.ts +37 -0
- package/dist/rules/effect-default-schema-helpers.d.ts.map +1 -0
- package/dist/rules/effect-default-schema-helpers.js +104 -0
- package/dist/rules/effect-default-schema-helpers.js.map +1 -0
- package/dist/rules/effect-default-test-helpers.d.ts +18 -4
- package/dist/rules/effect-default-test-helpers.d.ts.map +1 -1
- package/dist/rules/effect-default-test-helpers.js +41 -20
- package/dist/rules/effect-default-test-helpers.js.map +1 -1
- package/dist/rules/effect-default-workflow-helpers.d.ts +91 -0
- package/dist/rules/effect-default-workflow-helpers.d.ts.map +1 -0
- package/dist/rules/effect-default-workflow-helpers.js +247 -0
- package/dist/rules/effect-default-workflow-helpers.js.map +1 -0
- package/dist/rules/effect-default.d.ts +1 -1
- package/dist/rules/effect-default.d.ts.map +1 -1
- package/dist/rules/effect-default.js +198 -637
- package/dist/rules/effect-default.js.map +1 -1
- package/dist/rules/effect-exported-declarations.d.ts +19 -0
- package/dist/rules/effect-exported-declarations.d.ts.map +1 -0
- package/dist/rules/effect-exported-declarations.js +237 -0
- package/dist/rules/effect-exported-declarations.js.map +1 -0
- package/dist/rules/effect-path-options.d.ts +49 -11
- package/dist/rules/effect-path-options.d.ts.map +1 -1
- package/dist/rules/effect-path-options.js +85 -52
- package/dist/rules/effect-path-options.js.map +1 -1
- package/dist/rules/effect-rule-aliases.d.ts +55 -0
- package/dist/rules/effect-rule-aliases.d.ts.map +1 -0
- package/dist/rules/effect-rule-aliases.js +278 -0
- package/dist/rules/effect-rule-aliases.js.map +1 -0
- package/dist/rules/effect-rule-core.d.ts +46 -24
- package/dist/rules/effect-rule-core.d.ts.map +1 -1
- package/dist/rules/effect-rule-core.js +263 -303
- package/dist/rules/effect-rule-core.js.map +1 -1
- package/dist/rules/effect-rule-names.d.ts +12 -3
- package/dist/rules/effect-rule-names.d.ts.map +1 -1
- package/dist/rules/effect-rule-names.js +15 -3
- package/dist/rules/effect-rule-names.js.map +1 -1
- package/dist/rules/effect-source-comments.d.ts +7 -0
- package/dist/rules/effect-source-comments.d.ts.map +1 -0
- package/dist/rules/effect-source-comments.js +227 -0
- package/dist/rules/effect-source-comments.js.map +1 -0
- package/dist/rules/effect-source-helpers.d.ts +4 -9
- package/dist/rules/effect-source-helpers.d.ts.map +1 -1
- package/dist/rules/effect-source-helpers.js +7 -333
- package/dist/rules/effect-source-helpers.js.map +1 -1
- package/dist/rules/effect-source-navigation.d.ts +25 -0
- package/dist/rules/effect-source-navigation.d.ts.map +1 -0
- package/dist/rules/effect-source-navigation.js +244 -0
- package/dist/rules/effect-source-navigation.js.map +1 -0
- package/dist/rules/effect-source-scan.d.ts +30 -7
- package/dist/rules/effect-source-scan.d.ts.map +1 -1
- package/dist/rules/effect-source-scan.js +377 -297
- package/dist/rules/effect-source-scan.js.map +1 -1
- package/dist/rules/effect-strict-ast-specs.d.ts +8 -0
- package/dist/rules/effect-strict-ast-specs.d.ts.map +1 -0
- package/dist/rules/effect-strict-ast-specs.js +166 -0
- package/dist/rules/effect-strict-ast-specs.js.map +1 -0
- package/dist/rules/effect-strict-boundary-helpers.d.ts +25 -0
- package/dist/rules/effect-strict-boundary-helpers.d.ts.map +1 -0
- package/dist/rules/effect-strict-boundary-helpers.js +127 -0
- package/dist/rules/effect-strict-boundary-helpers.js.map +1 -0
- package/dist/rules/effect-strict-core-specs.d.ts +8 -0
- package/dist/rules/effect-strict-core-specs.d.ts.map +1 -0
- package/dist/rules/effect-strict-core-specs.js +334 -0
- package/dist/rules/effect-strict-core-specs.js.map +1 -0
- package/dist/rules/effect-strict-external-helpers.d.ts +25 -0
- package/dist/rules/effect-strict-external-helpers.d.ts.map +1 -0
- package/dist/rules/effect-strict-external-helpers.js +87 -0
- package/dist/rules/effect-strict-external-helpers.js.map +1 -0
- package/dist/rules/effect-strict-helpers.d.ts +75 -33
- package/dist/rules/effect-strict-helpers.d.ts.map +1 -1
- package/dist/rules/effect-strict-helpers.js +124 -246
- package/dist/rules/effect-strict-helpers.js.map +1 -1
- package/dist/rules/effect-strict-internals.d.ts +198 -0
- package/dist/rules/effect-strict-internals.d.ts.map +1 -0
- package/dist/rules/effect-strict-internals.js +477 -0
- package/dist/rules/effect-strict-internals.js.map +1 -0
- package/dist/rules/effect-strict-segment-helpers.d.ts +79 -0
- package/dist/rules/effect-strict-segment-helpers.d.ts.map +1 -0
- package/dist/rules/effect-strict-segment-helpers.js +308 -0
- package/dist/rules/effect-strict-segment-helpers.js.map +1 -0
- package/dist/rules/effect-strict.d.ts +1 -1
- package/dist/rules/effect-strict.d.ts.map +1 -1
- package/dist/rules/effect-strict.js +10 -661
- package/dist/rules/effect-strict.js.map +1 -1
- package/dist/rules/max-import-depth.d.ts +2 -2
- package/dist/rules/max-import-depth.d.ts.map +1 -1
- package/dist/rules/max-import-depth.js +52 -17
- package/dist/rules/max-import-depth.js.map +1 -1
- package/dist/rules/max-line-length.d.ts +9 -2
- package/dist/rules/max-line-length.d.ts.map +1 -1
- package/dist/rules/max-line-length.js +62 -7
- package/dist/rules/max-line-length.js.map +1 -1
- package/dist/rules/no-commented-out-code.d.ts +3 -7
- package/dist/rules/no-commented-out-code.d.ts.map +1 -1
- package/dist/rules/no-commented-out-code.js +157 -102
- package/dist/rules/no-commented-out-code.js.map +1 -1
- package/dist/rules/pascal-case-types.d.ts +1 -1
- package/dist/rules/pascal-case-types.d.ts.map +1 -1
- package/dist/rules/pascal-case-types.js +65 -46
- package/dist/rules/pascal-case-types.js.map +1 -1
- package/dist/rules/plugin-commented-out-code-rule.d.ts +32 -0
- package/dist/rules/plugin-commented-out-code-rule.d.ts.map +1 -0
- package/dist/rules/plugin-commented-out-code-rule.js +135 -0
- package/dist/rules/plugin-commented-out-code-rule.js.map +1 -0
- package/dist/rules/plugin.d.ts +3 -121
- package/dist/rules/plugin.d.ts.map +1 -1
- package/dist/rules/plugin.js +195 -201
- package/dist/rules/plugin.js.map +1 -1
- package/dist/rules/private-underscore.d.ts +1 -1
- package/dist/rules/private-underscore.d.ts.map +1 -1
- package/dist/rules/private-underscore.js +11 -4
- package/dist/rules/private-underscore.js.map +1 -1
- package/dist/rules/require-file-doc.d.ts +5 -6
- package/dist/rules/require-file-doc.d.ts.map +1 -1
- package/dist/rules/require-file-doc.js +127 -78
- package/dist/rules/require-file-doc.js.map +1 -1
- package/dist/rules/require-function-doc-ignored-text.d.ts +7 -0
- package/dist/rules/require-function-doc-ignored-text.d.ts.map +1 -0
- package/dist/rules/require-function-doc-ignored-text.js +67 -0
- package/dist/rules/require-function-doc-ignored-text.js.map +1 -0
- package/dist/rules/require-function-doc-local-exports.d.ts +7 -0
- package/dist/rules/require-function-doc-local-exports.d.ts.map +1 -0
- package/dist/rules/require-function-doc-local-exports.js +114 -0
- package/dist/rules/require-function-doc-local-exports.js.map +1 -0
- package/dist/rules/require-function-doc.d.ts +3 -18
- package/dist/rules/require-function-doc.d.ts.map +1 -1
- package/dist/rules/require-function-doc.js +404 -218
- package/dist/rules/require-function-doc.js.map +1 -1
- package/dist/rules/source-cache.d.ts +19 -0
- package/dist/rules/source-cache.d.ts.map +1 -0
- package/dist/rules/source-cache.js +63 -0
- package/dist/rules/source-cache.js.map +1 -0
- package/package.json +15 -10
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-file-header.js","sourceRoot":"","sources":["../../src/codemods/format-file-header.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-jsdoc-comments.d.ts","sourceRoot":"","sources":["../../src/codemods/format-jsdoc-comments.ts"],"names":[],"mappings":"AAkHA;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,QAAQ,MAAM,KAAG,MASpD,CAAC"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/* -------------------------------------------------------------------------- */
|
|
2
|
+
/* Codemod for normalizing generated JSDoc comment aesthetics. */
|
|
3
|
+
/* -------------------------------------------------------------------------- */
|
|
4
|
+
import { formatJSDoc } from './comment-format.js';
|
|
5
|
+
const tagPattern = /^@\S+/;
|
|
6
|
+
const releaseTagPattern = /^@(?:internal|public|experimental|beta|alpha)\b/;
|
|
7
|
+
const inlineTagPattern = /\s+(@\S+)/u;
|
|
8
|
+
const blockCommentOpenLength = '/**'.length;
|
|
9
|
+
const blockCommentCloseOffset = -'*/'.length;
|
|
10
|
+
const cleanJSDocLine = (line) => line
|
|
11
|
+
.trim()
|
|
12
|
+
.replace(/^\*\s?/u, '')
|
|
13
|
+
.trim();
|
|
14
|
+
const splitInlineTags = (line) => {
|
|
15
|
+
const tagStart = inlineTagPattern.exec(line);
|
|
16
|
+
if (!tagStart?.index) {
|
|
17
|
+
return [line];
|
|
18
|
+
}
|
|
19
|
+
return [
|
|
20
|
+
line.slice(0, tagStart.index).trim(),
|
|
21
|
+
...splitInlineTags(line.slice(tagStart.index).trim()),
|
|
22
|
+
].filter(Boolean);
|
|
23
|
+
};
|
|
24
|
+
const parseJSDoc = (body) => {
|
|
25
|
+
const rawLines = body
|
|
26
|
+
.split('\n')
|
|
27
|
+
.map(cleanJSDocLine)
|
|
28
|
+
.filter((line) => line.length > 0);
|
|
29
|
+
const lines = rawLines.flatMap(splitInlineTags).flatMap((line) => {
|
|
30
|
+
const [tag] = line.split(/\s+/u);
|
|
31
|
+
if (tag && releaseTagPattern.test(tag) && line.length > tag.length) {
|
|
32
|
+
return [tag, line.slice(tag.length).trim()];
|
|
33
|
+
}
|
|
34
|
+
return [line];
|
|
35
|
+
});
|
|
36
|
+
if (lines.length === 0) {
|
|
37
|
+
return undefined;
|
|
38
|
+
}
|
|
39
|
+
const tags = lines.filter((line) => tagPattern.test(line));
|
|
40
|
+
const summary = lines.filter((line) => !tagPattern.test(line)).join(' ');
|
|
41
|
+
if (!summary) {
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
return { summary, tags };
|
|
45
|
+
};
|
|
46
|
+
const formatParsedJSDoc = (match, body) => {
|
|
47
|
+
const parsed = parseJSDoc(body);
|
|
48
|
+
if (!parsed) {
|
|
49
|
+
return match;
|
|
50
|
+
}
|
|
51
|
+
return formatJSDoc(parsed).trimEnd();
|
|
52
|
+
};
|
|
53
|
+
const quotedStringEnd = (source, start, quote) => {
|
|
54
|
+
let cursor = start + 1;
|
|
55
|
+
while (cursor < source.length) {
|
|
56
|
+
if (source[cursor] === '\\') {
|
|
57
|
+
cursor += 2;
|
|
58
|
+
}
|
|
59
|
+
else if (source[cursor] === quote) {
|
|
60
|
+
return cursor + 1;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
cursor++;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return source.length;
|
|
67
|
+
};
|
|
68
|
+
const lineCommentEnd = (source, start) => {
|
|
69
|
+
const newline = source.indexOf('\n', start);
|
|
70
|
+
if (newline === -1) {
|
|
71
|
+
return source.length;
|
|
72
|
+
}
|
|
73
|
+
return newline + 1;
|
|
74
|
+
};
|
|
75
|
+
const blockCommentEnd = (source, start) => {
|
|
76
|
+
const close = source.indexOf('*/', start + 2);
|
|
77
|
+
if (close === -1) {
|
|
78
|
+
return source.length;
|
|
79
|
+
}
|
|
80
|
+
return close + 2;
|
|
81
|
+
};
|
|
82
|
+
const replacementAt = (source, start) => {
|
|
83
|
+
const end = blockCommentEnd(source, start);
|
|
84
|
+
const match = source.slice(start, end);
|
|
85
|
+
return {
|
|
86
|
+
end,
|
|
87
|
+
text: formatParsedJSDoc(match, match.slice(blockCommentOpenLength, blockCommentCloseOffset)),
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
const skippedEnd = (source, start) => {
|
|
91
|
+
const char = source[start];
|
|
92
|
+
const nextChar = source[start + 1];
|
|
93
|
+
if (char === "'" || char === '"' || char === '`') {
|
|
94
|
+
return quotedStringEnd(source, start, char);
|
|
95
|
+
}
|
|
96
|
+
if (char === '/' && nextChar === '/') {
|
|
97
|
+
return lineCommentEnd(source, start);
|
|
98
|
+
}
|
|
99
|
+
if (char === '/' && nextChar === '*' && source[start + 2] !== '*') {
|
|
100
|
+
return blockCommentEnd(source, start);
|
|
101
|
+
}
|
|
102
|
+
return undefined;
|
|
103
|
+
};
|
|
104
|
+
/**
|
|
105
|
+
* Normalizes generated JSDoc comments to classic multi-line formatting.
|
|
106
|
+
*
|
|
107
|
+
* @internal
|
|
108
|
+
*/
|
|
109
|
+
export const formatJSDocComments = (source) => {
|
|
110
|
+
let output = '';
|
|
111
|
+
let cursor = 0;
|
|
112
|
+
while (cursor < source.length) {
|
|
113
|
+
const step = formatStep(source, cursor);
|
|
114
|
+
output += step.text;
|
|
115
|
+
cursor = step.end;
|
|
116
|
+
}
|
|
117
|
+
return output;
|
|
118
|
+
};
|
|
119
|
+
const formatStep = (source, cursor) => {
|
|
120
|
+
const nextEnd = skippedEnd(source, cursor);
|
|
121
|
+
if (nextEnd !== undefined) {
|
|
122
|
+
return { end: nextEnd, text: source.slice(cursor, nextEnd) };
|
|
123
|
+
}
|
|
124
|
+
if (source.startsWith('/**', cursor)) {
|
|
125
|
+
return replacementAt(source, cursor);
|
|
126
|
+
}
|
|
127
|
+
return { end: cursor + 1, text: source[cursor] ?? '' };
|
|
128
|
+
};
|
|
129
|
+
//# sourceMappingURL=format-jsdoc-comments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-jsdoc-comments.js","sourceRoot":"","sources":["../../src/codemods/format-jsdoc-comments.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"function-declarations.d.ts","sourceRoot":"","sources":["../../src/codemods/function-declarations.ts"],"names":[],"mappings":"AAgSA;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,GAAI,QAAQ,MAAM,KAAG,MAe1D,CAAC"}
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import jscodeshift from 'jscodeshift';
|
|
2
|
+
const codemodAPI = jscodeshift.withParser('ts');
|
|
3
|
+
const isObjectRecord = (value) => typeof value === 'object' && value !== null;
|
|
4
|
+
const applyReplacements = (source, replacements) => [...replacements]
|
|
5
|
+
.sort((left, right) => right.start - left.start)
|
|
6
|
+
.reduce((current, replacement) => current.slice(0, replacement.start) + replacement.text + current.slice(replacement.end), source);
|
|
7
|
+
const nodeStart = (node) => {
|
|
8
|
+
if (isObjectRecord(node)) {
|
|
9
|
+
const { start } = node;
|
|
10
|
+
if (typeof start === 'number') {
|
|
11
|
+
return start;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
throw new Error('jscodeshift node is missing a start offset');
|
|
15
|
+
};
|
|
16
|
+
const nodeEnd = (node) => {
|
|
17
|
+
if (isObjectRecord(node)) {
|
|
18
|
+
const { end } = node;
|
|
19
|
+
if (typeof end === 'number') {
|
|
20
|
+
return end;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
throw new Error('jscodeshift node is missing an end offset');
|
|
24
|
+
};
|
|
25
|
+
const sourceForNode = (source, node) => {
|
|
26
|
+
if (!node) {
|
|
27
|
+
return '';
|
|
28
|
+
}
|
|
29
|
+
return source.slice(nodeStart(node), nodeEnd(node));
|
|
30
|
+
};
|
|
31
|
+
const nodeKey = (node) => `${nodeStart(node)}:${nodeEnd(node)}`;
|
|
32
|
+
const isIdentifier = (node) => isObjectRecord(node) && node.type === 'Identifier' && typeof node.name === 'string';
|
|
33
|
+
const isFunctionDeclaration = (node) => isObjectRecord(node) && node.type === 'FunctionDeclaration';
|
|
34
|
+
const typeParameterText = (source, declaration) => sourceForNode(source, declaration.typeParameters).trim();
|
|
35
|
+
const parameterText = (source, declaration) => {
|
|
36
|
+
const [firstParameter] = declaration.params;
|
|
37
|
+
const lastParameter = declaration.params.at(-1);
|
|
38
|
+
if (!firstParameter || !lastParameter) {
|
|
39
|
+
return '';
|
|
40
|
+
}
|
|
41
|
+
return source.slice(nodeStart(firstParameter), nodeEnd(lastParameter));
|
|
42
|
+
};
|
|
43
|
+
const hasThisParameter = (node) => node.params.some((parameter) => {
|
|
44
|
+
if (isIdentifier(parameter)) {
|
|
45
|
+
return parameter.name === 'this';
|
|
46
|
+
}
|
|
47
|
+
return false;
|
|
48
|
+
});
|
|
49
|
+
const hasThisExpression = (node) => codemodAPI(node.body).find(codemodAPI.ThisExpression).size() > 0;
|
|
50
|
+
const hasThisSemantics = (node) => hasThisParameter(node) || hasThisExpression(node);
|
|
51
|
+
const isFunctionBoundary = (node) => isObjectRecord(node) &&
|
|
52
|
+
(node.type === 'ArrowFunctionExpression' ||
|
|
53
|
+
node.type === 'FunctionDeclaration' ||
|
|
54
|
+
node.type === 'FunctionExpression' ||
|
|
55
|
+
node.type === 'ObjectMethod');
|
|
56
|
+
const nodeStartsAtOrAfter = (value, before) => {
|
|
57
|
+
const { start } = value;
|
|
58
|
+
return typeof start === 'number' && start >= before;
|
|
59
|
+
};
|
|
60
|
+
const hasEarlierReferenceInRecord = (value, search) => {
|
|
61
|
+
if (search.seen.has(value)) {
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
search.seen.add(value);
|
|
65
|
+
if (nodeStartsAtOrAfter(value, search.before)) {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
if (isIdentifier(value)) {
|
|
69
|
+
return value.name === search.name;
|
|
70
|
+
}
|
|
71
|
+
if (isFunctionBoundary(value)) {
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
return Object.values(value).some((entry) => hasEarlierReferenceInValue(entry, search));
|
|
75
|
+
};
|
|
76
|
+
const hasEarlierReferenceInValue = (value, search) => {
|
|
77
|
+
if (Array.isArray(value)) {
|
|
78
|
+
return value.some((entry) => hasEarlierReferenceInValue(entry, search));
|
|
79
|
+
}
|
|
80
|
+
if (!isObjectRecord(value)) {
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
return hasEarlierReferenceInRecord(value, search);
|
|
84
|
+
};
|
|
85
|
+
const hasEarlierReference = (root, name, before) => hasEarlierReferenceInValue(root, { before, name, seen: new WeakSet() });
|
|
86
|
+
const asyncPrefixFor = (node) => {
|
|
87
|
+
if (node.async) {
|
|
88
|
+
return 'async ';
|
|
89
|
+
}
|
|
90
|
+
return '';
|
|
91
|
+
};
|
|
92
|
+
const returnTypeFor = (source, node) => {
|
|
93
|
+
if (node.returnType) {
|
|
94
|
+
return sourceForNode(source, node.returnType);
|
|
95
|
+
}
|
|
96
|
+
return '';
|
|
97
|
+
};
|
|
98
|
+
const declarationText = (source, node, name, exportInfo) => {
|
|
99
|
+
const typeParameters = typeParameterText(source, node);
|
|
100
|
+
const parameters = parameterText(source, node);
|
|
101
|
+
const body = sourceForNode(source, node.body);
|
|
102
|
+
return [
|
|
103
|
+
`${exportInfo?.prefix ?? ''}const ${name} = `,
|
|
104
|
+
`${asyncPrefixFor(node)}${typeParameters}(${parameters})`,
|
|
105
|
+
`${returnTypeFor(source, node)} => ${body};`,
|
|
106
|
+
].join('');
|
|
107
|
+
};
|
|
108
|
+
const collectExportInfo = (source) => {
|
|
109
|
+
const exportsByFunction = new Map();
|
|
110
|
+
const root = codemodAPI(source);
|
|
111
|
+
root.find(codemodAPI.ExportNamedDeclaration).forEach((path) => {
|
|
112
|
+
const { declaration } = path.value;
|
|
113
|
+
if (isFunctionDeclaration(declaration)) {
|
|
114
|
+
exportsByFunction.set(nodeKey(declaration), {
|
|
115
|
+
end: nodeEnd(path.value),
|
|
116
|
+
isDefault: false,
|
|
117
|
+
prefix: 'export ',
|
|
118
|
+
start: nodeStart(path.value),
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
root.find(codemodAPI.ExportDefaultDeclaration).forEach((path) => {
|
|
123
|
+
const { declaration } = path.value;
|
|
124
|
+
if (isFunctionDeclaration(declaration)) {
|
|
125
|
+
exportsByFunction.set(nodeKey(declaration), {
|
|
126
|
+
end: nodeEnd(path.value),
|
|
127
|
+
isDefault: true,
|
|
128
|
+
prefix: '',
|
|
129
|
+
start: nodeStart(path.value),
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
});
|
|
133
|
+
return exportsByFunction;
|
|
134
|
+
};
|
|
135
|
+
const collectScopes = (source) => {
|
|
136
|
+
const scopes = [];
|
|
137
|
+
const root = codemodAPI(source);
|
|
138
|
+
root.find(codemodAPI.Program).forEach((path) => {
|
|
139
|
+
scopes.push(path.value);
|
|
140
|
+
});
|
|
141
|
+
root.find(codemodAPI.BlockStatement).forEach((path) => {
|
|
142
|
+
scopes.push(path.value);
|
|
143
|
+
});
|
|
144
|
+
return scopes;
|
|
145
|
+
};
|
|
146
|
+
const scopeForDeclaration = (scopes, declaration) => {
|
|
147
|
+
const start = nodeStart(declaration);
|
|
148
|
+
const end = nodeEnd(declaration);
|
|
149
|
+
return scopes
|
|
150
|
+
.filter((scope) => nodeStart(scope) <= start && nodeEnd(scope) >= end)
|
|
151
|
+
.sort((left, right) => nodeEnd(left) - nodeStart(left) - (nodeEnd(right) - nodeStart(right)))[0];
|
|
152
|
+
};
|
|
153
|
+
const replacementSpanForDeclaration = (node, exportInfo) => ({
|
|
154
|
+
end: exportInfo?.end ?? nodeEnd(node),
|
|
155
|
+
start: exportInfo?.start ?? nodeStart(node),
|
|
156
|
+
});
|
|
157
|
+
const canReplaceDeclaration = (node, exportInfo) => {
|
|
158
|
+
if (!isIdentifier(node.id) || !node.body) {
|
|
159
|
+
return false;
|
|
160
|
+
}
|
|
161
|
+
if (exportInfo?.isDefault) {
|
|
162
|
+
return false;
|
|
163
|
+
}
|
|
164
|
+
return !hasThisSemantics(node);
|
|
165
|
+
};
|
|
166
|
+
const replacementForDeclaration = (source, path, exportsByFunction, scopes) => {
|
|
167
|
+
const { value: node } = path;
|
|
168
|
+
const exportInfo = exportsByFunction.get(nodeKey(node));
|
|
169
|
+
if (!canReplaceDeclaration(node, exportInfo)) {
|
|
170
|
+
return undefined;
|
|
171
|
+
}
|
|
172
|
+
const { end, start } = replacementSpanForDeclaration(node, exportInfo);
|
|
173
|
+
const root = scopeForDeclaration(scopes, node);
|
|
174
|
+
if (root && hasEarlierReference(root, node.id.name, start)) {
|
|
175
|
+
return undefined;
|
|
176
|
+
}
|
|
177
|
+
return {
|
|
178
|
+
end,
|
|
179
|
+
start,
|
|
180
|
+
text: declarationText(source, node, node.id.name, exportInfo),
|
|
181
|
+
};
|
|
182
|
+
};
|
|
183
|
+
/**
|
|
184
|
+
* Internal helper exported for package-local composition.
|
|
185
|
+
*
|
|
186
|
+
* @internal
|
|
187
|
+
*/
|
|
188
|
+
export const preferFunctionExpressions = (source) => {
|
|
189
|
+
const replacements = [];
|
|
190
|
+
const exportsByFunction = collectExportInfo(source);
|
|
191
|
+
const scopes = collectScopes(source);
|
|
192
|
+
codemodAPI(source)
|
|
193
|
+
.find(codemodAPI.FunctionDeclaration)
|
|
194
|
+
.forEach((path) => {
|
|
195
|
+
const replacement = replacementForDeclaration(source, path, exportsByFunction, scopes);
|
|
196
|
+
if (replacement) {
|
|
197
|
+
replacements.push(replacement);
|
|
198
|
+
}
|
|
199
|
+
});
|
|
200
|
+
return applyReplacements(source, replacements);
|
|
201
|
+
};
|
|
202
|
+
//# sourceMappingURL=function-declarations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"function-declarations.js","sourceRoot":"","sources":["../../src/codemods/function-declarations.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inline-export-lists.d.ts","sourceRoot":"","sources":["../../src/codemods/inline-export-lists.ts"],"names":[],"mappings":"AA0OA;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GAAI,QAAQ,MAAM,KAAG,MACU,CAAC"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import jscodeshift from 'jscodeshift';
|
|
2
|
+
const exportKeyword = 'export ';
|
|
3
|
+
const codemodAPI = jscodeshift.withParser('ts');
|
|
4
|
+
const isObjectRecord = (value) => typeof value === 'object' && value !== null;
|
|
5
|
+
const applyReplacements = (source, replacements) => [...replacements]
|
|
6
|
+
.sort((left, right) => right.start - left.start)
|
|
7
|
+
.reduce((current, replacement) => current.slice(0, replacement.start) + replacement.text + current.slice(replacement.end), source);
|
|
8
|
+
const nodeStart = (node) => {
|
|
9
|
+
if (isObjectRecord(node)) {
|
|
10
|
+
const { start } = node;
|
|
11
|
+
if (typeof start === 'number') {
|
|
12
|
+
return start;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
throw new Error('jscodeshift node is missing a start offset');
|
|
16
|
+
};
|
|
17
|
+
const nodeEnd = (node) => {
|
|
18
|
+
if (isObjectRecord(node)) {
|
|
19
|
+
const { end } = node;
|
|
20
|
+
if (typeof end === 'number') {
|
|
21
|
+
return end;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
throw new Error('jscodeshift node is missing an end offset');
|
|
25
|
+
};
|
|
26
|
+
const lineEndAfter = (source, position) => {
|
|
27
|
+
const newline = source.indexOf('\n', position);
|
|
28
|
+
if (newline === -1) {
|
|
29
|
+
return source.length;
|
|
30
|
+
}
|
|
31
|
+
return newline + 1;
|
|
32
|
+
};
|
|
33
|
+
const isIdentifier = (node) => isObjectRecord(node) && node.type === 'Identifier' && typeof node.name === 'string';
|
|
34
|
+
const isExportNamedDeclaration = (statement) => statement.type === 'ExportNamedDeclaration';
|
|
35
|
+
const isVariableDeclaration = (declaration) => declaration.type === 'VariableDeclaration';
|
|
36
|
+
const isVariableDeclarator = (declaration) => isObjectRecord(declaration) && 'id' in declaration;
|
|
37
|
+
const exportSpecifierName = (specifier) => {
|
|
38
|
+
if (!isObjectRecord(specifier) || specifier.type !== 'ExportSpecifier') {
|
|
39
|
+
return undefined;
|
|
40
|
+
}
|
|
41
|
+
const { exported, local } = specifier;
|
|
42
|
+
if (!isIdentifier(local) || !isIdentifier(exported)) {
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
if (local.name !== exported.name) {
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
return local.name;
|
|
49
|
+
};
|
|
50
|
+
const exportSpecifierNames = (specifiers) => {
|
|
51
|
+
const names = [];
|
|
52
|
+
for (const specifier of specifiers) {
|
|
53
|
+
const name = exportSpecifierName(specifier);
|
|
54
|
+
if (!name) {
|
|
55
|
+
return undefined;
|
|
56
|
+
}
|
|
57
|
+
names.push(name);
|
|
58
|
+
}
|
|
59
|
+
return names;
|
|
60
|
+
};
|
|
61
|
+
const localExportListFor = (source, node) => {
|
|
62
|
+
const specifiers = node.specifiers ?? [];
|
|
63
|
+
if (node.source || node.declaration || specifiers.length === 0) {
|
|
64
|
+
return undefined;
|
|
65
|
+
}
|
|
66
|
+
const names = exportSpecifierNames(specifiers);
|
|
67
|
+
if (!names) {
|
|
68
|
+
return undefined;
|
|
69
|
+
}
|
|
70
|
+
return {
|
|
71
|
+
names,
|
|
72
|
+
range: {
|
|
73
|
+
end: lineEndAfter(source, nodeEnd(node)),
|
|
74
|
+
start: nodeStart(node),
|
|
75
|
+
text: '',
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
const variableStatementNames = (node) => node.declarations.flatMap((declaration) => {
|
|
80
|
+
if (isVariableDeclarator(declaration) && isIdentifier(declaration.id)) {
|
|
81
|
+
return [declaration.id.name];
|
|
82
|
+
}
|
|
83
|
+
return [];
|
|
84
|
+
});
|
|
85
|
+
const declarationName = (node) => {
|
|
86
|
+
if (!isObjectRecord(node) || !isIdentifier(node.id)) {
|
|
87
|
+
return undefined;
|
|
88
|
+
}
|
|
89
|
+
return node.id.name;
|
|
90
|
+
};
|
|
91
|
+
const unwrappedDeclaration = (node) => {
|
|
92
|
+
if (isExportNamedDeclaration(node)) {
|
|
93
|
+
return node.declaration ?? undefined;
|
|
94
|
+
}
|
|
95
|
+
if (node.type === 'VariableDeclaration' || (isObjectRecord(node) && 'id' in node)) {
|
|
96
|
+
return node;
|
|
97
|
+
}
|
|
98
|
+
return undefined;
|
|
99
|
+
};
|
|
100
|
+
const declarationNames = (node) => {
|
|
101
|
+
const declaration = unwrappedDeclaration(node);
|
|
102
|
+
if (!declaration) {
|
|
103
|
+
return [];
|
|
104
|
+
}
|
|
105
|
+
if (isVariableDeclaration(declaration)) {
|
|
106
|
+
return variableStatementNames(declaration);
|
|
107
|
+
}
|
|
108
|
+
const name = declarationName(declaration);
|
|
109
|
+
if (name) {
|
|
110
|
+
return [name];
|
|
111
|
+
}
|
|
112
|
+
return [];
|
|
113
|
+
};
|
|
114
|
+
const inlineExportReplacement = (statement) => {
|
|
115
|
+
if (isExportNamedDeclaration(statement)) {
|
|
116
|
+
return undefined;
|
|
117
|
+
}
|
|
118
|
+
return {
|
|
119
|
+
end: nodeStart(statement),
|
|
120
|
+
start: nodeStart(statement),
|
|
121
|
+
text: exportKeyword,
|
|
122
|
+
};
|
|
123
|
+
};
|
|
124
|
+
const collectExportLists = (source, statements) => statements.flatMap((statement) => {
|
|
125
|
+
if (!isExportNamedDeclaration(statement)) {
|
|
126
|
+
return [];
|
|
127
|
+
}
|
|
128
|
+
const exportList = localExportListFor(source, statement);
|
|
129
|
+
if (exportList) {
|
|
130
|
+
return [exportList];
|
|
131
|
+
}
|
|
132
|
+
return [];
|
|
133
|
+
});
|
|
134
|
+
const sourceProgram = (source) => {
|
|
135
|
+
const [programPath] = codemodAPI(source).find(codemodAPI.Program).paths();
|
|
136
|
+
if (!programPath) {
|
|
137
|
+
return undefined;
|
|
138
|
+
}
|
|
139
|
+
return programPath.value;
|
|
140
|
+
};
|
|
141
|
+
const appendInlineExportReplacements = (replacements, statements, names) => {
|
|
142
|
+
for (const statement of statements) {
|
|
143
|
+
if (declarationNames(statement).some((name) => names.has(name))) {
|
|
144
|
+
const replacement = inlineExportReplacement(statement);
|
|
145
|
+
if (replacement) {
|
|
146
|
+
replacements.push(replacement);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
const collectExportListReplacements = (source) => {
|
|
152
|
+
const program = sourceProgram(source);
|
|
153
|
+
if (!program) {
|
|
154
|
+
return [];
|
|
155
|
+
}
|
|
156
|
+
const exportLists = collectExportLists(source, program.body);
|
|
157
|
+
const names = new Set(exportLists.flatMap((exportList) => [...exportList.names]));
|
|
158
|
+
const replacements = exportLists.map((exportList) => exportList.range);
|
|
159
|
+
appendInlineExportReplacements(replacements, program.body, names);
|
|
160
|
+
return replacements;
|
|
161
|
+
};
|
|
162
|
+
/**
|
|
163
|
+
* Rewrites safe local export lists into inline exported declarations.
|
|
164
|
+
*
|
|
165
|
+
* @internal
|
|
166
|
+
*/
|
|
167
|
+
export const inlineLocalExportLists = (source) => applyReplacements(source, collectExportListReplacements(source));
|
|
168
|
+
//# sourceMappingURL=inline-export-lists.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inline-export-lists.js","sourceRoot":"","sources":["../../src/codemods/inline-export-lists.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal-export-docs.d.ts","sourceRoot":"","sources":["../../src/codemods/internal-export-docs.ts"],"names":[],"mappings":"AAiHA;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAI,QAAQ,MAAM,KAAG,MAMtD,CAAC"}
|