eslint-plugin-etc-misc 1.1.4 → 1.1.5
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/dist/_internal/casing.js +1 -1
- package/dist/_internal/casing.js.map +1 -1
- package/dist/_internal/create-external-rule.d.ts +2 -1
- package/dist/_internal/create-external-rule.d.ts.map +1 -1
- package/dist/_internal/create-external-rule.js +56 -7
- package/dist/_internal/create-external-rule.js.map +1 -1
- package/dist/_internal/get-core-rule.d.ts +1 -5
- package/dist/_internal/get-core-rule.d.ts.map +1 -1
- package/dist/_internal/get-core-rule.js.map +1 -1
- package/dist/_internal/identifier-blocks.js +3 -3
- package/dist/_internal/import-patterns.d.ts.map +1 -1
- package/dist/_internal/import-patterns.js +6 -5
- package/dist/_internal/import-patterns.js.map +1 -1
- package/dist/_internal/rule-creator.d.ts +7 -7
- package/dist/_internal/rule-creator.d.ts.map +1 -1
- package/dist/_internal/rule-creator.js +2 -1
- package/dist/_internal/rule-creator.js.map +1 -1
- package/dist/_internal/symbol-usage.d.ts.map +1 -1
- package/dist/_internal/symbol-usage.js +15 -14
- package/dist/_internal/symbol-usage.js.map +1 -1
- package/dist/_internal/syntax-selectors.js +1 -1
- package/dist/_internal/syntax-selectors.js.map +1 -1
- package/dist/configs/all-strict.d.ts +2 -2
- package/dist/configs/all-strict.d.ts.map +1 -1
- package/dist/configs/all-strict.js +9 -6
- package/dist/configs/all-strict.js.map +1 -1
- package/dist/configs/all.d.ts +2 -2
- package/dist/configs/all.d.ts.map +1 -1
- package/dist/configs/all.js +9 -3
- package/dist/configs/all.js.map +1 -1
- package/dist/configs/strict-type-checked.d.ts +2 -2
- package/dist/configs/strict-type-checked.d.ts.map +1 -1
- package/dist/configs/strict-type-checked.js +5 -4
- package/dist/configs/strict-type-checked.js.map +1 -1
- package/dist/configs/strict.d.ts +2 -2
- package/dist/configs/strict.d.ts.map +1 -1
- package/dist/configs/strict.js +6 -1
- package/dist/configs/strict.js.map +1 -1
- package/dist/configs.d.ts +6 -6
- package/dist/configs.d.ts.map +1 -1
- package/dist/plugin.cjs +633 -540
- package/dist/plugin.cjs.map +3 -3
- package/dist/plugin.d.cts +2 -2
- package/dist/plugin.d.ts +2 -2
- package/dist/plugin.d.ts.map +1 -1
- package/dist/rules/class-match-filename.js +3 -3
- package/dist/rules/class-match-filename.js.map +1 -1
- package/dist/rules/comment-spacing.d.ts.map +1 -1
- package/dist/rules/comment-spacing.js +6 -3
- package/dist/rules/comment-spacing.js.map +1 -1
- package/dist/rules/consistent-empty-lines.js +1 -1
- package/dist/rules/consistent-import.d.ts.map +1 -1
- package/dist/rules/consistent-import.js +4 -3
- package/dist/rules/consistent-import.js.map +1 -1
- package/dist/rules/consistent-optional-props.d.ts.map +1 -1
- package/dist/rules/consistent-optional-props.js +3 -2
- package/dist/rules/consistent-optional-props.js.map +1 -1
- package/dist/rules/export-matching-filename-only.d.ts.map +1 -1
- package/dist/rules/export-matching-filename-only.js +13 -14
- package/dist/rules/export-matching-filename-only.js.map +1 -1
- package/dist/rules/match-filename.d.ts.map +1 -1
- package/dist/rules/match-filename.js +4 -3
- package/dist/rules/match-filename.js.map +1 -1
- package/dist/rules/no-assign-mutated-array.d.ts.map +1 -1
- package/dist/rules/no-assign-mutated-array.js +14 -14
- package/dist/rules/no-assign-mutated-array.js.map +1 -1
- package/dist/rules/no-commented-out-code.d.ts.map +1 -1
- package/dist/rules/no-commented-out-code.js +15 -13
- package/dist/rules/no-commented-out-code.js.map +1 -1
- package/dist/rules/no-const-enum.d.ts.map +1 -1
- package/dist/rules/no-const-enum.js +2 -1
- package/dist/rules/no-const-enum.js.map +1 -1
- package/dist/rules/no-expression-empty-lines.js +1 -1
- package/dist/rules/no-foreach.d.ts.map +1 -1
- package/dist/rules/no-foreach.js +2 -2
- package/dist/rules/no-foreach.js.map +1 -1
- package/dist/rules/no-function-declare-after-return.d.ts.map +1 -1
- package/dist/rules/no-function-declare-after-return.js +17 -12
- package/dist/rules/no-function-declare-after-return.js.map +1 -1
- package/dist/rules/no-implicit-any-catch.d.ts.map +1 -1
- package/dist/rules/no-implicit-any-catch.js +8 -7
- package/dist/rules/no-implicit-any-catch.js.map +1 -1
- package/dist/rules/no-misused-generics.d.ts.map +1 -1
- package/dist/rules/no-misused-generics.js +0 -1
- package/dist/rules/no-misused-generics.js.map +1 -1
- package/dist/rules/no-param-reassign.d.ts.map +1 -1
- package/dist/rules/no-param-reassign.js +9 -9
- package/dist/rules/no-param-reassign.js.map +1 -1
- package/dist/rules/no-self-import.js +11 -11
- package/dist/rules/no-self-import.js.map +1 -1
- package/dist/rules/no-shadow.d.ts.map +1 -1
- package/dist/rules/no-shadow.js +2 -1
- package/dist/rules/no-shadow.js.map +1 -1
- package/dist/rules/no-single-line-comment.d.ts.map +1 -1
- package/dist/rules/no-single-line-comment.js +3 -2
- package/dist/rules/no-single-line-comment.js.map +1 -1
- package/dist/rules/no-unnecessary-as-const.d.ts.map +1 -1
- package/dist/rules/no-unnecessary-as-const.js +4 -3
- package/dist/rules/no-unnecessary-as-const.js.map +1 -1
- package/dist/rules/no-unnecessary-break.d.ts.map +1 -1
- package/dist/rules/no-unnecessary-break.js +4 -2
- package/dist/rules/no-unnecessary-break.js.map +1 -1
- package/dist/rules/no-unnecessary-template-literal.d.ts.map +1 -1
- package/dist/rules/no-unnecessary-template-literal.js +3 -2
- package/dist/rules/no-unnecessary-template-literal.js.map +1 -1
- package/dist/rules/no-use-extend-native.d.ts.map +1 -1
- package/dist/rules/no-use-extend-native.js +23 -19
- package/dist/rules/no-use-extend-native.js.map +1 -1
- package/dist/rules/no-vulnerable.d.ts.map +1 -1
- package/dist/rules/no-vulnerable.js +14 -23
- package/dist/rules/no-vulnerable.js.map +1 -1
- package/dist/rules/only-export-name.d.ts.map +1 -1
- package/dist/rules/only-export-name.js +7 -8
- package/dist/rules/only-export-name.js.map +1 -1
- package/dist/rules/prefer-includes.js +2 -2
- package/dist/rules/prefer-includes.js.map +1 -1
- package/dist/rules/prefer-interface.d.ts.map +1 -1
- package/dist/rules/prefer-interface.js +6 -5
- package/dist/rules/prefer-interface.js.map +1 -1
- package/dist/rules/require-jsdoc.d.ts.map +1 -1
- package/dist/rules/require-jsdoc.js +8 -7
- package/dist/rules/require-jsdoc.js.map +1 -1
- package/dist/rules/sort-array.d.ts.map +1 -1
- package/dist/rules/sort-array.js +2 -1
- package/dist/rules/sort-array.js.map +1 -1
- package/dist/rules/sort-class-members.d.ts.map +1 -1
- package/dist/rules/sort-class-members.js +6 -4
- package/dist/rules/sort-class-members.js.map +1 -1
- package/dist/rules/sort-export-specifiers.d.ts.map +1 -1
- package/dist/rules/sort-export-specifiers.js +3 -4
- package/dist/rules/sort-export-specifiers.js.map +1 -1
- package/dist/rules/sort-keys.d.ts.map +1 -1
- package/dist/rules/sort-keys.js +4 -3
- package/dist/rules/sort-keys.js.map +1 -1
- package/dist/rules/switch-case-spacing.d.ts.map +1 -1
- package/dist/rules/switch-case-spacing.js +3 -2
- package/dist/rules/switch-case-spacing.js.map +1 -1
- package/dist/rules/template-literal-format.js +2 -2
- package/dist/rules/throw-error.d.ts.map +1 -1
- package/dist/rules/throw-error.js +7 -10
- package/dist/rules/throw-error.js.map +1 -1
- package/dist/rules/throw-new-error.js +2 -2
- package/dist/rules/throw-new-error.js.map +1 -1
- package/dist/rules/typescript-array-callback-return-type.d.ts.map +1 -1
- package/dist/rules/typescript-array-callback-return-type.js +5 -5
- package/dist/rules/typescript-array-callback-return-type.js.map +1 -1
- package/dist/rules/typescript-class-methods-use-this.d.ts.map +1 -1
- package/dist/rules/typescript-class-methods-use-this.js +4 -2
- package/dist/rules/typescript-class-methods-use-this.js.map +1 -1
- package/dist/rules/typescript-no-boolean-literal-type.d.ts.map +1 -1
- package/dist/rules/typescript-no-boolean-literal-type.js +2 -1
- package/dist/rules/typescript-no-boolean-literal-type.js.map +1 -1
- package/dist/rules/typescript-no-never.d.ts.map +1 -1
- package/dist/rules/typescript-no-never.js +3 -3
- package/dist/rules/typescript-no-never.js.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-const.d.ts.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-const.js +18 -23
- package/dist/rules/typescript-no-redundant-undefined-const.js.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-default-parameter.d.ts.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-default-parameter.js +35 -36
- package/dist/rules/typescript-no-redundant-undefined-default-parameter.js.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-let.d.ts.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-let.js +17 -15
- package/dist/rules/typescript-no-redundant-undefined-let.js.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-optional.d.ts.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-optional.js +3 -2
- package/dist/rules/typescript-no-redundant-undefined-optional.js.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-promise-return-type.d.ts.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-promise-return-type.js +25 -24
- package/dist/rules/typescript-no-redundant-undefined-promise-return-type.js.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-readonly-property.d.ts.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-readonly-property.js +17 -15
- package/dist/rules/typescript-no-redundant-undefined-readonly-property.js.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-return-type.d.ts.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-return-type.js +24 -22
- package/dist/rules/typescript-no-redundant-undefined-return-type.js.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-var.d.ts.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-var.js +17 -15
- package/dist/rules/typescript-no-redundant-undefined-var.js.map +1 -1
- package/dist/rules/typescript-no-restricted-syntax.d.ts +4 -3
- package/dist/rules/typescript-no-restricted-syntax.d.ts.map +1 -1
- package/dist/rules/typescript-no-restricted-syntax.js +8 -4
- package/dist/rules/typescript-no-restricted-syntax.js.map +1 -1
- package/dist/rules/typescript-no-unsafe-object-assignment.d.ts +4 -3
- package/dist/rules/typescript-no-unsafe-object-assignment.d.ts.map +1 -1
- package/dist/rules/typescript-no-unsafe-object-assignment.js +8 -4
- package/dist/rules/typescript-no-unsafe-object-assignment.js.map +1 -1
- package/dist/rules/typescript-prefer-enum.d.ts.map +1 -1
- package/dist/rules/typescript-prefer-enum.js +15 -16
- package/dist/rules/typescript-prefer-enum.js.map +1 -1
- package/dist/rules/typescript-prefer-named-tuple-members.d.ts.map +1 -1
- package/dist/rules/typescript-prefer-named-tuple-members.js +10 -10
- package/dist/rules/typescript-prefer-named-tuple-members.js.map +1 -1
- package/dist/rules/typescript-prefer-readonly-array-parameter.d.ts.map +1 -1
- package/dist/rules/typescript-prefer-readonly-array-parameter.js +25 -22
- package/dist/rules/typescript-prefer-readonly-array-parameter.js.map +1 -1
- package/dist/rules/typescript-prefer-readonly-array.d.ts.map +1 -1
- package/dist/rules/typescript-prefer-readonly-array.js +5 -4
- package/dist/rules/typescript-prefer-readonly-array.js.map +1 -1
- package/dist/rules/typescript-prefer-readonly-index-signature.d.ts.map +1 -1
- package/dist/rules/typescript-prefer-readonly-index-signature.js +3 -1
- package/dist/rules/typescript-prefer-readonly-index-signature.js.map +1 -1
- package/dist/rules/typescript-prefer-readonly-map.d.ts.map +1 -1
- package/dist/rules/typescript-prefer-readonly-map.js +2 -1
- package/dist/rules/typescript-prefer-readonly-map.js.map +1 -1
- package/dist/rules/typescript-prefer-readonly-property.d.ts.map +1 -1
- package/dist/rules/typescript-prefer-readonly-property.js +6 -5
- package/dist/rules/typescript-prefer-readonly-property.js.map +1 -1
- package/dist/rules/typescript-prefer-readonly-record.d.ts.map +1 -1
- package/dist/rules/typescript-prefer-readonly-record.js +8 -6
- package/dist/rules/typescript-prefer-readonly-record.js.map +1 -1
- package/dist/rules/typescript-prefer-readonly-set.d.ts.map +1 -1
- package/dist/rules/typescript-prefer-readonly-set.js +2 -1
- package/dist/rules/typescript-prefer-readonly-set.js.map +1 -1
- package/dist/rules/typescript-require-prop-type-annotation.d.ts.map +1 -1
- package/dist/rules/typescript-require-prop-type-annotation.js +3 -2
- package/dist/rules/typescript-require-prop-type-annotation.js.map +1 -1
- package/dist/rules/typescript-require-readonly-array-property-type.d.ts.map +1 -1
- package/dist/rules/typescript-require-readonly-array-property-type.js +11 -11
- package/dist/rules/typescript-require-readonly-array-property-type.js.map +1 -1
- package/dist/rules/typescript-require-readonly-array-return-type.d.ts.map +1 -1
- package/dist/rules/typescript-require-readonly-array-return-type.js +19 -16
- package/dist/rules/typescript-require-readonly-array-return-type.js.map +1 -1
- package/dist/rules/typescript-require-readonly-array-type-alias.d.ts.map +1 -1
- package/dist/rules/typescript-require-readonly-array-type-alias.js +9 -6
- package/dist/rules/typescript-require-readonly-array-type-alias.js.map +1 -1
- package/dist/rules/typescript-require-readonly-map-parameter-type.d.ts.map +1 -1
- package/dist/rules/typescript-require-readonly-map-parameter-type.js +23 -20
- package/dist/rules/typescript-require-readonly-map-parameter-type.js.map +1 -1
- package/dist/rules/typescript-require-readonly-map-property-type.d.ts.map +1 -1
- package/dist/rules/typescript-require-readonly-map-property-type.js +9 -9
- package/dist/rules/typescript-require-readonly-map-property-type.js.map +1 -1
- package/dist/rules/typescript-require-readonly-map-return-type.d.ts.map +1 -1
- package/dist/rules/typescript-require-readonly-map-return-type.js +17 -14
- package/dist/rules/typescript-require-readonly-map-return-type.js.map +1 -1
- package/dist/rules/typescript-require-readonly-map-type-alias.d.ts.map +1 -1
- package/dist/rules/typescript-require-readonly-map-type-alias.js +7 -4
- package/dist/rules/typescript-require-readonly-map-type-alias.js.map +1 -1
- package/dist/rules/typescript-require-readonly-record-parameter-type.d.ts.map +1 -1
- package/dist/rules/typescript-require-readonly-record-parameter-type.js +26 -23
- package/dist/rules/typescript-require-readonly-record-parameter-type.js.map +1 -1
- package/dist/rules/typescript-require-readonly-record-property-type.d.ts.map +1 -1
- package/dist/rules/typescript-require-readonly-record-property-type.js +12 -12
- package/dist/rules/typescript-require-readonly-record-property-type.js.map +1 -1
- package/dist/rules/typescript-require-readonly-record-return-type.d.ts.map +1 -1
- package/dist/rules/typescript-require-readonly-record-return-type.js +20 -17
- package/dist/rules/typescript-require-readonly-record-return-type.js.map +1 -1
- package/dist/rules/typescript-require-readonly-record-type-alias.d.ts.map +1 -1
- package/dist/rules/typescript-require-readonly-record-type-alias.js +10 -7
- package/dist/rules/typescript-require-readonly-record-type-alias.js.map +1 -1
- package/dist/rules/typescript-require-readonly-set-parameter-type.d.ts.map +1 -1
- package/dist/rules/typescript-require-readonly-set-parameter-type.js +23 -20
- package/dist/rules/typescript-require-readonly-set-parameter-type.js.map +1 -1
- package/dist/rules/typescript-require-readonly-set-property-type.d.ts.map +1 -1
- package/dist/rules/typescript-require-readonly-set-property-type.js +9 -9
- package/dist/rules/typescript-require-readonly-set-property-type.js.map +1 -1
- package/dist/rules/typescript-require-readonly-set-return-type.d.ts.map +1 -1
- package/dist/rules/typescript-require-readonly-set-return-type.js +17 -14
- package/dist/rules/typescript-require-readonly-set-return-type.js.map +1 -1
- package/dist/rules/typescript-require-readonly-set-type-alias.d.ts.map +1 -1
- package/dist/rules/typescript-require-readonly-set-type-alias.js +7 -4
- package/dist/rules/typescript-require-readonly-set-type-alias.js.map +1 -1
- package/dist/rules/typescript-require-this-void.d.ts.map +1 -1
- package/dist/rules/typescript-require-this-void.js +3 -2
- package/dist/rules/typescript-require-this-void.js.map +1 -1
- package/dist/rules/underscore-internal.d.ts.map +1 -1
- package/dist/rules/underscore-internal.js +10 -12
- package/dist/rules/underscore-internal.js.map +1 -1
- package/dist/rules/unused-internal-properties.js +2 -2
- package/dist/rules/unused-internal-properties.js.map +1 -1
- package/dist/rules/uppercase-iife.js +2 -2
- package/dist/rules/uppercase-iife.js.map +1 -1
- package/dist/rules/words.js +2 -2
- package/dist/rules/words.js.map +1 -1
- package/dist/rules.d.ts +2 -1
- package/dist/rules.d.ts.map +1 -1
- package/dist/rules.js +269 -268
- package/dist/rules.js.map +1 -1
- package/docs/docusaurus/package.json +1 -1
- package/docs/docusaurus/src/components/GitHubStats.jsx +7 -1
- package/docs/docusaurus/src/pages/index.jsx +5 -0
- package/docs/docusaurus/typedoc-plugins/hashToBangLinksCore.mjs +1 -1
- package/docs/docusaurus/typedoc-plugins/prefixDocLinksCore.mjs +4 -5
- package/package.json +37 -39
package/dist/_internal/casing.js
CHANGED
|
@@ -29,6 +29,6 @@ export const filenameStem = (filePath) => {
|
|
|
29
29
|
const normalizedPath = filePath.replaceAll("\\", "/");
|
|
30
30
|
const pathSegments = stringSplit(normalizedPath, "/");
|
|
31
31
|
const lastPathSegment = arrayAt(pathSegments, -1) ?? filePath;
|
|
32
|
-
return lastPathSegment.replace(/\.[
|
|
32
|
+
return lastPathSegment.replace(/\.[^.\/]+$/v, "");
|
|
33
33
|
};
|
|
34
34
|
//# sourceMappingURL=casing.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"casing.js","sourceRoot":"","sources":["../../src/_internal/casing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAO/D,MAAM,UAAU,GAAG,CAAC,KAAa,EAAqB,EAAE,CACpD,qBAAqB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AAEnE,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAU,EAAE,CACvC,SAAS,CACL,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,CACjB,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAC9D,EACD,EAAE,CACL,CAAC;AAEN;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,MAAc,EAAU,EAAE;IAC9D,QAAQ,MAAM,EAAE,CAAC;QACb,KAAK,WAAW,CAAC,CAAC,CAAC;YACf,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC/B,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,CAAC;QAED,KAAK,YAAY,CAAC,CAAC,CAAC;YAChB,OAAO,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7C,CAAC;QAED,KAAK,YAAY,CAAC,CAAC,CAAC;YAChB,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YACN,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;AACL,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAU,EAAE;IACrD,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,WAAW,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACtD,MAAM,eAAe,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC;IAE9D,OAAO,eAAe,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"casing.js","sourceRoot":"","sources":["../../src/_internal/casing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAO/D,MAAM,UAAU,GAAG,CAAC,KAAa,EAAqB,EAAE,CACpD,qBAAqB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AAEnE,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAU,EAAE,CACvC,SAAS,CACL,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,CACjB,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAC9D,EACD,EAAE,CACL,CAAC;AAEN;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,MAAc,EAAU,EAAE;IAC9D,QAAQ,MAAM,EAAE,CAAC;QACb,KAAK,WAAW,CAAC,CAAC,CAAC;YACf,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC/B,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,CAAC;QAED,KAAK,YAAY,CAAC,CAAC,CAAC;YAChB,OAAO,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7C,CAAC;QAED,KAAK,YAAY,CAAC,CAAC,CAAC;YAChB,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YACN,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;AACL,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAU,EAAE;IACrD,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,WAAW,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACtD,MAAM,eAAe,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC;IAE9D,OAAO,eAAe,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AACtD,CAAC,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { TSESLint } from "@typescript-eslint/utils";
|
|
2
2
|
import type { UnknownArray } from "type-fest";
|
|
3
|
-
type
|
|
3
|
+
import type { RuleDocsMetadata } from "./rule-creator.js";
|
|
4
|
+
type RuleModule = TSESLint.RuleModule<string, Readonly<UnknownArray>, RuleDocsMetadata>;
|
|
4
5
|
/**
|
|
5
6
|
* Resolve a rule module from an external ESLint plugin's `rules` map.
|
|
6
7
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-external-rule.d.ts","sourceRoot":"","sources":["../../src/_internal/create-external-rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAiB,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"create-external-rule.d.ts","sourceRoot":"","sources":["../../src/_internal/create-external-rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAiB,MAAM,WAAW,CAAC;AAI7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,KAAK,UAAU,GAAG,QAAQ,CAAC,UAAU,CACjC,MAAM,EACN,QAAQ,CAAC,YAAY,CAAC,EACtB,gBAAgB,CACnB,CAAC;AAsGF;;GAEG;AACH,eAAO,MAAM,yBAAyB,GAClC,QAAQ,OAAO,EACf,UAAU,MAAM,EAChB,YAAY,MAAM,KACnB,OAeF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC1B,cAAc,OAAO,EACrB,SAAS,MAAM,KAChB,UAuCF,CAAC"}
|
|
@@ -1,6 +1,49 @@
|
|
|
1
|
-
import { objectHasOwn, safeCastTo } from "ts-extras";
|
|
1
|
+
import { keyIn, objectEntries, objectHasOwn, safeCastTo } from "ts-extras";
|
|
2
2
|
const isObjectRecord = (value) => typeof value === "object" && value !== null;
|
|
3
3
|
const hasCreateFunction = (value) => isObjectRecord(value) && typeof value["create"] === "function";
|
|
4
|
+
const isRuleMetaDocs = (value) => isObjectRecord(value) && typeof value["description"] === "string";
|
|
5
|
+
const getNormalizedMetaType = (value) => {
|
|
6
|
+
if (value === "layout" || value === "problem" || value === "suggestion") {
|
|
7
|
+
return value;
|
|
8
|
+
}
|
|
9
|
+
return "problem";
|
|
10
|
+
};
|
|
11
|
+
const getNormalizedMetaMessages = (value) => {
|
|
12
|
+
if (!isObjectRecord(value)) {
|
|
13
|
+
return {};
|
|
14
|
+
}
|
|
15
|
+
let normalizedMessages = {};
|
|
16
|
+
for (const [key, message] of objectEntries(value)) {
|
|
17
|
+
if (typeof message !== "string") {
|
|
18
|
+
continue;
|
|
19
|
+
}
|
|
20
|
+
normalizedMessages = {
|
|
21
|
+
...normalizedMessages,
|
|
22
|
+
[key]: message,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
return normalizedMessages;
|
|
26
|
+
};
|
|
27
|
+
const isJsonSchemaLike = (value) => {
|
|
28
|
+
if (!isObjectRecord(value)) {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
return (keyIn(value, "allOf") ||
|
|
32
|
+
keyIn(value, "anyOf") ||
|
|
33
|
+
keyIn(value, "oneOf") ||
|
|
34
|
+
keyIn(value, "properties") ||
|
|
35
|
+
keyIn(value, "type"));
|
|
36
|
+
};
|
|
37
|
+
const isJsonSchemaArray = (value) => Array.isArray(value) && value.every((entry) => isJsonSchemaLike(entry));
|
|
38
|
+
const getNormalizedMetaSchema = (value) => {
|
|
39
|
+
if (isJsonSchemaArray(value)) {
|
|
40
|
+
return value;
|
|
41
|
+
}
|
|
42
|
+
if (isJsonSchemaLike(value)) {
|
|
43
|
+
return value;
|
|
44
|
+
}
|
|
45
|
+
return [];
|
|
46
|
+
};
|
|
4
47
|
const createLegacyContextCompat = (context) => new Proxy(context, {
|
|
5
48
|
get: (target, property, receiver) => {
|
|
6
49
|
if (property === "getSourceCode") {
|
|
@@ -39,25 +82,31 @@ export const adaptExternalRule = (externalRule, docsUrl) => {
|
|
|
39
82
|
throw new TypeError("External rule module does not expose create().");
|
|
40
83
|
}
|
|
41
84
|
const externalRuleRecord = externalRule;
|
|
42
|
-
const
|
|
85
|
+
const externalMetaRecord = isObjectRecord(externalRuleRecord["meta"])
|
|
43
86
|
? externalRuleRecord["meta"]
|
|
44
87
|
: {};
|
|
45
|
-
const externalDocs =
|
|
46
|
-
?
|
|
47
|
-
: {
|
|
88
|
+
const externalDocs = isRuleMetaDocs(externalMetaRecord["docs"])
|
|
89
|
+
? externalMetaRecord["docs"]
|
|
90
|
+
: {
|
|
91
|
+
description: "External rule re-exported by eslint-plugin-etc-misc.",
|
|
92
|
+
};
|
|
48
93
|
const create = (context) => externalRule.create(createLegacyContextCompat(context));
|
|
94
|
+
const externalRuleModule = safeCastTo(externalRuleRecord);
|
|
49
95
|
return {
|
|
50
|
-
...
|
|
96
|
+
...externalRuleModule,
|
|
51
97
|
create,
|
|
52
98
|
defaultOptions: Array.isArray(externalRuleRecord["defaultOptions"])
|
|
53
99
|
? safeCastTo(externalRuleRecord["defaultOptions"])
|
|
54
100
|
: [],
|
|
55
101
|
meta: {
|
|
56
|
-
...
|
|
102
|
+
...externalMetaRecord,
|
|
57
103
|
docs: {
|
|
58
104
|
...externalDocs,
|
|
59
105
|
url: docsUrl,
|
|
60
106
|
},
|
|
107
|
+
messages: getNormalizedMetaMessages(externalMetaRecord["messages"]),
|
|
108
|
+
schema: getNormalizedMetaSchema(externalMetaRecord["schema"]),
|
|
109
|
+
type: getNormalizedMetaType(externalMetaRecord["type"]),
|
|
61
110
|
},
|
|
62
111
|
};
|
|
63
112
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-external-rule.js","sourceRoot":"","sources":["../../src/_internal/create-external-rule.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"create-external-rule.js","sourceRoot":"","sources":["../../src/_internal/create-external-rule.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAW3E,MAAM,cAAc,GAAG,CAAC,KAAc,EAA0B,EAAE,CAC9D,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AAEhD,MAAM,iBAAiB,GAAG,CACtB,KAAc,EAEsC,EAAE,CACtD,cAAc,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,UAAU,CAAC;AAEnE,MAAM,cAAc,GAAG,CAAC,KAAc,EAAsC,EAAE,CAC1E,cAAc,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,QAAQ,CAAC;AAEtE,MAAM,qBAAqB,GAAG,CAAC,KAAc,EAA8B,EAAE;IACzE,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,YAAY,EAAE,CAAC;QACtE,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAAC,KAAc,EAA0B,EAAE;IACzE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,kBAAkB,GAA2B,EAAE,CAAC;IAEpD,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAChD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC9B,SAAS;QACb,CAAC;QAED,kBAAkB,GAAG;YACjB,GAAG,kBAAkB;YACrB,CAAC,GAAG,CAAC,EAAE,OAAO;SACjB,CAAC;IACN,CAAC;IAED,OAAO,kBAAkB,CAAC;AAC9B,CAAC,CAAC;AAKF,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAA6B,EAAE;IACnE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,CACH,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC;QACrB,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC;QACrB,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC;QACrB,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC;QAC1B,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CACvB,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CACtB,KAAc,EACsB,EAAE,CACtC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;AAE5E,MAAM,uBAAuB,GAAG,CAC5B,KAAc,EACc,EAAE;IAC9B,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,EAAE,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAAC,OAAoB,EAAe,EAAE,CACpE,IAAI,KAAK,CAAC,OAAO,EAAE;IACf,GAAG,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAW,EAAE;QACzC,IAAI,QAAQ,KAAK,eAAe,EAAE,CAAC;YAC/B,OAAO,GAAkC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC;QAClE,CAAC;QAED,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;YAC7B,OAAO,GAAW,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;QACzC,CAAC;QAED,IAAI,QAAQ,KAAK,qBAAqB,EAAE,CAAC;YACrC,OAAO,GAAW,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC;QACjD,CAAC;QAED,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACxB,OAAO,GAAW,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC;QACpC,CAAC;QAED,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC;CACJ,CAAC,CAAC;AAEP;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACrC,MAAe,EACf,QAAgB,EAChB,UAAkB,EACX,EAAE;IACT,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,SAAS,CACf,WAAW,UAAU,sCAAsC,CAC9D,CAAC;IACN,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACX,SAAS,QAAQ,8BAA8B,UAAU,IAAI,CAChE,CAAC;IACN,CAAC;IAED,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;AAC3B,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC7B,YAAqB,EACrB,OAAe,EACL,EAAE;IACZ,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,SAAS,CAAC,gDAAgD,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,kBAAkB,GAAG,YAAY,CAAC;IACxC,MAAM,kBAAkB,GAAG,cAAc,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACjE,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC;QAC5B,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,YAAY,GAAG,cAAc,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC3D,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC;QAC5B,CAAC,CAAC;YACI,WAAW,EACP,sDAAsD;SAC7D,CAAC;IACR,MAAM,MAAM,GAAyB,CAAC,OAAO,EAAE,EAAE,CAC7C,YAAY,CAAC,MAAM,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5D,MAAM,kBAAkB,GACpB,UAAU,CAAsB,kBAAkB,CAAC,CAAC;IAExD,OAAO;QACH,GAAG,kBAAkB;QACrB,MAAM;QACN,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;YAC/D,CAAC,CAAC,UAAU,CACN,kBAAkB,CAAC,gBAAgB,CAAC,CACvC;YACH,CAAC,CAAC,EAAE;QACR,IAAI,EAAE;YACF,GAAG,kBAAkB;YACrB,IAAI,EAAE;gBACF,GAAG,YAAY;gBACf,GAAG,EAAE,OAAO;aACf;YACD,QAAQ,EAAE,yBAAyB,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;YACnE,MAAM,EAAE,uBAAuB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YAC7D,IAAI,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;SAC1D;KACJ,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
import type { TSESLint } from "@typescript-eslint/utils";
|
|
2
|
-
import type { UnknownArray } from "type-fest";
|
|
3
|
-
type RuleModule = TSESLint.RuleModule<string, Readonly<UnknownArray>>;
|
|
4
1
|
/**
|
|
5
2
|
* Resolve a core ESLint rule module by rule ID.
|
|
6
3
|
*/
|
|
7
|
-
export declare const getCoreRule: (ruleId: string) =>
|
|
8
|
-
export {};
|
|
4
|
+
export declare const getCoreRule: (ruleId: string) => unknown;
|
|
9
5
|
//# sourceMappingURL=get-core-rule.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-core-rule.d.ts","sourceRoot":"","sources":["../../src/_internal/get-core-rule.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get-core-rule.d.ts","sourceRoot":"","sources":["../../src/_internal/get-core-rule.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,KAAG,OAQ5C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-core-rule.js","sourceRoot":"","sources":["../../src/_internal/get-core-rule.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get-core-rule.js","sourceRoot":"","sources":["../../src/_internal/get-core-rule.ts"],"names":[],"mappings":"AAAA,qJAAqJ;AACrJ,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAc,EAAW,EAAE;IACnD,gLAAgL;IAChL,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { stringSplit } from "ts-extras";
|
|
2
|
-
const camelCaseBoundaryPattern = /(?<=[\da-z])(?=[A-Z])/
|
|
3
|
-
const nonAlphanumericPattern = /[^0-9A-Za-z]+/
|
|
4
|
-
const whitespacePattern = /\s+/
|
|
2
|
+
const camelCaseBoundaryPattern = /(?<=[\da-z])(?=[A-Z])/gv;
|
|
3
|
+
const nonAlphanumericPattern = /[^0-9A-Za-z]+/gv;
|
|
4
|
+
const whitespacePattern = /\s+/gv;
|
|
5
5
|
/**
|
|
6
6
|
* Split identifier-like text into non-empty blocks while preserving original
|
|
7
7
|
* block casing.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-patterns.d.ts","sourceRoot":"","sources":["../../src/_internal/import-patterns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"import-patterns.d.ts","sourceRoot":"","sources":["../../src/_internal/import-patterns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAK/D;;GAEG;AACH,KAAK,iBAAiB,GAAG,QAAQ,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC,CAAC,CAAC;AA2CH;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB,GACjC,YAAY,MAAM,EAClB,SAAS,QAAQ,CAAC,iBAAiB,CAAC,GAAG,SAAS,EAChD,yBAAyB,SAAS,MAAM,EAAE,KAC3C,OAOF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,GAChC,MAAM,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,KACxB,MAAM,GAAG,SAAsC,CAAC;AAEnD,YAAY,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -1,18 +1,19 @@
|
|
|
1
|
+
import { AST_NODE_TYPES } from "@typescript-eslint/utils";
|
|
1
2
|
import { minimatch } from "minimatch";
|
|
2
3
|
const matchesAnyPattern = (value, patterns) => patterns.some((pattern) => minimatch(value, pattern, {
|
|
3
4
|
dot: true,
|
|
4
5
|
nocase: false,
|
|
5
6
|
}));
|
|
6
7
|
const getImportSourceText = (node) => {
|
|
7
|
-
if (node.type ===
|
|
8
|
-
node.type ===
|
|
8
|
+
if (node.type === AST_NODE_TYPES.ExportAllDeclaration ||
|
|
9
|
+
node.type === AST_NODE_TYPES.ImportDeclaration) {
|
|
9
10
|
return node.source.value;
|
|
10
11
|
}
|
|
11
|
-
if (node.type ===
|
|
12
|
+
if (node.type === AST_NODE_TYPES.ExportNamedDeclaration) {
|
|
12
13
|
return node.source?.value;
|
|
13
14
|
}
|
|
14
|
-
if (node.type ===
|
|
15
|
-
return node.source.type ===
|
|
15
|
+
if (node.type === AST_NODE_TYPES.ImportExpression) {
|
|
16
|
+
return node.source.type === AST_NODE_TYPES.Literal &&
|
|
16
17
|
typeof node.source.value === "string"
|
|
17
18
|
? node.source.value
|
|
18
19
|
: undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-patterns.js","sourceRoot":"","sources":["../../src/_internal/import-patterns.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAUtC,MAAM,iBAAiB,GAAG,CACtB,KAAa,EACb,QAA2B,EACpB,EAAE,CACT,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CACtB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE;IACtB,GAAG,EAAE,IAAI;IACT,MAAM,EAAE,KAAK;CAChB,CAAC,CACL,CAAC;AAEN,MAAM,mBAAmB,GAAG,CAAC,IAAuB,EAAsB,EAAE;IACxE,IACI,IAAI,CAAC,IAAI,KAAK,
|
|
1
|
+
{"version":3,"file":"import-patterns.js","sourceRoot":"","sources":["../../src/_internal/import-patterns.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAUtC,MAAM,iBAAiB,GAAG,CACtB,KAAa,EACb,QAA2B,EACpB,EAAE,CACT,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CACtB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE;IACtB,GAAG,EAAE,IAAI;IACT,MAAM,EAAE,KAAK;CAChB,CAAC,CACL,CAAC;AAEN,MAAM,mBAAmB,GAAG,CAAC,IAAuB,EAAsB,EAAE;IACxE,IACI,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,oBAAoB;QACjD,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,iBAAiB,EAChD,CAAC;QACC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;IAC7B,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,sBAAsB,EAAE,CAAC;QACtD,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;IAC9B,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,gBAAgB,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,OAAO;YAC9C,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ;YACrC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;YACnB,CAAC,CAAC,SAAS,CAAC;IACpB,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CACpB,OAAgD,EAChD,uBAA0C,EACf,EAAE,CAAC,CAAC;IAC/B,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE;IAC3B,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,uBAAuB;CACzD,CAAC,CAAC;AAEH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACpC,UAAkB,EAClB,OAAgD,EAChD,uBAA0C,EACnC,EAAE;IACT,MAAM,aAAa,GAAG,eAAe,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;IACxE,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,CAAC,iBAAiB,CAAC,UAAU,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;AAC/D,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACnC,IAAuB,EACL,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -5,20 +5,20 @@ import { ESLintUtils } from "@typescript-eslint/utils";
|
|
|
5
5
|
* Broad rule-module type used by incrementally migrated rule files.
|
|
6
6
|
*/
|
|
7
7
|
export type AnyRuleModule = TSESLint.RuleModule<string, Readonly<UnknownArray>>;
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Additional docs metadata used by this plugin's rule catalog and presets.
|
|
10
|
+
*/
|
|
11
|
+
export interface RuleDocsMetadata extends TSESLint.RuleMetaDataDocs {
|
|
10
12
|
readonly catalogId?: string;
|
|
11
13
|
readonly catalogIndex?: number;
|
|
12
14
|
readonly deprecated?: boolean;
|
|
13
15
|
readonly frozen?: boolean;
|
|
14
|
-
readonly recommended
|
|
16
|
+
readonly recommended?: boolean;
|
|
15
17
|
readonly requiresTypeChecking?: boolean;
|
|
16
18
|
readonly ruleName?: string;
|
|
17
19
|
readonly suggestion?: boolean;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
* Shared rule factory for plugin rules.
|
|
21
|
-
*/
|
|
20
|
+
}
|
|
21
|
+
type RuleCreatorFactory = ReturnType<typeof ESLintUtils.RuleCreator<RuleDocsMetadata>>;
|
|
22
22
|
/**
|
|
23
23
|
* Typed factory for defining plugin rules with consistent docs URLs.
|
|
24
24
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-creator.d.ts","sourceRoot":"","sources":["../../src/_internal/rule-creator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;AAEhF,
|
|
1
|
+
{"version":3,"file":"rule-creator.d.ts","sourceRoot":"","sources":["../../src/_internal/rule-creator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,QAAQ,CAAC,gBAAgB;IAC/D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,KAAK,kBAAkB,GAAG,UAAU,CAChC,OAAO,WAAW,CAAC,WAAW,CAAC,gBAAgB,CAAC,CACnD,CAAC;AAOF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,kBAKpB,CAAC"}
|
|
@@ -2,10 +2,11 @@ import { ESLintUtils } from "@typescript-eslint/utils";
|
|
|
2
2
|
/**
|
|
3
3
|
* Shared rule factory for plugin rules.
|
|
4
4
|
*/
|
|
5
|
+
const createRuleCreator = ESLintUtils.RuleCreator;
|
|
5
6
|
/**
|
|
6
7
|
* Typed factory for defining plugin rules with consistent docs URLs.
|
|
7
8
|
*/
|
|
8
|
-
export const ruleCreator =
|
|
9
|
+
export const ruleCreator = createRuleCreator((name) => {
|
|
9
10
|
const docsPathName = name.replaceAll("/", "-");
|
|
10
11
|
return `https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/${docsPathName}`;
|
|
11
12
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-creator.js","sourceRoot":"","sources":["../../src/_internal/rule-creator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"rule-creator.js","sourceRoot":"","sources":["../../src/_internal/rule-creator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAyBvD;;GAEG;AACH,MAAM,iBAAiB,GAAG,WAAW,CAAC,WAAW,CAAC;AAElD;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GACpB,iBAAiB,CAAmB,CAAC,IAAI,EAAE,EAAE;IACzC,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAE/C,OAAO,kEAAkE,YAAY,EAAE,CAAC;AAC5F,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbol-usage.d.ts","sourceRoot":"","sources":["../../src/_internal/symbol-usage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAG/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"symbol-usage.d.ts","sourceRoot":"","sources":["../../src/_internal/symbol-usage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAG/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAW7E,KAAK,cAAc,GAAG,QAAQ,CAC1B,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC,CAAC,CACrD,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,yBAAyB,GAClC,QAAQ,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,SAAS,KACtC,OAIgD,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAChC,MAAM,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,KAC9B,OA2BF,CAAC;AAyCF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC5B,QAAQ,OAAO,EACf,SAAS,OAAO,EAChB,SAAS,MAAM,KAChB,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAW/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC1B,MAAM,MAAM,EACZ,UAAU,SAAS,QAAQ,CAAC,MAAM,CAAC,EAAE,KACtC,OAAyD,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC5B,gBAAgB,cAAc,EAC9B,MAAM,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,KAC9B,UAAU,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,GAAG,SAOtD,CAAC"}
|
|
@@ -1,31 +1,32 @@
|
|
|
1
1
|
import { getConstrainedTypeAtLocation } from "@typescript-eslint/type-utils";
|
|
2
|
+
import { AST_NODE_TYPES } from "@typescript-eslint/utils";
|
|
2
3
|
import { arrayJoin, isDefined, keyIn } from "ts-extras";
|
|
3
4
|
/**
|
|
4
5
|
* Whether an identifier belongs to an import/export specifier position.
|
|
5
6
|
*/
|
|
6
|
-
export const isImportOrExportSpecifier = (parent) => parent?.type ===
|
|
7
|
-
parent?.type ===
|
|
8
|
-
parent?.type ===
|
|
9
|
-
parent?.type ===
|
|
7
|
+
export const isImportOrExportSpecifier = (parent) => parent?.type === AST_NODE_TYPES.ExportSpecifier ||
|
|
8
|
+
parent?.type === AST_NODE_TYPES.ImportDefaultSpecifier ||
|
|
9
|
+
parent?.type === AST_NODE_TYPES.ImportNamespaceSpecifier ||
|
|
10
|
+
parent?.type === AST_NODE_TYPES.ImportSpecifier;
|
|
10
11
|
/**
|
|
11
12
|
* Whether an identifier is the declaration identifier for supported node types.
|
|
12
13
|
*/
|
|
13
14
|
export const isDeclarationIdentifier = (node) => {
|
|
14
15
|
const { parent } = node;
|
|
15
|
-
if (parent
|
|
16
|
+
if (!isDefined(parent)) {
|
|
16
17
|
return false;
|
|
17
18
|
}
|
|
18
|
-
if (parent.type ===
|
|
19
|
-
parent.type ===
|
|
19
|
+
if (parent.type === AST_NODE_TYPES.TSInterfaceDeclaration ||
|
|
20
|
+
parent.type === AST_NODE_TYPES.TSTypeAliasDeclaration) {
|
|
20
21
|
return parent.id === node;
|
|
21
22
|
}
|
|
22
|
-
if (parent.type ===
|
|
23
|
-
parent.type ===
|
|
24
|
-
parent.type ===
|
|
25
|
-
parent.type ===
|
|
23
|
+
if (parent.type === AST_NODE_TYPES.ClassDeclaration ||
|
|
24
|
+
parent.type === AST_NODE_TYPES.FunctionDeclaration ||
|
|
25
|
+
parent.type === AST_NODE_TYPES.TSDeclareFunction ||
|
|
26
|
+
parent.type === AST_NODE_TYPES.TSEnumDeclaration) {
|
|
26
27
|
return parent.id === node;
|
|
27
28
|
}
|
|
28
|
-
if (parent.type ===
|
|
29
|
+
if (parent.type === AST_NODE_TYPES.VariableDeclarator) {
|
|
29
30
|
return parent.id === node;
|
|
30
31
|
}
|
|
31
32
|
return false;
|
|
@@ -35,11 +36,11 @@ const normalizeTagComment = (text) => {
|
|
|
35
36
|
return undefined;
|
|
36
37
|
}
|
|
37
38
|
if (typeof text === "string") {
|
|
38
|
-
const normalized = text.trim().replaceAll(/\s+/
|
|
39
|
+
const normalized = text.trim().replaceAll(/\s+/gv, " ");
|
|
39
40
|
return normalized.length > 0 ? normalized : undefined;
|
|
40
41
|
}
|
|
41
42
|
const normalized = arrayJoin(text.map((part) => part.text), "")
|
|
42
|
-
.replaceAll(/\s+/
|
|
43
|
+
.replaceAll(/\s+/gv, " ")
|
|
43
44
|
.trim();
|
|
44
45
|
return normalized.length > 0 ? normalized : undefined;
|
|
45
46
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbol-usage.js","sourceRoot":"","sources":["../../src/_internal/symbol-usage.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAiBxD;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACrC,MAAqC,EAC9B,EAAE,CACT,MAAM,EAAE,IAAI,KAAK,
|
|
1
|
+
{"version":3,"file":"symbol-usage.js","sourceRoot":"","sources":["../../src/_internal/symbol-usage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { isDefined, keyIn } from "ts-extras";
|
|
2
|
-
const isSelectorObject = (value) => typeof value === "object" &&
|
|
2
|
+
const isSelectorObject = (value) => typeof value === "object" && keyIn(value, "selector");
|
|
3
3
|
/**
|
|
4
4
|
* Normalize a selector option into a selector entry object.
|
|
5
5
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syntax-selectors.js","sourceRoot":"","sources":["../../src/_internal/syntax-selectors.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAoB7C,MAAM,gBAAgB,GAAG,CACrB,KAA2B,EAI5B,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,
|
|
1
|
+
{"version":3,"file":"syntax-selectors.js","sourceRoot":"","sources":["../../src/_internal/syntax-selectors.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAoB7C,MAAM,gBAAgB,GAAG,CACrB,KAA2B,EAI5B,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAE5D;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACnC,QAA8B,EACX,EAAE;IACrB,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,OAAO;gBACH,QAAQ,EAAE,QAAQ,CAAC,QAAQ;aAC9B,CAAC;QACN,CAAC;QAED,OAAO;YACH,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;SAC9B,CAAC;IACN,CAAC;IAED,OAAO;QACH,QAAQ;KACX,CAAC;AACN,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC1C,OAAuC,EACvC,MAAqE,EACV,EAAE;IAC7D,MAAM,SAAS,GAAsD,EAAE,CAAC;IAExE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC1B,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAuB,EAAQ,EAAE;YAC1D,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACxB,CAAC,CAAC;IACN,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
interface AllStrictConfig {
|
|
2
2
|
readonly name: "etc-misc/all-strict";
|
|
3
3
|
readonly rules: Readonly<Record<string, RuleSeverity>>;
|
|
4
|
-
}
|
|
4
|
+
}
|
|
5
5
|
type RuleSeverity = "error" | "warn";
|
|
6
6
|
/**
|
|
7
7
|
* Flat config preset enabling every plugin rule at `error`, except deprecated
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"all-strict.d.ts","sourceRoot":"","sources":["../../src/configs/all-strict.ts"],"names":[],"mappings":"AAMA,
|
|
1
|
+
{"version":3,"file":"all-strict.d.ts","sourceRoot":"","sources":["../../src/configs/all-strict.ts"],"names":[],"mappings":"AAMA,UAAU,eAAe;IACrB,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;CAC1D;AAED,KAAK,YAAY,GAAG,OAAO,GAAG,MAAM,CAAC;AAgBrC;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,eAGvB,CAAC"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
/* eslint-disable canonical/no-reassign-imports -- Rule entry map intentionally references imported plugin rules metadata. */
|
|
2
|
-
import { objectEntries
|
|
2
|
+
import { objectEntries } from "ts-extras";
|
|
3
3
|
import { rules as pluginRules } from "../rules.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
let allStrictRulesAccumulator = {};
|
|
5
|
+
for (const [ruleName, ruleModule] of objectEntries(pluginRules)) {
|
|
6
|
+
allStrictRulesAccumulator = {
|
|
7
|
+
...allStrictRulesAccumulator,
|
|
8
|
+
[`etc-misc/${ruleName}`]: ruleModule.meta.deprecated === false ? "error" : "warn",
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
const allStrictRules = Object.freeze(allStrictRulesAccumulator);
|
|
9
12
|
/**
|
|
10
13
|
* Flat config preset enabling every plugin rule at `error`, except deprecated
|
|
11
14
|
* rules which remain at `warn`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"all-strict.js","sourceRoot":"","sources":["../../src/configs/all-strict.ts"],"names":[],"mappings":"AAAA,6HAA6H;AAE7H,OAAO,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"all-strict.js","sourceRoot":"","sources":["../../src/configs/all-strict.ts"],"names":[],"mappings":"AAAA,6HAA6H;AAE7H,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,aAAa,CAAC;AASnD,IAAI,yBAAyB,GAAiC,EAAE,CAAC;AAEjE,KAAK,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;IAC9D,yBAAyB,GAAG;QACxB,GAAG,yBAAyB;QAC5B,CAAC,YAAY,QAAQ,EAAE,CAAC,EACpB,UAAU,CAAC,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;KAC9D,CAAC;AACN,CAAC;AAED,MAAM,cAAc,GAA2C,MAAM,CAAC,MAAM,CACxE,yBAAyB,CAC5B,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAoB;IACtC,IAAI,EAAE,qBAAqB;IAC3B,KAAK,EAAE,cAAc;CACxB,CAAC;AAEF,wIAAwI"}
|
package/dist/configs/all.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"all.d.ts","sourceRoot":"","sources":["../../src/configs/all.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"all.d.ts","sourceRoot":"","sources":["../../src/configs/all.ts"],"names":[],"mappings":"AAKA,UAAU,SAAS;IACf,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;CAC1D;AAED,KAAK,YAAY,GAAG,OAAO,GAAG,MAAM,CAAC;AAwBrC;;GAEG;AACH,eAAO,MAAM,GAAG,EAAE,SAGjB,CAAC"}
|
package/dist/configs/all.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* eslint-disable canonical/no-reassign-imports -- Rule entry map intentionally references imported plugin rules object. */
|
|
2
|
-
import { objectEntries
|
|
2
|
+
import { objectEntries } from "ts-extras";
|
|
3
3
|
import { rules as pluginRules } from "../rules.js";
|
|
4
4
|
const getAllPresetSeverity = (ruleModule) => {
|
|
5
5
|
if (ruleModule.meta.deprecated !== false) {
|
|
@@ -7,8 +7,14 @@ const getAllPresetSeverity = (ruleModule) => {
|
|
|
7
7
|
}
|
|
8
8
|
return ruleModule.meta.type === "problem" ? "error" : "warn";
|
|
9
9
|
};
|
|
10
|
-
|
|
11
|
-
const
|
|
10
|
+
let allRulesAccumulator = {};
|
|
11
|
+
for (const [ruleName, ruleModule] of objectEntries(pluginRules)) {
|
|
12
|
+
allRulesAccumulator = {
|
|
13
|
+
...allRulesAccumulator,
|
|
14
|
+
[`etc-misc/${ruleName}`]: getAllPresetSeverity(ruleModule),
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
const allRules = Object.freeze(allRulesAccumulator);
|
|
12
18
|
/**
|
|
13
19
|
* Flat config preset enabling every available plugin rule.
|
|
14
20
|
*/
|
package/dist/configs/all.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"all.js","sourceRoot":"","sources":["../../src/configs/all.ts"],"names":[],"mappings":"AAAA,2HAA2H;
|
|
1
|
+
{"version":3,"file":"all.js","sourceRoot":"","sources":["../../src/configs/all.ts"],"names":[],"mappings":"AAAA,2HAA2H;AAC3H,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,aAAa,CAAC;AASnD,MAAM,oBAAoB,GAAG,CACzB,UAAkD,EACtC,EAAE;IACd,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;AACjE,CAAC,CAAC;AAEF,IAAI,mBAAmB,GAAiC,EAAE,CAAC;AAE3D,KAAK,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;IAC9D,mBAAmB,GAAG;QAClB,GAAG,mBAAmB;QACtB,CAAC,YAAY,QAAQ,EAAE,CAAC,EAAE,oBAAoB,CAAC,UAAU,CAAC;KAC7D,CAAC;AACN,CAAC;AAED,MAAM,QAAQ,GACV,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAEvC;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GAAc;IAC1B,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE,QAAQ;CAClB,CAAC;AAEF,wIAAwI"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
interface StrictTypeCheckedConfig {
|
|
2
2
|
readonly languageOptions: Readonly<{
|
|
3
3
|
readonly parserOptions: Readonly<{
|
|
4
4
|
readonly projectService: true;
|
|
@@ -6,7 +6,7 @@ type StrictTypeCheckedConfig = {
|
|
|
6
6
|
}>;
|
|
7
7
|
readonly name: "etc-misc/strict-type-checked";
|
|
8
8
|
readonly rules: Readonly<Record<string, "error">>;
|
|
9
|
-
}
|
|
9
|
+
}
|
|
10
10
|
/**
|
|
11
11
|
* Strict preset augmented with every non-deprecated rule that requires type
|
|
12
12
|
* information.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strict-type-checked.d.ts","sourceRoot":"","sources":["../../src/configs/strict-type-checked.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"strict-type-checked.d.ts","sourceRoot":"","sources":["../../src/configs/strict-type-checked.ts"],"names":[],"mappings":"AAcA,UAAU,uBAAuB;IAC7B,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC;QAC/B,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC;YAC7B,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC;SACjC,CAAC,CAAC;KACN,CAAC,CAAC;IACH,QAAQ,CAAC,IAAI,EAAE,8BAA8B,CAAC;IAC9C,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACrD;AAkCD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,uBAQ/B,CAAC"}
|
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
/* eslint-disable canonical/no-reassign-imports -- Flat-config strict type-checked preset intentionally inspects imported plugin rule metadata. */
|
|
2
|
-
import {
|
|
2
|
+
import { objectEntries, objectFromEntries, objectHasOwn, safeCastTo, } from "ts-extras";
|
|
3
3
|
import { rules as pluginRules } from "../rules.js";
|
|
4
4
|
import { strict } from "./strict.js";
|
|
5
5
|
const additionalTypeCheckedRuleEntries = objectEntries(pluginRules).flatMap(([ruleName, ruleModule]) => {
|
|
6
6
|
if (ruleModule.meta.deprecated !== false) {
|
|
7
7
|
return [];
|
|
8
8
|
}
|
|
9
|
-
const docsMetadata = ruleModule.meta.docs;
|
|
9
|
+
const docsMetadata = safeCastTo(ruleModule.meta.docs);
|
|
10
10
|
if (docsMetadata?.requiresTypeChecking !== true) {
|
|
11
11
|
return [];
|
|
12
12
|
}
|
|
13
13
|
const qualifiedRuleName = `etc-misc/${ruleName}`;
|
|
14
|
-
if (
|
|
14
|
+
if (objectHasOwn(strict.rules, qualifiedRuleName)) {
|
|
15
15
|
return [];
|
|
16
16
|
}
|
|
17
|
-
|
|
17
|
+
const severity = "error";
|
|
18
|
+
return [[qualifiedRuleName, severity]];
|
|
18
19
|
});
|
|
19
20
|
const strictTypeCheckedRules = {
|
|
20
21
|
...strict.rules,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strict-type-checked.js","sourceRoot":"","sources":["../../src/configs/strict-type-checked.ts"],"names":[],"mappings":"AAAA,kJAAkJ;AAElJ,OAAO,
|
|
1
|
+
{"version":3,"file":"strict-type-checked.js","sourceRoot":"","sources":["../../src/configs/strict-type-checked.ts"],"names":[],"mappings":"AAAA,kJAAkJ;AAElJ,OAAO,EACH,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,UAAU,GACb,MAAM,WAAW,CAAC;AAInB,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAYrC,MAAM,gCAAgC,GAG/B,aAAa,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE;IACjE,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;QACvC,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,YAAY,GAAG,UAAU,CAC3B,UAAU,CAAC,IAAI,CAAC,IAAI,CACvB,CAAC;IAEF,IAAI,YAAY,EAAE,oBAAoB,KAAK,IAAI,EAAE,CAAC;QAC9C,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,iBAAiB,GAAG,YAAY,QAAQ,EAAE,CAAC;IAEjD,IAAI,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,iBAAiB,CAAC,EAAE,CAAC;QAChD,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,OAAgB,CAAC;IAElC,OAAO,CAAC,CAAC,iBAAiB,EAAE,QAAQ,CAAU,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG;IAC3B,GAAG,MAAM,CAAC,KAAK;IACf,GAAG,iBAAiB,CAAC,gCAAgC,CAAC;CACb,CAAC;AAE9C;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA4B;IACtD,eAAe,EAAE;QACb,aAAa,EAAE;YACX,cAAc,EAAE,IAAI;SACvB;KACJ;IACD,IAAI,EAAE,8BAA8B;IACpC,KAAK,EAAE,sBAAsB;CAChC,CAAC;AAEF,wIAAwI"}
|
package/dist/configs/strict.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { recommended } from "./recommended.js";
|
|
2
|
-
|
|
2
|
+
interface StrictConfig {
|
|
3
3
|
readonly name: "etc-misc/strict";
|
|
4
4
|
readonly rules: StrictRules;
|
|
5
|
-
}
|
|
5
|
+
}
|
|
6
6
|
type StrictRules = Readonly<{
|
|
7
7
|
readonly [TRuleName in keyof typeof recommended.rules]: "error";
|
|
8
8
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strict.d.ts","sourceRoot":"","sources":["../../src/configs/strict.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,
|
|
1
|
+
{"version":3,"file":"strict.d.ts","sourceRoot":"","sources":["../../src/configs/strict.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,UAAU,YAAY;IAClB,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;CAC/B;AAED,KAAK,WAAW,GAAG,QAAQ,CAAC;IACxB,QAAQ,EAAE,SAAS,IAAI,MAAM,OAAO,WAAW,CAAC,KAAK,GAAG,OAAO;CAClE,CAAC,CAAC;AAyBH;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,YAGpB,CAAC"}
|
package/dist/configs/strict.js
CHANGED
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import { objectFromEntries, objectKeys, safeCastTo } from "ts-extras";
|
|
2
2
|
import { recommended } from "./recommended.js";
|
|
3
3
|
const recommendedRuleNames = safeCastTo(objectKeys(recommended.rules));
|
|
4
|
-
const
|
|
4
|
+
const strictRulesCandidate = objectFromEntries(recommendedRuleNames.map((ruleName) => [ruleName, "error"]));
|
|
5
|
+
const hasStrictRuleCoverage = (candidateRules) => recommendedRuleNames.every((ruleName) => candidateRules[ruleName] === "error");
|
|
6
|
+
if (!hasStrictRuleCoverage(strictRulesCandidate)) {
|
|
7
|
+
throw new Error("Strict preset synthesis failed to include every recommended rule.");
|
|
8
|
+
}
|
|
9
|
+
const strictRules = strictRulesCandidate;
|
|
5
10
|
/**
|
|
6
11
|
* Strict preset that promotes every recommended rule to `error`.
|
|
7
12
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strict.js","sourceRoot":"","sources":["../../src/configs/strict.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEtE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAW/C,MAAM,oBAAoB,GAAG,UAAU,CAErC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;AAEjC,MAAM,
|
|
1
|
+
{"version":3,"file":"strict.js","sourceRoot":"","sources":["../../src/configs/strict.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEtE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAW/C,MAAM,oBAAoB,GAAG,UAAU,CAErC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;AAEjC,MAAM,oBAAoB,GAAG,iBAAiB,CAC1C,oBAAoB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAgB,CAAC,CAAC,CACvE,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAC1B,cAA8C,EACjB,EAAE,CAC/B,oBAAoB,CAAC,KAAK,CACtB,CAAC,QAAQ,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,OAAO,CACrD,CAAC;AAEN,IAAI,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,EAAE,CAAC;IAC/C,MAAM,IAAI,KAAK,CACX,mEAAmE,CACtE,CAAC;AACN,CAAC;AAED,MAAM,WAAW,GAAgB,oBAAoB,CAAC;AAEtD;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAiB;IAChC,IAAI,EAAE,iBAAiB;IACvB,KAAK,EAAE,WAAW;CACrB,CAAC"}
|