@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"effect-strict.js","sourceRoot":"","sources":["../../src/rules/effect-strict.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"effect-strict.js","sourceRoot":"","sources":["../../src/rules/effect-strict.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,iBAAiB,GAAG,SAAS,CAAC,CAAC,GAAG,qBAAqB,EAAE,GAAG,oBAAoB,CAAC,EAAE;IACvF,MAAM,EAAE,uBAAuB;CAChC,CAAC,CAAC;AAEH,eAAe,iBAAiB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Count leading `../` segments in an import path.
|
|
3
|
-
*
|
|
2
|
+
* Count leading `../` segments in an import path. Returns 0 for non-relative imports (no leading
|
|
3
|
+
* `..`).
|
|
4
4
|
*/
|
|
5
5
|
export default function countImportDepth(path: string): number;
|
|
6
6
|
//# sourceMappingURL=max-import-depth.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"max-import-depth.d.ts","sourceRoot":"","sources":["../../src/rules/max-import-depth.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"max-import-depth.d.ts","sourceRoot":"","sources":["../../src/rules/max-import-depth.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAiB7D"}
|
|
@@ -1,29 +1,64 @@
|
|
|
1
|
+
/* -------------------------------------------------------------------------- */
|
|
2
|
+
/* Import-depth helper for detecting parent path climbs. */
|
|
3
|
+
/* -------------------------------------------------------------------------- */
|
|
1
4
|
/**
|
|
2
|
-
* Count leading `../` segments in an import path.
|
|
3
|
-
*
|
|
5
|
+
* Count leading `../` segments in an import path. Returns 0 for non-relative imports (no leading
|
|
6
|
+
* `..`).
|
|
4
7
|
*/
|
|
5
8
|
export default function countImportDepth(path) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
return 0;
|
|
9
|
-
}
|
|
10
|
-
// `.../` is not a relative path — skip triple+ dot
|
|
11
|
-
if (len > 2 && path.charCodeAt(2) === 46) {
|
|
12
|
-
return 0;
|
|
9
|
+
if (!isParentRelativePath(path)) {
|
|
10
|
+
return NO_PARENT_IMPORT_DEPTH;
|
|
13
11
|
}
|
|
14
12
|
let depth = 0;
|
|
15
|
-
let
|
|
16
|
-
while (
|
|
17
|
-
path.charCodeAt(idx) === 46 &&
|
|
18
|
-
path.charCodeAt(idx + 1) === 46 &&
|
|
19
|
-
path.charCodeAt(idx + 2) === 47) {
|
|
13
|
+
let index = 0;
|
|
14
|
+
while (hasParentDirectorySegment(path, index)) {
|
|
20
15
|
depth++;
|
|
21
|
-
|
|
16
|
+
index += PARENT_DIRECTORY_SEGMENT_LENGTH;
|
|
22
17
|
}
|
|
23
|
-
|
|
24
|
-
if (idx + 2 === len && path.charCodeAt(idx) === 46 && path.charCodeAt(idx + 1) === 46) {
|
|
18
|
+
if (hasTrailingParentDirectory(path, index)) {
|
|
25
19
|
depth++;
|
|
26
20
|
}
|
|
27
21
|
return depth;
|
|
28
22
|
}
|
|
23
|
+
const CHAR_DOT = 46;
|
|
24
|
+
const CHAR_SLASH = 47;
|
|
25
|
+
const FIRST_CHAR_INDEX = 0;
|
|
26
|
+
const SECOND_CHAR_INDEX = 1;
|
|
27
|
+
const THIRD_CHAR_INDEX = 2;
|
|
28
|
+
const NO_PARENT_IMPORT_DEPTH = 0;
|
|
29
|
+
const PARENT_DIRECTORY_SEGMENT_LENGTH = 3;
|
|
30
|
+
const PARENT_DIRECTORY_TOKEN_LENGTH = 2;
|
|
31
|
+
const isParentRelativePath = (path) => {
|
|
32
|
+
if (path.length < PARENT_DIRECTORY_TOKEN_LENGTH) {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
if (path.charCodeAt(FIRST_CHAR_INDEX) !== CHAR_DOT) {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
if (path.charCodeAt(SECOND_CHAR_INDEX) !== CHAR_DOT) {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
return path.charCodeAt(THIRD_CHAR_INDEX) !== CHAR_DOT;
|
|
42
|
+
};
|
|
43
|
+
const hasParentDirectorySegment = (path, index) => {
|
|
44
|
+
if (index + PARENT_DIRECTORY_TOKEN_LENGTH >= path.length) {
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
if (path.charCodeAt(index) !== CHAR_DOT) {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
if (path.charCodeAt(index + SECOND_CHAR_INDEX) !== CHAR_DOT) {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
return path.charCodeAt(index + THIRD_CHAR_INDEX) === CHAR_SLASH;
|
|
54
|
+
};
|
|
55
|
+
const hasTrailingParentDirectory = (path, index) => {
|
|
56
|
+
if (index + PARENT_DIRECTORY_TOKEN_LENGTH !== path.length) {
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
if (path.charCodeAt(index) !== CHAR_DOT) {
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
return path.charCodeAt(index + SECOND_CHAR_INDEX) === CHAR_DOT;
|
|
63
|
+
};
|
|
29
64
|
//# sourceMappingURL=max-import-depth.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"max-import-depth.js","sourceRoot":"","sources":["../../src/rules/max-import-depth.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,IAAY;IACnD,
|
|
1
|
+
{"version":3,"file":"max-import-depth.js","sourceRoot":"","sources":["../../src/rules/max-import-depth.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,IAAY;IACnD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,OAAO,sBAAsB,CAAC;IAChC,CAAC;IACD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,OAAO,yBAAyB,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QAC9C,KAAK,EAAE,CAAC;QACR,KAAK,IAAI,+BAA+B,CAAC;IAC3C,CAAC;IAED,IAAI,0BAA0B,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QAC5C,KAAK,EAAE,CAAC;IACV,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,QAAQ,GAAG,EAAE,CAAC;AACpB,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAC3B,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAC3B,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,MAAM,+BAA+B,GAAG,CAAC,CAAC;AAC1C,MAAM,6BAA6B,GAAG,CAAC,CAAC;AAExC,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAW,EAAE;IACrD,IAAI,IAAI,CAAC,MAAM,GAAG,6BAA6B,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,QAAQ,EAAE,CAAC;QACnD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,QAAQ,EAAE,CAAC;QACpD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,QAAQ,CAAC;AACxD,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAAC,IAAY,EAAE,KAAa,EAAW,EAAE;IACzE,IAAI,KAAK,GAAG,6BAA6B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACzD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,iBAAiB,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC5D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,gBAAgB,CAAC,KAAK,UAAU,CAAC;AAClE,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,CAAC,IAAY,EAAE,KAAa,EAAW,EAAE;IAC1E,IAAI,KAAK,GAAG,6BAA6B,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,iBAAiB,CAAC,KAAK,QAAQ,CAAC;AACjE,CAAC,CAAC"}
|
|
@@ -1,7 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
interface LineLengthViolation {
|
|
2
2
|
line: number;
|
|
3
3
|
length: number;
|
|
4
|
-
}
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Finds source lines that exceed the configured maximum width.
|
|
7
|
+
*
|
|
8
|
+
* @param source - Source text to scan.
|
|
9
|
+
* @param maxLength - Maximum allowed line width.
|
|
10
|
+
* @returns Line-length violations with one-based line numbers.
|
|
11
|
+
*/
|
|
5
12
|
export default function findLongLines(source: string, maxLength?: number): LineLengthViolation[];
|
|
6
13
|
export {};
|
|
7
14
|
//# sourceMappingURL=max-line-length.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"max-line-length.d.ts","sourceRoot":"","sources":["../../src/rules/max-line-length.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"max-line-length.d.ts","sourceRoot":"","sources":["../../src/rules/max-line-length.ts"],"names":[],"mappings":"AAGA,UAAU,mBAAmB;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AA4ED;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CACnC,MAAM,EAAE,MAAM,EACd,SAAS,SAAqB,GAC7B,mBAAmB,EAAE,CAmBvB"}
|
|
@@ -1,14 +1,69 @@
|
|
|
1
1
|
const DEFAULT_MAX_LENGTH = 150;
|
|
2
|
-
const
|
|
2
|
+
const CHAR_CODE_CARRIAGE_RETURN = 13;
|
|
3
|
+
const lineContainsURL = (source, start, end) => {
|
|
4
|
+
const httpIndex = source.indexOf('http://', start);
|
|
5
|
+
if (httpIndex !== -1 && httpIndex < end) {
|
|
6
|
+
return true;
|
|
7
|
+
}
|
|
8
|
+
const httpsIndex = source.indexOf('https://', start);
|
|
9
|
+
return httpsIndex !== -1 && httpsIndex < end;
|
|
10
|
+
};
|
|
11
|
+
const nextLineEnd = (source, lineStart) => {
|
|
12
|
+
const newlineIndex = source.indexOf('\n', lineStart);
|
|
13
|
+
if (newlineIndex === -1) {
|
|
14
|
+
return source.length;
|
|
15
|
+
}
|
|
16
|
+
return newlineIndex;
|
|
17
|
+
};
|
|
18
|
+
const contentEndForLine = (source, lineStart, lineEnd) => {
|
|
19
|
+
if (lineEnd > lineStart && source.charCodeAt(lineEnd - 1) === CHAR_CODE_CARRIAGE_RETURN) {
|
|
20
|
+
return lineEnd - 1;
|
|
21
|
+
}
|
|
22
|
+
return lineEnd;
|
|
23
|
+
};
|
|
24
|
+
const addLineViolation = (violations, check) => {
|
|
25
|
+
const { lineEnd, lineNumber, lineStart, maxLength, source } = check;
|
|
26
|
+
const contentEnd = contentEndForLine(source, lineStart, lineEnd);
|
|
27
|
+
const length = contentEnd - lineStart;
|
|
28
|
+
if (length > maxLength && !lineContainsURL(source, lineStart, contentEnd)) {
|
|
29
|
+
violations.push({ length, line: lineNumber });
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
const nextLineStart = (lineEnd) => lineEnd + 1;
|
|
33
|
+
const nextLineCursor = (cursor, lineEnd) => ({
|
|
34
|
+
lineNumber: cursor.lineNumber + 1,
|
|
35
|
+
lineStart: nextLineStart(lineEnd),
|
|
36
|
+
});
|
|
37
|
+
const addCursorViolation = (violations, source, maxLength, cursor) => {
|
|
38
|
+
const lineEnd = nextLineEnd(source, cursor.lineStart);
|
|
39
|
+
addLineViolation(violations, {
|
|
40
|
+
lineEnd,
|
|
41
|
+
lineNumber: cursor.lineNumber,
|
|
42
|
+
lineStart: cursor.lineStart,
|
|
43
|
+
maxLength,
|
|
44
|
+
source,
|
|
45
|
+
});
|
|
46
|
+
return lineEnd;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Finds source lines that exceed the configured maximum width.
|
|
50
|
+
*
|
|
51
|
+
* @param source - Source text to scan.
|
|
52
|
+
* @param maxLength - Maximum allowed line width.
|
|
53
|
+
* @returns Line-length violations with one-based line numbers.
|
|
54
|
+
*/
|
|
3
55
|
export default function findLongLines(source, maxLength = DEFAULT_MAX_LENGTH) {
|
|
56
|
+
if (source.length <= maxLength) {
|
|
57
|
+
return [];
|
|
58
|
+
}
|
|
4
59
|
const violations = [];
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
if (
|
|
9
|
-
|
|
60
|
+
let cursor = { lineNumber: 1, lineStart: 0 };
|
|
61
|
+
while (cursor.lineStart <= source.length) {
|
|
62
|
+
const lineEnd = addCursorViolation(violations, source, maxLength, cursor);
|
|
63
|
+
if (lineEnd === source.length) {
|
|
64
|
+
break;
|
|
10
65
|
}
|
|
11
|
-
|
|
66
|
+
cursor = nextLineCursor(cursor, lineEnd);
|
|
12
67
|
}
|
|
13
68
|
return violations;
|
|
14
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"max-line-length.js","sourceRoot":"","sources":["../../src/rules/max-line-length.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"max-line-length.js","sourceRoot":"","sources":["../../src/rules/max-line-length.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Determines whether comment text is likely dead source code.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* to a score; if the score meets the threshold, the comment is flagged.
|
|
7
|
-
*
|
|
8
|
-
* Optimized: pre-compiled regex, line scanning via indexOf, minimal
|
|
9
|
-
* string allocations.
|
|
4
|
+
* @param text - Raw comment text without comment delimiters.
|
|
5
|
+
* @returns True when the text scores as commented-out code.
|
|
10
6
|
*/
|
|
11
7
|
export default function isCommentedOutCode(text: string): boolean;
|
|
12
8
|
//# sourceMappingURL=no-commented-out-code.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-commented-out-code.d.ts","sourceRoot":"","sources":["../../src/rules/no-commented-out-code.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"no-commented-out-code.d.ts","sourceRoot":"","sources":["../../src/rules/no-commented-out-code.ts"],"names":[],"mappings":"AAgQA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAehE"}
|
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
* Optimized: pre-compiled regex, line scanning via indexOf, minimal
|
|
9
|
-
* string allocations.
|
|
10
|
-
*/
|
|
1
|
+
/* -------------------------------------------------------------------------- */
|
|
2
|
+
/* Detection heuristic for commented-out source code. Checks whether a */
|
|
3
|
+
/* Comment's text content looks like code rather than natural language. Uses */
|
|
4
|
+
/* A scoring approach: each code indicator adds to a score; if the score */
|
|
5
|
+
/* Meets the threshold, the comment is flagged. Optimized: pre-compiled */
|
|
6
|
+
/* Regex, line scanning via indexOf, minimal string allocations. */
|
|
7
|
+
/* -------------------------------------------------------------------------- */
|
|
11
8
|
// Pre-compiled regex patterns
|
|
12
9
|
const RE_ARROW_FN = /\b=>\s*[{(\w]/;
|
|
13
10
|
const RE_ASSIGNMENT = /\b\w+\s*=\s*[^=]/;
|
|
@@ -21,6 +18,22 @@ const RE_KEYWORD_SCAN = /\b(await|async|function|class|import|export|return|thro
|
|
|
21
18
|
const RE_NATURAL_START = /^(a|an|the|this|that|these|those|we|you|it|is|are|was|were|to|in|of|for|with|on|at|by|from|see|note|use)\s/i;
|
|
22
19
|
const RE_JSDOC_TAG = /^@\w+/;
|
|
23
20
|
const RE_URL = /https?:\/\//;
|
|
21
|
+
const CHAR_CODE_SPACE = 32;
|
|
22
|
+
const CHAR_CODE_OPEN_BRACE = 123;
|
|
23
|
+
const CHAR_CODE_UPPER_A = 65;
|
|
24
|
+
const CHAR_CODE_UPPER_Z = 90;
|
|
25
|
+
const CHAR_CODE_LOWER_A = 97;
|
|
26
|
+
const CHAR_CODE_LOWER_Z = 122;
|
|
27
|
+
const MIN_COMMENT_LENGTH = 3;
|
|
28
|
+
const KEYWORD_SCORE = 2;
|
|
29
|
+
const PATTERN_SCORE = 2;
|
|
30
|
+
const MULTILINE_LINE_THRESHOLD = 3;
|
|
31
|
+
const MULTILINE_SCORE = 1;
|
|
32
|
+
const NATURAL_LANGUAGE_PENALTY = 3;
|
|
33
|
+
const JSDOC_TAG_PENALTY = 10;
|
|
34
|
+
const URL_PENALTY = 5;
|
|
35
|
+
const SENTENCE_CASE_PENALTY = 2;
|
|
36
|
+
const FLAG_SCORE_THRESHOLD = 3;
|
|
24
37
|
// Code-indicative keywords
|
|
25
38
|
const CODE_KEYWORDS = new Set([
|
|
26
39
|
'const',
|
|
@@ -64,118 +77,160 @@ const CODE_KEYWORDS = new Set([
|
|
|
64
77
|
'private',
|
|
65
78
|
'public',
|
|
66
79
|
]);
|
|
67
|
-
/**
|
|
68
|
-
|
|
80
|
+
/**
|
|
81
|
+
* Extract first whitespace-delimited word from text.
|
|
82
|
+
*/
|
|
83
|
+
const firstWord = (text) => {
|
|
69
84
|
let end = 0;
|
|
70
85
|
const len = text.length;
|
|
71
|
-
while (end < len && text.charCodeAt(end) >
|
|
86
|
+
while (end < len && text.charCodeAt(end) > CHAR_CODE_SPACE) {
|
|
72
87
|
end++;
|
|
73
88
|
}
|
|
74
89
|
return text.slice(0, end).toLowerCase();
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
let hasCodeTokens = RE_CODE_TOKEN.test(normalized);
|
|
83
|
-
if (!hasCodeTokens) {
|
|
84
|
-
hasCodeTokens = CODE_KEYWORDS.has(firstWord(normalized));
|
|
85
|
-
}
|
|
86
|
-
if (!hasCodeTokens && !RE_KEYWORD_SCAN.test(normalized)) {
|
|
87
|
-
return false;
|
|
90
|
+
};
|
|
91
|
+
const countOpenBraces = (source, start, end) => {
|
|
92
|
+
let count = 0;
|
|
93
|
+
for (let idx = start; idx < end; idx++) {
|
|
94
|
+
if (source.charCodeAt(idx) === CHAR_CODE_OPEN_BRACE) {
|
|
95
|
+
count++;
|
|
96
|
+
}
|
|
88
97
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
98
|
+
return count;
|
|
99
|
+
};
|
|
100
|
+
const hasCodeTokenSignal = (normalized) => {
|
|
101
|
+
if (RE_CODE_TOKEN.test(normalized)) {
|
|
102
|
+
return true;
|
|
103
|
+
}
|
|
104
|
+
if (CODE_KEYWORDS.has(firstWord(normalized))) {
|
|
105
|
+
return true;
|
|
106
|
+
}
|
|
107
|
+
return RE_KEYWORD_SCAN.test(normalized);
|
|
108
|
+
};
|
|
109
|
+
const nextLineEnd = (source, position) => {
|
|
110
|
+
const lineEnd = source.indexOf('\n', position);
|
|
111
|
+
if (lineEnd === -1) {
|
|
112
|
+
return source.length;
|
|
113
|
+
}
|
|
114
|
+
return lineEnd;
|
|
115
|
+
};
|
|
116
|
+
const firstNonWhitespaceIndex = (source, start, end) => {
|
|
117
|
+
let index = start;
|
|
118
|
+
while (index < end && source.charCodeAt(index) <= CHAR_CODE_SPACE) {
|
|
119
|
+
index++;
|
|
120
|
+
}
|
|
121
|
+
return index;
|
|
122
|
+
};
|
|
123
|
+
const firstLineWord = (source, start, end) => {
|
|
124
|
+
let wordEnd = start;
|
|
125
|
+
while (wordEnd < end && source.charCodeAt(wordEnd) > CHAR_CODE_SPACE) {
|
|
126
|
+
wordEnd++;
|
|
127
|
+
}
|
|
128
|
+
return source
|
|
129
|
+
.slice(start, wordEnd)
|
|
130
|
+
.toLowerCase()
|
|
131
|
+
.replace(/[;:,]$/, '');
|
|
132
|
+
};
|
|
133
|
+
const lineKeywordScore = (source, lineStart, lineEnd) => {
|
|
134
|
+
const clean = firstLineWord(source, lineStart, lineEnd);
|
|
135
|
+
if (CODE_KEYWORDS.has(clean)) {
|
|
136
|
+
return { hasFoundKeyword: true, score: KEYWORD_SCORE };
|
|
137
|
+
}
|
|
138
|
+
return { hasFoundKeyword: false, score: 0 };
|
|
139
|
+
};
|
|
140
|
+
const addLineStats = (stats, normalized, lineStart, lineEnd) => {
|
|
141
|
+
const keywordScore = lineKeywordScore(normalized, lineStart, lineEnd);
|
|
142
|
+
return {
|
|
143
|
+
braceCount: stats.braceCount + countOpenBraces(normalized, lineStart, lineEnd),
|
|
144
|
+
hasFoundKeyword: stats.hasFoundKeyword || keywordScore.hasFoundKeyword,
|
|
145
|
+
lineCount: stats.lineCount + 1,
|
|
146
|
+
score: stats.score + keywordScore.score,
|
|
147
|
+
};
|
|
148
|
+
};
|
|
149
|
+
const scanLineStats = (normalized) => {
|
|
150
|
+
let stats = {
|
|
151
|
+
braceCount: 0,
|
|
152
|
+
hasFoundKeyword: false,
|
|
153
|
+
lineCount: 0,
|
|
154
|
+
score: 0,
|
|
155
|
+
};
|
|
94
156
|
let pos = 0;
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
let lineEnd = normalized.indexOf('\n', pos);
|
|
99
|
-
if (lineEnd === -1) {
|
|
100
|
-
lineEnd = len;
|
|
101
|
-
}
|
|
102
|
-
// Skip leading whitespace
|
|
103
|
-
let lineStart = pos;
|
|
104
|
-
while (lineStart < lineEnd && normalized.charCodeAt(lineStart) <= 32) {
|
|
105
|
-
lineStart++;
|
|
106
|
-
}
|
|
157
|
+
while (pos < normalized.length) {
|
|
158
|
+
const lineEnd = nextLineEnd(normalized, pos);
|
|
159
|
+
const lineStart = firstNonWhitespaceIndex(normalized, pos, lineEnd);
|
|
107
160
|
if (lineStart < lineEnd) {
|
|
108
|
-
|
|
109
|
-
// Count braces in this line
|
|
110
|
-
for (let idx = lineStart; idx < lineEnd; idx++) {
|
|
111
|
-
if (normalized.charCodeAt(idx) === 123) {
|
|
112
|
-
braceCount++;
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
// Extract first word of line
|
|
116
|
-
let wordEnd = lineStart;
|
|
117
|
-
while (wordEnd < lineEnd && normalized.charCodeAt(wordEnd) > 32) {
|
|
118
|
-
wordEnd++;
|
|
119
|
-
}
|
|
120
|
-
const fw = normalized.slice(lineStart, wordEnd).toLowerCase();
|
|
121
|
-
// Strip trailing punctuation
|
|
122
|
-
const clean = fw.replace(/[;:,]$/, '');
|
|
123
|
-
if (CODE_KEYWORDS.has(clean)) {
|
|
124
|
-
score += 2;
|
|
125
|
-
foundKeyword = true;
|
|
126
|
-
}
|
|
161
|
+
stats = addLineStats(stats, normalized, lineStart, lineEnd);
|
|
127
162
|
}
|
|
128
163
|
pos = lineEnd + 1;
|
|
129
164
|
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
165
|
+
return stats;
|
|
166
|
+
};
|
|
167
|
+
const patternScore = (normalized) => {
|
|
168
|
+
const patterns = [
|
|
169
|
+
RE_ARROW_FN,
|
|
170
|
+
RE_ASSIGNMENT,
|
|
171
|
+
RE_SEMICOLON_LINE,
|
|
172
|
+
RE_DOT_CALL,
|
|
173
|
+
RE_TEMPLATE,
|
|
174
|
+
RE_JSX_TAG,
|
|
175
|
+
RE_SPREAD,
|
|
176
|
+
];
|
|
177
|
+
return patterns.reduce((score, pattern) => {
|
|
178
|
+
if (pattern.test(normalized)) {
|
|
179
|
+
return score + PATTERN_SCORE;
|
|
180
|
+
}
|
|
181
|
+
return score;
|
|
182
|
+
}, 0);
|
|
183
|
+
};
|
|
184
|
+
const isSentenceCaseSingleLine = (normalized, stats) => !stats.hasFoundKeyword &&
|
|
185
|
+
stats.braceCount === 0 &&
|
|
186
|
+
stats.lineCount === 1 &&
|
|
187
|
+
normalized.charCodeAt(0) >= CHAR_CODE_UPPER_A &&
|
|
188
|
+
normalized.charCodeAt(0) <= CHAR_CODE_UPPER_Z &&
|
|
189
|
+
normalized.charCodeAt(1) >= CHAR_CODE_LOWER_A &&
|
|
190
|
+
normalized.charCodeAt(1) <= CHAR_CODE_LOWER_Z;
|
|
191
|
+
const languagePenalty = (normalized, stats) => {
|
|
192
|
+
let penalty = 0;
|
|
193
|
+
if (!stats.hasFoundKeyword && RE_NATURAL_START.test(normalized)) {
|
|
194
|
+
penalty += NATURAL_LANGUAGE_PENALTY;
|
|
142
195
|
}
|
|
143
|
-
if (
|
|
144
|
-
|
|
196
|
+
if (RE_JSDOC_TAG.test(normalized)) {
|
|
197
|
+
penalty += JSDOC_TAG_PENALTY;
|
|
145
198
|
}
|
|
146
|
-
if (
|
|
147
|
-
|
|
199
|
+
if (!stats.hasFoundKeyword && RE_URL.test(normalized)) {
|
|
200
|
+
penalty += URL_PENALTY;
|
|
148
201
|
}
|
|
149
|
-
if (
|
|
150
|
-
|
|
202
|
+
if (isSentenceCaseSingleLine(normalized, stats)) {
|
|
203
|
+
penalty += SENTENCE_CASE_PENALTY;
|
|
151
204
|
}
|
|
152
|
-
|
|
205
|
+
return penalty;
|
|
206
|
+
};
|
|
207
|
+
const structuralScore = (stats) => {
|
|
208
|
+
const { braceCount, lineCount, score: baseScore } = stats;
|
|
209
|
+
let score = baseScore;
|
|
153
210
|
if (braceCount >= 1) {
|
|
154
211
|
score += braceCount;
|
|
155
212
|
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
score += 1;
|
|
159
|
-
}
|
|
160
|
-
// 5. Natural-language penalties
|
|
161
|
-
if (!foundKeyword && RE_NATURAL_START.test(normalized)) {
|
|
162
|
-
score -= 3;
|
|
163
|
-
}
|
|
164
|
-
if (RE_JSDOC_TAG.test(normalized)) {
|
|
165
|
-
score -= 10;
|
|
213
|
+
if (lineCount >= MULTILINE_LINE_THRESHOLD) {
|
|
214
|
+
score += MULTILINE_SCORE;
|
|
166
215
|
}
|
|
167
|
-
|
|
168
|
-
|
|
216
|
+
return score;
|
|
217
|
+
};
|
|
218
|
+
/**
|
|
219
|
+
* Determines whether comment text is likely dead source code.
|
|
220
|
+
*
|
|
221
|
+
* @param text - Raw comment text without comment delimiters.
|
|
222
|
+
* @returns True when the text scores as commented-out code.
|
|
223
|
+
*/
|
|
224
|
+
export default function isCommentedOutCode(text) {
|
|
225
|
+
const normalized = text.trim();
|
|
226
|
+
if (normalized.length < MIN_COMMENT_LENGTH) {
|
|
227
|
+
return false;
|
|
169
228
|
}
|
|
170
|
-
if (!
|
|
171
|
-
|
|
172
|
-
lineCount === 1 &&
|
|
173
|
-
normalized.charCodeAt(0) >= 65 &&
|
|
174
|
-
normalized.charCodeAt(0) <= 90 &&
|
|
175
|
-
normalized.charCodeAt(1) >= 97 &&
|
|
176
|
-
normalized.charCodeAt(1) <= 122) {
|
|
177
|
-
score -= 2;
|
|
229
|
+
if (!hasCodeTokenSignal(normalized)) {
|
|
230
|
+
return false;
|
|
178
231
|
}
|
|
179
|
-
|
|
232
|
+
const stats = scanLineStats(normalized);
|
|
233
|
+
const score = structuralScore(stats) + patternScore(normalized) - languagePenalty(normalized, stats);
|
|
234
|
+
return score >= FLAG_SCORE_THRESHOLD;
|
|
180
235
|
}
|
|
181
236
|
//# sourceMappingURL=no-commented-out-code.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-commented-out-code.js","sourceRoot":"","sources":["../../src/rules/no-commented-out-code.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"no-commented-out-code.js","sourceRoot":"","sources":["../../src/rules/no-commented-out-code.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAEhF,8BAA8B;AAC9B,MAAM,WAAW,GAAG,eAAe,CAAC;AACpC,MAAM,aAAa,GAAG,kBAAkB,CAAC;AACzC,MAAM,iBAAiB,GAAG,QAAQ,CAAC;AACnC,MAAM,WAAW,GAAG,SAAS,CAAC;AAC9B,MAAM,WAAW,GAAG,YAAY,CAAC;AACjC,MAAM,UAAU,GAAG,cAAc,CAAC;AAClC,MAAM,SAAS,GAAG,WAAW,CAAC;AAC9B,MAAM,aAAa,GAAG,oBAAoB,CAAC;AAC3C,MAAM,eAAe,GACnB,sGAAsG,CAAC;AACzG,MAAM,gBAAgB,GACpB,6GAA6G,CAAC;AAChH,MAAM,YAAY,GAAG,OAAO,CAAC;AAC7B,MAAM,MAAM,GAAG,aAAa,CAAC;AAC7B,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACjC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAC9B,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,wBAAwB,GAAG,CAAC,CAAC;AACnC,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,MAAM,wBAAwB,GAAG,CAAC,CAAC;AACnC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAChC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAE/B,2BAA2B;AAC3B,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC5B,OAAO;IACP,KAAK;IACL,KAAK;IACL,UAAU;IACV,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,IAAI;IACJ,KAAK;IACL,OAAO;IACP,QAAQ;IACR,KAAK;IACL,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,WAAW;IACX,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,SAAS;IACT,YAAY;IACZ,QAAQ;IACR,YAAY;IACZ,OAAO;IACP,UAAU;IACV,SAAS;IACT,MAAM;IACN,SAAS;IACT,QAAQ;IACR,KAAK;IACL,KAAK;IACL,UAAU;IACV,UAAU;IACV,SAAS;IACT,WAAW;IACX,SAAS;IACT,QAAQ;CACT,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,SAAS,GAAG,CAAC,IAAY,EAAU,EAAE;IACzC,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;IACxB,OAAO,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,eAAe,EAAE,CAAC;QAC3D,GAAG,EAAE,CAAC;IACR,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AAC1C,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,MAAc,EAAE,KAAa,EAAE,GAAW,EAAU,EAAE;IAC7E,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,GAAG,GAAG,KAAK,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;QACvC,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,oBAAoB,EAAE,CAAC;YACpD,KAAK,EAAE,CAAC;QACV,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AASF,MAAM,kBAAkB,GAAG,CAAC,UAAkB,EAAW,EAAE;IACzD,IAAI,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,QAAgB,EAAU,EAAE;IAC/D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/C,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;QACnB,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,MAAc,EAAE,KAAa,EAAE,GAAW,EAAU,EAAE;IACrF,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,OAAO,KAAK,GAAG,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,eAAe,EAAE,CAAC;QAClE,KAAK,EAAE,CAAC;IACV,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,KAAa,EAAE,GAAW,EAAU,EAAE;IAC3E,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,OAAO,OAAO,GAAG,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,eAAe,EAAE,CAAC;QACrE,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,MAAM;SACV,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC;SACrB,WAAW,EAAE;SACb,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CACvB,MAAc,EACd,SAAiB,EACjB,OAAe,EAC8B,EAAE;IAC/C,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACxD,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;IACzD,CAAC;IACD,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AAC9C,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CACnB,KAAgB,EAChB,UAAkB,EAClB,SAAiB,EACjB,OAAe,EACJ,EAAE;IACb,MAAM,YAAY,GAAG,gBAAgB,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACtE,OAAO;QACL,UAAU,EAAE,KAAK,CAAC,UAAU,GAAG,eAAe,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC;QAC9E,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,YAAY,CAAC,eAAe;QACtE,SAAS,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC;QAC9B,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK;KACxC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,UAAkB,EAAa,EAAE;IACtD,IAAI,KAAK,GAAc;QACrB,UAAU,EAAE,CAAC;QACb,eAAe,EAAE,KAAK;QACtB,SAAS,EAAE,CAAC;QACZ,KAAK,EAAE,CAAC;KACT,CAAC;IACF,IAAI,GAAG,GAAG,CAAC,CAAC;IAEZ,OAAO,GAAG,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,uBAAuB,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAEpE,IAAI,SAAS,GAAG,OAAO,EAAE,CAAC;YACxB,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC9D,CAAC;QAED,GAAG,GAAG,OAAO,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,UAAkB,EAAU,EAAE;IAClD,MAAM,QAAQ,GAAG;QACf,WAAW;QACX,aAAa;QACb,iBAAiB;QACjB,WAAW;QACX,WAAW;QACX,UAAU;QACV,SAAS;KACV,CAAC;IACF,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,OAAO,EAAU,EAAE;QAChD,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7B,OAAO,KAAK,GAAG,aAAa,CAAC;QAC/B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,EAAE,CAAC,CAAC,CAAC;AACR,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAAC,UAAkB,EAAE,KAAgB,EAAW,EAAE,CACjF,CAAC,KAAK,CAAC,eAAe;IACtB,KAAK,CAAC,UAAU,KAAK,CAAC;IACtB,KAAK,CAAC,SAAS,KAAK,CAAC;IACrB,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,iBAAiB;IAC7C,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,iBAAiB;IAC7C,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,iBAAiB;IAC7C,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC;AAEhD,MAAM,eAAe,GAAG,CAAC,UAAkB,EAAE,KAAgB,EAAU,EAAE;IACvE,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAChE,OAAO,IAAI,wBAAwB,CAAC;IACtC,CAAC;IACD,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAClC,OAAO,IAAI,iBAAiB,CAAC;IAC/B,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACtD,OAAO,IAAI,WAAW,CAAC;IACzB,CAAC;IACD,IAAI,wBAAwB,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;QAChD,OAAO,IAAI,qBAAqB,CAAC;IACnC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,KAAgB,EAAU,EAAE;IACnD,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAC1D,IAAI,KAAK,GAAG,SAAS,CAAC;IACtB,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;QACpB,KAAK,IAAI,UAAU,CAAC;IACtB,CAAC;IACD,IAAI,SAAS,IAAI,wBAAwB,EAAE,CAAC;QAC1C,KAAK,IAAI,eAAe,CAAC;IAC3B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,IAAY;IACrD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,UAAU,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IACxC,MAAM,KAAK,GACT,eAAe,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,GAAG,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAEzF,OAAO,KAAK,IAAI,oBAAoB,CAAC;AACvC,CAAC"}
|