eslint-plugin-etc-misc 1.1.7 → 1.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_internal/import-patterns.js +3 -3
- package/dist/_internal/import-patterns.js.map +1 -1
- package/dist/_internal/rule-catalog.js +4 -4
- package/dist/_internal/rule-catalog.js.map +1 -1
- package/dist/_internal/symbol-usage.d.ts +1 -1
- package/dist/_internal/symbol-usage.d.ts.map +1 -1
- package/dist/_internal/symbol-usage.js +1 -1
- package/dist/_internal/symbol-usage.js.map +1 -1
- package/dist/plugin.cjs +61 -84
- package/dist/plugin.cjs.map +3 -3
- package/dist/rules/match-filename.js +2 -2
- package/dist/rules/match-filename.js.map +1 -1
- package/dist/rules/no-assign-mutated-array.js +3 -3
- package/dist/rules/no-assign-mutated-array.js.map +1 -1
- package/dist/rules/no-const-enum.d.ts.map +1 -1
- package/dist/rules/no-const-enum.js +8 -6
- package/dist/rules/no-const-enum.js.map +1 -1
- package/dist/rules/no-deprecated.js +3 -3
- package/dist/rules/no-deprecated.js.map +1 -1
- package/dist/rules/no-foreach.js +2 -2
- package/dist/rules/no-foreach.js.map +1 -1
- package/dist/rules/no-implicit-any-catch.d.ts.map +1 -1
- package/dist/rules/no-implicit-any-catch.js.map +1 -1
- package/dist/rules/no-internal.js +3 -3
- package/dist/rules/no-internal.js.map +1 -1
- package/dist/rules/no-misused-generics.js +11 -11
- package/dist/rules/no-misused-generics.js.map +1 -1
- package/dist/rules/no-use-extend-native.d.ts.map +1 -1
- package/dist/rules/no-use-extend-native.js +2 -1
- package/dist/rules/no-use-extend-native.js.map +1 -1
- package/dist/rules/object-format.js +2 -2
- package/dist/rules/object-format.js.map +1 -1
- package/dist/rules/sort-array.js +2 -2
- 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.map +1 -1
- package/dist/rules/sort-export-specifiers.js +2 -2
- package/dist/rules/sort-export-specifiers.js.map +1 -1
- package/dist/rules/switch-case-spacing.d.ts.map +1 -1
- package/dist/rules/switch-case-spacing.js +5 -4
- package/dist/rules/switch-case-spacing.js.map +1 -1
- package/dist/rules/throw-error.js +4 -4
- package/dist/rules/throw-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.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 +3 -3
- package/dist/rules/typescript-class-methods-use-this.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 +1 -4
- 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 +1 -4
- 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 +1 -4
- package/dist/rules/typescript-no-redundant-undefined-let.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 +1 -4
- 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 +1 -4
- 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 +1 -4
- 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 +1 -4
- package/dist/rules/typescript-no-redundant-undefined-var.js.map +1 -1
- package/dist/rules/typescript-prefer-enum.d.ts.map +1 -1
- 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 +2 -5
- package/dist/rules/typescript-prefer-named-tuple-members.js.map +1 -1
- package/docs/AGENTS.md +1 -0
- package/docs/docusaurus/package.json +1 -1
- package/docs/docusaurus/src/components/GitHubStats.module.css +18 -3
- package/docs/rules/no-function-declare-after-return.md +31 -34
- package/docs/rules/no-use-extend-native.md +23 -25
- package/docs/rules/no-vulnerable.md +23 -25
- package/package.json +5 -5
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AST_NODE_TYPES } from "@typescript-eslint/utils";
|
|
2
2
|
import { minimatch } from "minimatch";
|
|
3
|
-
const
|
|
3
|
+
const hasAnyPatternMatch = (value, patterns) => patterns.some((pattern) => minimatch(value, pattern, {
|
|
4
4
|
dot: true,
|
|
5
5
|
nocase: false,
|
|
6
6
|
}));
|
|
@@ -36,10 +36,10 @@ const toMergedOptions = (options, defaultDisallowPatterns) => ({
|
|
|
36
36
|
*/
|
|
37
37
|
export const shouldReportImportSource = (sourceText, options, defaultDisallowPatterns) => {
|
|
38
38
|
const mergedOptions = toMergedOptions(options, defaultDisallowPatterns);
|
|
39
|
-
if (!
|
|
39
|
+
if (!hasAnyPatternMatch(sourceText, mergedOptions.disallow)) {
|
|
40
40
|
return false;
|
|
41
41
|
}
|
|
42
|
-
return !
|
|
42
|
+
return !hasAnyPatternMatch(sourceText, mergedOptions.allow);
|
|
43
43
|
};
|
|
44
44
|
/**
|
|
45
45
|
* Gets import source text from supported import/export AST nodes.
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,kBAAkB,GAAG,CACvB,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,kBAAkB,CAAC,UAAU,EAAE,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1D,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,CAAC,kBAAkB,CAAC,UAAU,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACnC,IAAuB,EACL,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -11,10 +11,10 @@ export const toRuleDocId = (ruleName) => ruleName.replaceAll("/", "-");
|
|
|
11
11
|
* Sort rules so core rules come first, then TypeScript-scoped rules.
|
|
12
12
|
*/
|
|
13
13
|
export const compareRuleNamesForCatalog = (leftRuleName, rightRuleName) => {
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
if (
|
|
17
|
-
return
|
|
14
|
+
const isLeftIsTypeScriptRule = leftRuleName.startsWith("typescript/");
|
|
15
|
+
const isRightIsTypeScriptRule = rightRuleName.startsWith("typescript/");
|
|
16
|
+
if (isLeftIsTypeScriptRule !== isRightIsTypeScriptRule) {
|
|
17
|
+
return isLeftIsTypeScriptRule ? 1 : -1;
|
|
18
18
|
}
|
|
19
19
|
return leftRuleName.localeCompare(rightRuleName);
|
|
20
20
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-catalog.js","sourceRoot":"","sources":["../../src/_internal/rule-catalog.ts"],"names":[],"mappings":"AAoBA,MAAM,oBAAoB,GAAG,CAAC,YAAoB,EAAU,EAAE,CAC1D,GAAG,YAAY,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAEvC;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,YAAoB,EAAU,EAAE,CAC5D,IAAI,oBAAoB,CAAC,YAAY,CAAC,EAAE,CAAC;AAE7C;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAU,EAAE,CACpD,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACtC,YAAoB,EACpB,aAAqB,EACf,EAAE;IACR,MAAM,
|
|
1
|
+
{"version":3,"file":"rule-catalog.js","sourceRoot":"","sources":["../../src/_internal/rule-catalog.ts"],"names":[],"mappings":"AAoBA,MAAM,oBAAoB,GAAG,CAAC,YAAoB,EAAU,EAAE,CAC1D,GAAG,YAAY,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAEvC;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,YAAoB,EAAU,EAAE,CAC5D,IAAI,oBAAoB,CAAC,YAAY,CAAC,EAAE,CAAC;AAE7C;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAU,EAAE,CACpD,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACtC,YAAoB,EACpB,aAAqB,EACf,EAAE;IACR,MAAM,sBAAsB,GAAG,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACtE,MAAM,uBAAuB,GAAG,aAAa,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAExE,IAAI,sBAAsB,KAAK,uBAAuB,EAAE,CAAC;QACrD,OAAO,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,YAAY,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;AACrD,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAA4B,EAAe,EAAE;IAC1E,MAAM,eAAe,GAAG,SAAS,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;IACvE,IAAI,OAAO,GAAgC,EAAE,CAAC;IAC9C,IAAI,UAAU,GAA+C,EAAE,CAAC;IAChE,IAAI,OAAO,GAA+C,EAAE,CAAC;IAE7D,KAAK,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC;QACjE,MAAM,YAAY,GAAG,cAAc,GAAG,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,KAAK,GAAqB;YAC5B,SAAS,EAAE,eAAe,CAAC,YAAY,CAAC;YACxC,YAAY;YACZ,KAAK;YACL,gBAAgB,EAAE,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC;YACpD,QAAQ;SACX,CAAC;QAEF,OAAO,GAAG,CAAC,GAAG,OAAO,EAAE,KAAK,CAAC,CAAC;QAC9B,UAAU,GAAG,EAAE,GAAG,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC;QAClD,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;IAC7C,CAAC;IAED,OAAO;QACH,OAAO;QACP,UAAU;QACV,OAAO;KACV,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -16,7 +16,7 @@ export declare const getJsDocTagComments: (symbol: unknown, checker: unknown, ta
|
|
|
16
16
|
/**
|
|
17
17
|
* Return true when text matches any compiled regex pattern.
|
|
18
18
|
*/
|
|
19
|
-
export declare const
|
|
19
|
+
export declare const hasAnyPatternMatch: (text: string, patterns: readonly Readonly<RegExp>[]) => boolean;
|
|
20
20
|
/**
|
|
21
21
|
* Resolve the symbol at identifier location, falling back to constrained type.
|
|
22
22
|
*/
|
|
@@ -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;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,
|
|
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,kBAAkB,GAC3B,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"}
|
|
@@ -70,7 +70,7 @@ export const getJsDocTagComments = (symbol, checker, tagName) => {
|
|
|
70
70
|
/**
|
|
71
71
|
* Return true when text matches any compiled regex pattern.
|
|
72
72
|
*/
|
|
73
|
-
export const
|
|
73
|
+
export const hasAnyPatternMatch = (text, patterns) => patterns.some((pattern) => pattern.test(text));
|
|
74
74
|
/**
|
|
75
75
|
* Resolve the symbol at identifier location, falling back to constrained type.
|
|
76
76
|
*/
|
|
@@ -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,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,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,cAAc,CAAC,eAAe;IAC/C,MAAM,EAAE,IAAI,KAAK,cAAc,CAAC,sBAAsB;IACtD,MAAM,EAAE,IAAI,KAAK,cAAc,CAAC,wBAAwB;IACxD,MAAM,EAAE,IAAI,KAAK,cAAc,CAAC,eAAe,CAAC;AAEpD;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACnC,IAA6B,EACtB,EAAE;IACT,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACxB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IACI,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,sBAAsB;QACrD,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,sBAAsB,EACvD,CAAC;QACC,OAAO,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC;IAC9B,CAAC;IAED,IACI,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,gBAAgB;QAC/C,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,mBAAmB;QAClD,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,iBAAiB;QAChD,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,iBAAiB,EAClD,CAAC;QACC,OAAO,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC;IAC9B,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,kBAAkB,EAAE,CAAC;QACpD,OAAO,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC;IAC9B,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CACxB,IAAsD,EACpC,EAAE;IACpB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACxD,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1D,CAAC;IAED,MAAM,UAAU,GAAG,SAAS,CACxB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAC7B,EAAE,CACL;SACI,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC;SACxB,IAAI,EAAE,CAAC;IAEZ,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1D,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,KAAc,EAA0B,EAAE,CAC/D,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AAEhD,MAAM,qBAAqB,GAAG,CAC1B,MAAe,EACc,EAAE;IAC/B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,OAAO,MAAM,CAAC,cAAc,CAAC,KAAK,UAAU,CAAC;AACxD,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAC/B,MAAe,EACf,OAAgB,EAChB,OAAe,EACgB,EAAE;IACjC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;IACnC,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAE3E,OAAO,YAAY;SACd,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC;SACrC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,
|
|
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,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,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,cAAc,CAAC,eAAe;IAC/C,MAAM,EAAE,IAAI,KAAK,cAAc,CAAC,sBAAsB;IACtD,MAAM,EAAE,IAAI,KAAK,cAAc,CAAC,wBAAwB;IACxD,MAAM,EAAE,IAAI,KAAK,cAAc,CAAC,eAAe,CAAC;AAEpD;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACnC,IAA6B,EACtB,EAAE;IACT,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACxB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IACI,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,sBAAsB;QACrD,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,sBAAsB,EACvD,CAAC;QACC,OAAO,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC;IAC9B,CAAC;IAED,IACI,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,gBAAgB;QAC/C,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,mBAAmB;QAClD,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,iBAAiB;QAChD,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,iBAAiB,EAClD,CAAC;QACC,OAAO,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC;IAC9B,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,kBAAkB,EAAE,CAAC;QACpD,OAAO,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC;IAC9B,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CACxB,IAAsD,EACpC,EAAE;IACpB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACxD,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1D,CAAC;IAED,MAAM,UAAU,GAAG,SAAS,CACxB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAC7B,EAAE,CACL;SACI,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC;SACxB,IAAI,EAAE,CAAC;IAEZ,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1D,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,KAAc,EAA0B,EAAE,CAC/D,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AAEhD,MAAM,qBAAqB,GAAG,CAC1B,MAAe,EACc,EAAE;IAC/B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,OAAO,MAAM,CAAC,cAAc,CAAC,KAAK,UAAU,CAAC;AACxD,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAC/B,MAAe,EACf,OAAgB,EAChB,OAAe,EACgB,EAAE;IACjC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;IACnC,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAE3E,OAAO,YAAY;SACd,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC;SACrC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAC9B,IAAY,EACZ,QAAqC,EAC9B,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAE7D;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAC/B,cAA8B,EAC9B,IAA6B,EACgC,EAAE;IAC/D,MAAM,kBAAkB,GAAG,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACpE,IAAI,SAAS,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAChC,OAAO,kBAAkB,CAAC;IAC9B,CAAC;IAED,OAAO,4BAA4B,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;AAC1E,CAAC,CAAC"}
|
package/dist/plugin.cjs
CHANGED
|
@@ -52,10 +52,10 @@ var toCatalogNumericPart = (catalogIndex) => `${catalogIndex}`.padStart(3, "0");
|
|
|
52
52
|
var toRuleCatalogId = (catalogIndex) => `R${toCatalogNumericPart(catalogIndex)}`;
|
|
53
53
|
var toRuleDocId = (ruleName) => ruleName.replaceAll("/", "-");
|
|
54
54
|
var compareRuleNamesForCatalog = (leftRuleName, rightRuleName) => {
|
|
55
|
-
const
|
|
56
|
-
const
|
|
57
|
-
if (
|
|
58
|
-
return
|
|
55
|
+
const isLeftIsTypeScriptRule = leftRuleName.startsWith("typescript/");
|
|
56
|
+
const isRightIsTypeScriptRule = rightRuleName.startsWith("typescript/");
|
|
57
|
+
if (isLeftIsTypeScriptRule !== isRightIsTypeScriptRule) {
|
|
58
|
+
return isLeftIsTypeScriptRule ? 1 : -1;
|
|
59
59
|
}
|
|
60
60
|
return leftRuleName.localeCompare(rightRuleName);
|
|
61
61
|
};
|
|
@@ -834,7 +834,7 @@ var import_ts_extras11 = require("ts-extras");
|
|
|
834
834
|
// dist/_internal/import-patterns.js
|
|
835
835
|
var import_utils5 = require("@typescript-eslint/utils");
|
|
836
836
|
var import_minimatch = require("minimatch");
|
|
837
|
-
var
|
|
837
|
+
var hasAnyPatternMatch = (value, patterns) => patterns.some((pattern) => (0, import_minimatch.minimatch)(value, pattern, {
|
|
838
838
|
dot: true,
|
|
839
839
|
nocase: false
|
|
840
840
|
}));
|
|
@@ -856,10 +856,10 @@ var toMergedOptions = (options, defaultDisallowPatterns) => ({
|
|
|
856
856
|
});
|
|
857
857
|
var shouldReportImportSource = (sourceText, options, defaultDisallowPatterns) => {
|
|
858
858
|
const mergedOptions = toMergedOptions(options, defaultDisallowPatterns);
|
|
859
|
-
if (!
|
|
859
|
+
if (!hasAnyPatternMatch(sourceText, mergedOptions.disallow)) {
|
|
860
860
|
return false;
|
|
861
861
|
}
|
|
862
|
-
return !
|
|
862
|
+
return !hasAnyPatternMatch(sourceText, mergedOptions.allow);
|
|
863
863
|
};
|
|
864
864
|
var getImportSourceFromNode = (node) => getImportSourceText(node);
|
|
865
865
|
|
|
@@ -1055,8 +1055,8 @@ var rule14 = ruleCreator({
|
|
|
1055
1055
|
}
|
|
1056
1056
|
const stem = filenameStem(import_node_path3.default.resolve(context.filename));
|
|
1057
1057
|
const expected = `${options.prefix ?? ""}${toCasing(node.name, options.format ?? "kebab-case")}${options.suffix ?? ""}`;
|
|
1058
|
-
const
|
|
1059
|
-
if (options.match ?? true ?
|
|
1058
|
+
const isMatches = stem === expected;
|
|
1059
|
+
if (options.match ?? true ? isMatches : !isMatches) {
|
|
1060
1060
|
return;
|
|
1061
1061
|
}
|
|
1062
1062
|
context.report({
|
|
@@ -1214,7 +1214,7 @@ var isNewArray = (node) => {
|
|
|
1214
1214
|
}
|
|
1215
1215
|
return false;
|
|
1216
1216
|
};
|
|
1217
|
-
var
|
|
1217
|
+
var hasReferencedArrayMutation = (callExpression) => {
|
|
1218
1218
|
if (callExpression.callee.type !== import_utils8.AST_NODE_TYPES.MemberExpression) {
|
|
1219
1219
|
return true;
|
|
1220
1220
|
}
|
|
@@ -1226,7 +1226,7 @@ var mutatesReferencedArray = (callExpression) => {
|
|
|
1226
1226
|
return false;
|
|
1227
1227
|
}
|
|
1228
1228
|
if (object.type === import_utils8.AST_NODE_TYPES.CallExpression) {
|
|
1229
|
-
return
|
|
1229
|
+
return hasReferencedArrayMutation(object);
|
|
1230
1230
|
}
|
|
1231
1231
|
return true;
|
|
1232
1232
|
};
|
|
@@ -1251,7 +1251,7 @@ var rule16 = ruleCreator({
|
|
|
1251
1251
|
if (!isArrayLikeType(typeChecker, objectType)) {
|
|
1252
1252
|
return;
|
|
1253
1253
|
}
|
|
1254
|
-
if (!
|
|
1254
|
+
if (!hasReferencedArrayMutation(callExpression)) {
|
|
1255
1255
|
return;
|
|
1256
1256
|
}
|
|
1257
1257
|
context.report({
|
|
@@ -1553,13 +1553,13 @@ var rule21 = ruleCreator({
|
|
|
1553
1553
|
}
|
|
1554
1554
|
const constToken = getConstToken(sourceCode, node);
|
|
1555
1555
|
const fix = constToken === void 0 ? void 0 : (fixer) => {
|
|
1556
|
-
let
|
|
1557
|
-
while (
|
|
1558
|
-
|
|
1556
|
+
let tokenRemovalEnd = constToken.range[1];
|
|
1557
|
+
while (tokenRemovalEnd < sourceCode.text.length && (sourceCode.text.at(tokenRemovalEnd) === " " || sourceCode.text.at(tokenRemovalEnd) === " ")) {
|
|
1558
|
+
tokenRemovalEnd += 1;
|
|
1559
1559
|
}
|
|
1560
1560
|
return fixer.removeRange([
|
|
1561
1561
|
(0, import_ts_extras17.arrayFirst)(constToken.range),
|
|
1562
|
-
|
|
1562
|
+
tokenRemovalEnd
|
|
1563
1563
|
]);
|
|
1564
1564
|
};
|
|
1565
1565
|
context.report({
|
|
@@ -1695,7 +1695,7 @@ var getJsDocTagComments = (symbol, checker, tagName) => {
|
|
|
1695
1695
|
const resolvedTags = tags.length > 0 ? tags : symbol.getJsDocTags(checker);
|
|
1696
1696
|
return resolvedTags.filter((tag) => tag.name === tagName).map((tag) => normalizeTagComment(tag.text));
|
|
1697
1697
|
};
|
|
1698
|
-
var
|
|
1698
|
+
var hasAnyPatternMatch2 = (text, patterns) => patterns.some((pattern) => pattern.test(text));
|
|
1699
1699
|
var getIdentifierSymbol = (parserServices, node) => {
|
|
1700
1700
|
const symbolFromLocation = parserServices.getSymbolAtLocation(node);
|
|
1701
1701
|
if ((0, import_ts_extras19.isDefined)(symbolFromLocation)) {
|
|
@@ -1726,11 +1726,11 @@ var rule22 = ruleCreator({
|
|
|
1726
1726
|
return;
|
|
1727
1727
|
}
|
|
1728
1728
|
const symbolName = symbol.getName();
|
|
1729
|
-
if (
|
|
1729
|
+
if (hasAnyPatternMatch2(symbolName, ignorePatterns.name)) {
|
|
1730
1730
|
return;
|
|
1731
1731
|
}
|
|
1732
1732
|
const fullyQualifiedName = typeChecker.getFullyQualifiedName(symbol);
|
|
1733
|
-
if (
|
|
1733
|
+
if (hasAnyPatternMatch2(fullyQualifiedName, ignorePatterns.path)) {
|
|
1734
1734
|
return;
|
|
1735
1735
|
}
|
|
1736
1736
|
const deprecatedComments = getJsDocTagComments(symbol, typeChecker, "deprecated");
|
|
@@ -1926,7 +1926,7 @@ var getConfiguredTypeNames = (configuredTypes) => {
|
|
|
1926
1926
|
}
|
|
1927
1927
|
return typeNames;
|
|
1928
1928
|
};
|
|
1929
|
-
var
|
|
1929
|
+
var isConfiguredCollectionType = (typeChecker, type, configuredTypeNames) => {
|
|
1930
1930
|
if ((0, import_ts_extras22.setHas)(configuredTypeNames, "Array")) {
|
|
1931
1931
|
const apparentType = typeChecker.getApparentType(type);
|
|
1932
1932
|
if (typeChecker.isArrayType(apparentType) || typeChecker.isTupleType(apparentType) || (0, import_type_utils3.isTypeArrayTypeOrUnionOfArrayTypes)(type, typeChecker)) {
|
|
@@ -1948,7 +1948,7 @@ var rule25 = ruleCreator({
|
|
|
1948
1948
|
return;
|
|
1949
1949
|
}
|
|
1950
1950
|
const objectType = (0, import_type_utils3.getConstrainedTypeAtLocation)(parserServices, callee.object);
|
|
1951
|
-
if (!
|
|
1951
|
+
if (!isConfiguredCollectionType(typeChecker, objectType, configuredTypeNames)) {
|
|
1952
1952
|
return;
|
|
1953
1953
|
}
|
|
1954
1954
|
context.report({
|
|
@@ -2279,11 +2279,11 @@ var rule30 = ruleCreator({
|
|
|
2279
2279
|
return;
|
|
2280
2280
|
}
|
|
2281
2281
|
const symbolName = symbol.getName();
|
|
2282
|
-
if (
|
|
2282
|
+
if (hasAnyPatternMatch2(symbolName, ignorePatterns.name)) {
|
|
2283
2283
|
return;
|
|
2284
2284
|
}
|
|
2285
2285
|
const fullyQualifiedName = typeChecker.getFullyQualifiedName(symbol);
|
|
2286
|
-
if (
|
|
2286
|
+
if (hasAnyPatternMatch2(fullyQualifiedName, ignorePatterns.path)) {
|
|
2287
2287
|
return;
|
|
2288
2288
|
}
|
|
2289
2289
|
const internalComments = getJsDocTagComments(symbol, typeChecker, "internal");
|
|
@@ -2448,27 +2448,27 @@ var getTypeParameterReplacement = (sourceFile, typeParameter) => {
|
|
|
2448
2448
|
return constraint.getText(sourceFile);
|
|
2449
2449
|
};
|
|
2450
2450
|
var analyzeTypeParameterUses = (uses, signature, typeParameters) => {
|
|
2451
|
-
let
|
|
2452
|
-
let
|
|
2453
|
-
let
|
|
2451
|
+
let isAppearsInMultipleParameters = false;
|
|
2452
|
+
let isUsedInParameters = false;
|
|
2453
|
+
let isUsedInReturnOrExtends = tsutils.isFunctionWithBody(signature);
|
|
2454
2454
|
for (const use of uses) {
|
|
2455
2455
|
if (isUseWithinParameterRange(use.location.pos, signature)) {
|
|
2456
|
-
if (
|
|
2457
|
-
|
|
2456
|
+
if (isUsedInParameters) {
|
|
2457
|
+
isAppearsInMultipleParameters = true;
|
|
2458
2458
|
break;
|
|
2459
2459
|
}
|
|
2460
|
-
|
|
2460
|
+
isUsedInParameters = true;
|
|
2461
2461
|
continue;
|
|
2462
2462
|
}
|
|
2463
|
-
if (
|
|
2463
|
+
if (isUsedInReturnOrExtends) {
|
|
2464
2464
|
continue;
|
|
2465
2465
|
}
|
|
2466
|
-
|
|
2466
|
+
isUsedInReturnOrExtends = use.location.pos > signature.parameters.end || isTypeUseInsideConstraint(use.location, typeParameters);
|
|
2467
2467
|
}
|
|
2468
2468
|
return {
|
|
2469
|
-
appearsInMultipleParameters,
|
|
2470
|
-
usedInParameters,
|
|
2471
|
-
usedInReturnOrExtends
|
|
2469
|
+
appearsInMultipleParameters: isAppearsInMultipleParameters,
|
|
2470
|
+
usedInParameters: isUsedInParameters,
|
|
2471
|
+
usedInReturnOrExtends: isUsedInReturnOrExtends
|
|
2472
2472
|
};
|
|
2473
2473
|
};
|
|
2474
2474
|
var rule32 = ruleCreator({
|
|
@@ -3601,7 +3601,8 @@ function collectPropertyKinds(definition) {
|
|
|
3601
3601
|
propertyKinds.set(propertyName, getMemberKind(descriptor));
|
|
3602
3602
|
}
|
|
3603
3603
|
}
|
|
3604
|
-
|
|
3604
|
+
const dataPropertyNames = definition.dataProperties ?? [];
|
|
3605
|
+
for (const dataPropertyName of dataPropertyNames) {
|
|
3605
3606
|
if (!propertyKinds.has(dataPropertyName)) {
|
|
3606
3607
|
propertyKinds.set(dataPropertyName, "data");
|
|
3607
3608
|
}
|
|
@@ -4126,8 +4127,8 @@ var rule56 = ruleCreator({
|
|
|
4126
4127
|
return;
|
|
4127
4128
|
}
|
|
4128
4129
|
const shouldBeSingleLine = node.properties.length <= maxProperties;
|
|
4129
|
-
const
|
|
4130
|
-
if (
|
|
4130
|
+
const isCurrentlySingleLine = isSingleLine(node);
|
|
4131
|
+
if (isCurrentlySingleLine === shouldBeSingleLine) {
|
|
4131
4132
|
return;
|
|
4132
4133
|
}
|
|
4133
4134
|
context.report({
|
|
@@ -4925,8 +4926,8 @@ var rule68 = ruleCreator({
|
|
|
4925
4926
|
return;
|
|
4926
4927
|
}
|
|
4927
4928
|
const sorted = [...elements].sort((a, b) => (getSortableValue(a) ?? "").localeCompare(getSortableValue(b) ?? ""));
|
|
4928
|
-
const
|
|
4929
|
-
if (
|
|
4929
|
+
const isUnchanged = elements.every((element, index) => element === sorted[index]);
|
|
4930
|
+
if (isUnchanged) {
|
|
4930
4931
|
return;
|
|
4931
4932
|
}
|
|
4932
4933
|
context.report({
|
|
@@ -5121,8 +5122,8 @@ var rule72 = ruleCreator({
|
|
|
5121
5122
|
return;
|
|
5122
5123
|
}
|
|
5123
5124
|
const sorted = [...exportSpecifiers].sort((a, b) => toName(a).localeCompare(toName(b)));
|
|
5124
|
-
const
|
|
5125
|
-
if (
|
|
5125
|
+
const isUnchanged = exportSpecifiers.every((specifier, index) => specifier === sorted[index]);
|
|
5126
|
+
if (isUnchanged) {
|
|
5126
5127
|
return;
|
|
5127
5128
|
}
|
|
5128
5129
|
context.report({
|
|
@@ -5292,10 +5293,10 @@ var isValidCaseBody = (node) => {
|
|
|
5292
5293
|
if (firstStatement === void 0 || lastStatement === void 0) {
|
|
5293
5294
|
return true;
|
|
5294
5295
|
}
|
|
5295
|
-
const
|
|
5296
|
-
const
|
|
5297
|
-
const
|
|
5298
|
-
return (
|
|
5296
|
+
const isStartsOnFollowingLine = firstStatement.loc.start.line > node.loc.start.line;
|
|
5297
|
+
const isStartsWithBlock = firstStatement.type === import_utils33.AST_NODE_TYPES.BlockStatement;
|
|
5298
|
+
const isEndsWithBreak = lastStatement.type === import_utils33.AST_NODE_TYPES.BreakStatement || isStartsWithBlock;
|
|
5299
|
+
return (isStartsOnFollowingLine || isStartsWithBlock) && isEndsWithBreak;
|
|
5299
5300
|
};
|
|
5300
5301
|
var rule75 = ruleCreator({
|
|
5301
5302
|
create: (context) => ({
|
|
@@ -5410,8 +5411,8 @@ var import_utils34 = require("@typescript-eslint/utils");
|
|
|
5410
5411
|
var import_ts_extras50 = require("ts-extras");
|
|
5411
5412
|
var tsutils3 = __toESM(require("tsutils"), 1);
|
|
5412
5413
|
var isAllowedThrowableVariant = (type, program) => (0, import_type_utils6.isTypeAnyType)(type) || (0, import_type_utils6.isTypeUnknownType)(type) || (0, import_type_utils6.isErrorLike)(program, type);
|
|
5413
|
-
var
|
|
5414
|
-
var
|
|
5414
|
+
var canBeAllowedThrowableType = (type, program) => tsutils3.unionTypeParts(type).every((typeVariant) => isAllowedThrowableVariant(typeVariant, program));
|
|
5415
|
+
var canBePromiseConstructorType = (type, program) => tsutils3.unionTypeParts(type).some((typeVariant) => (0, import_type_utils6.isBuiltinSymbolLike)(program, typeVariant, "PromiseConstructor"));
|
|
5415
5416
|
var isPromiseIdentifier = (node) => node.type === import_utils34.AST_NODE_TYPES.Identifier && node.name === "Promise";
|
|
5416
5417
|
var createWrapLiteralInErrorSuggestionFix = (sourceCode, node) => {
|
|
5417
5418
|
if (node.type !== import_utils34.AST_NODE_TYPES.Literal) {
|
|
@@ -5426,7 +5427,7 @@ var rule77 = ruleCreator({
|
|
|
5426
5427
|
const { program } = parserServices;
|
|
5427
5428
|
const reportIfNonErrorLike = (node, usage) => {
|
|
5428
5429
|
const type = (0, import_type_utils6.getConstrainedTypeAtLocation)(parserServices, node);
|
|
5429
|
-
if (
|
|
5430
|
+
if (canBeAllowedThrowableType(type, program)) {
|
|
5430
5431
|
return;
|
|
5431
5432
|
}
|
|
5432
5433
|
const suggestionFix = createWrapLiteralInErrorSuggestionFix(sourceCode, node);
|
|
@@ -5458,7 +5459,7 @@ var rule77 = ruleCreator({
|
|
|
5458
5459
|
return;
|
|
5459
5460
|
}
|
|
5460
5461
|
const objectType = (0, import_type_utils6.getConstrainedTypeAtLocation)(parserServices, callee.object);
|
|
5461
|
-
if (!
|
|
5462
|
+
if (!canBePromiseConstructorType(objectType, program) && !isPromiseIdentifier(callee.object)) {
|
|
5462
5463
|
return;
|
|
5463
5464
|
}
|
|
5464
5465
|
checkRejectionCall(callExpression);
|
|
@@ -5625,7 +5626,7 @@ var collectNodeChildren = (node) => {
|
|
|
5625
5626
|
}
|
|
5626
5627
|
return children;
|
|
5627
5628
|
};
|
|
5628
|
-
var
|
|
5629
|
+
var hasThisExpression = (root) => {
|
|
5629
5630
|
let stack = [root];
|
|
5630
5631
|
while (stack.length > 0) {
|
|
5631
5632
|
const node = (0, import_ts_extras52.arrayAt)(stack, -1);
|
|
@@ -5644,8 +5645,8 @@ var hasThisParameter = (node) => {
|
|
|
5644
5645
|
const [firstParameter] = node.value.params;
|
|
5645
5646
|
return firstParameter?.type === import_utils36.AST_NODE_TYPES.Identifier && firstParameter.name === "this";
|
|
5646
5647
|
};
|
|
5647
|
-
var
|
|
5648
|
-
var shouldSkipMethod = (node) => node.kind !== "method" || node.static || node.value.body === null || hasThisParameter(node) ||
|
|
5648
|
+
var hasThisExpressionUsage = (node) => node.value.body === null ? false : hasThisExpression(node.value.body);
|
|
5649
|
+
var shouldSkipMethod = (node) => node.kind !== "method" || node.static || node.value.body === null || hasThisParameter(node) || hasThisExpressionUsage(node);
|
|
5649
5650
|
var rule80 = ruleCreator({
|
|
5650
5651
|
create: (context) => ({
|
|
5651
5652
|
MethodDefinition: (node) => {
|
|
@@ -6128,10 +6129,7 @@ var isDefinitelyDefinedExpression = (expression) => {
|
|
|
6128
6129
|
if (unwrappedExpression.type === import_utils39.AST_NODE_TYPES.ObjectExpression) {
|
|
6129
6130
|
return true;
|
|
6130
6131
|
}
|
|
6131
|
-
|
|
6132
|
-
return true;
|
|
6133
|
-
}
|
|
6134
|
-
return false;
|
|
6132
|
+
return unwrappedExpression.type === import_utils39.AST_NODE_TYPES.TemplateLiteral;
|
|
6135
6133
|
};
|
|
6136
6134
|
var rule91 = ruleCreator({
|
|
6137
6135
|
create: (context) => {
|
|
@@ -6250,10 +6248,7 @@ var isDefinitelyDefinedExpression2 = (expression) => {
|
|
|
6250
6248
|
if (unwrappedExpression.type === import_utils40.AST_NODE_TYPES.ObjectExpression) {
|
|
6251
6249
|
return true;
|
|
6252
6250
|
}
|
|
6253
|
-
|
|
6254
|
-
return true;
|
|
6255
|
-
}
|
|
6256
|
-
return false;
|
|
6251
|
+
return unwrappedExpression.type === import_utils40.AST_NODE_TYPES.TemplateLiteral;
|
|
6257
6252
|
};
|
|
6258
6253
|
var buildFixedTypeText2 = (sourceCode, unionType) => {
|
|
6259
6254
|
let nonUndefinedTypeTexts = [];
|
|
@@ -6389,10 +6384,7 @@ var isDefinitelyDefinedExpression3 = (expression) => {
|
|
|
6389
6384
|
if (unwrappedExpression.type === import_utils41.AST_NODE_TYPES.ObjectExpression) {
|
|
6390
6385
|
return true;
|
|
6391
6386
|
}
|
|
6392
|
-
|
|
6393
|
-
return true;
|
|
6394
|
-
}
|
|
6395
|
-
return false;
|
|
6387
|
+
return unwrappedExpression.type === import_utils41.AST_NODE_TYPES.TemplateLiteral;
|
|
6396
6388
|
};
|
|
6397
6389
|
var isNeverReassigned = (sourceCode, declarator) => {
|
|
6398
6390
|
const [declaredVariable] = sourceCode.getDeclaredVariables(declarator);
|
|
@@ -6599,10 +6591,7 @@ var isDefinitelyDefinedExpression4 = (expression) => {
|
|
|
6599
6591
|
const lastExpression = (0, import_ts_extras59.arrayAt)(unwrappedExpression.expressions, -1);
|
|
6600
6592
|
return lastExpression !== void 0 && isDefinitelyDefinedExpression4(lastExpression);
|
|
6601
6593
|
}
|
|
6602
|
-
|
|
6603
|
-
return true;
|
|
6604
|
-
}
|
|
6605
|
-
return false;
|
|
6594
|
+
return unwrappedExpression.type === import_utils43.AST_NODE_TYPES.TemplateLiteral;
|
|
6606
6595
|
};
|
|
6607
6596
|
var hasDefinitelyDefinedReturnValue = (node) => {
|
|
6608
6597
|
const body = node.body;
|
|
@@ -6756,10 +6745,7 @@ var isDefinitelyDefinedExpression5 = (expression) => {
|
|
|
6756
6745
|
if (unwrappedExpression.type === import_utils44.AST_NODE_TYPES.ObjectExpression) {
|
|
6757
6746
|
return true;
|
|
6758
6747
|
}
|
|
6759
|
-
|
|
6760
|
-
return true;
|
|
6761
|
-
}
|
|
6762
|
-
return false;
|
|
6748
|
+
return unwrappedExpression.type === import_utils44.AST_NODE_TYPES.TemplateLiteral;
|
|
6763
6749
|
};
|
|
6764
6750
|
var rule96 = ruleCreator({
|
|
6765
6751
|
create: (context) => {
|
|
@@ -6884,10 +6870,7 @@ var isDefinitelyDefinedExpression6 = (expression) => {
|
|
|
6884
6870
|
const lastExpression = (0, import_ts_extras61.arrayAt)(unwrappedExpression.expressions, -1);
|
|
6885
6871
|
return lastExpression !== void 0 && isDefinitelyDefinedExpression6(lastExpression);
|
|
6886
6872
|
}
|
|
6887
|
-
|
|
6888
|
-
return true;
|
|
6889
|
-
}
|
|
6890
|
-
return false;
|
|
6873
|
+
return unwrappedExpression.type === import_utils45.AST_NODE_TYPES.TemplateLiteral;
|
|
6891
6874
|
};
|
|
6892
6875
|
var hasDefinitelyDefinedReturnValue2 = (node) => {
|
|
6893
6876
|
const body = node.body;
|
|
@@ -7016,10 +6999,7 @@ var isDefinitelyDefinedExpression7 = (expression) => {
|
|
|
7016
6999
|
if (unwrappedExpression.type === import_utils46.AST_NODE_TYPES.ObjectExpression) {
|
|
7017
7000
|
return true;
|
|
7018
7001
|
}
|
|
7019
|
-
|
|
7020
|
-
return true;
|
|
7021
|
-
}
|
|
7022
|
-
return false;
|
|
7002
|
+
return unwrappedExpression.type === import_utils46.AST_NODE_TYPES.TemplateLiteral;
|
|
7023
7003
|
};
|
|
7024
7004
|
var isNeverReassigned2 = (sourceCode, declarator) => {
|
|
7025
7005
|
const [declaredVariable] = sourceCode.getDeclaredVariables(declarator);
|
|
@@ -7382,10 +7362,7 @@ var isUnnamedTupleElement = (tupleElement) => {
|
|
|
7382
7362
|
if (tupleElement.type === import_utils49.AST_NODE_TYPES.TSNamedTupleMember) {
|
|
7383
7363
|
return false;
|
|
7384
7364
|
}
|
|
7385
|
-
|
|
7386
|
-
return false;
|
|
7387
|
-
}
|
|
7388
|
-
return true;
|
|
7365
|
+
return tupleElement.type !== import_utils49.AST_NODE_TYPES.TSRestType || tupleElement.typeAnnotation.type !== import_utils49.AST_NODE_TYPES.TSNamedTupleMember;
|
|
7389
7366
|
};
|
|
7390
7367
|
var generateUniqueTupleMemberName = (preferredName, usedNames) => {
|
|
7391
7368
|
if (!usedNames.has(preferredName)) {
|