eslint-plugin-etc-misc 1.1.1 → 1.1.3
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/README.md +3 -0
- package/dist/configs/all-strict.d.ts +1 -0
- package/dist/configs/all-strict.d.ts.map +1 -1
- package/dist/configs/all-strict.js +1 -0
- package/dist/configs/all-strict.js.map +1 -1
- package/dist/configs/all.d.ts +1 -0
- package/dist/configs/all.d.ts.map +1 -1
- package/dist/configs/all.js +1 -0
- package/dist/configs/all.js.map +1 -1
- package/dist/configs/minimal.d.ts +3 -0
- package/dist/configs/minimal.d.ts.map +1 -1
- package/dist/configs/minimal.js +3 -0
- package/dist/configs/minimal.js.map +1 -1
- package/dist/configs/recommended.d.ts +3 -0
- package/dist/configs/recommended.d.ts.map +1 -1
- package/dist/configs/recommended.js +3 -0
- package/dist/configs/recommended.js.map +1 -1
- package/dist/configs/strict-type-checked.d.ts +1 -0
- package/dist/configs/strict-type-checked.d.ts.map +1 -1
- package/dist/configs/strict-type-checked.js +1 -0
- package/dist/configs/strict-type-checked.js.map +1 -1
- package/dist/configs/strict.d.ts +1 -0
- package/dist/configs/strict.d.ts.map +1 -1
- package/dist/configs/strict.js +1 -0
- package/dist/configs/strict.js.map +1 -1
- package/dist/configs.d.ts +8 -7
- package/dist/configs.d.ts.map +1 -1
- package/dist/configs.js +1 -0
- package/dist/configs.js.map +1 -1
- package/dist/plugin.cjs +967 -404
- package/dist/plugin.cjs.map +4 -4
- package/dist/rules/no-function-declare-after-return.d.ts +19 -0
- package/dist/rules/no-function-declare-after-return.d.ts.map +1 -0
- package/dist/rules/no-function-declare-after-return.js +119 -0
- package/dist/rules/no-function-declare-after-return.js.map +1 -0
- package/dist/rules/no-use-extend-native.d.ts +9 -0
- package/dist/rules/no-use-extend-native.d.ts.map +1 -0
- package/dist/rules/no-use-extend-native.js +296 -0
- package/dist/rules/no-use-extend-native.js.map +1 -0
- package/dist/rules/no-vulnerable.d.ts +15 -0
- package/dist/rules/no-vulnerable.d.ts.map +1 -0
- package/dist/rules/no-vulnerable.js +182 -0
- package/dist/rules/no-vulnerable.js.map +1 -0
- package/dist/rules.d.ts.map +1 -1
- package/dist/rules.js +8 -0
- package/dist/rules.js.map +1 -1
- package/docs/docusaurus/package.json +5 -5
- package/docs/docusaurus/sidebars.rules.ts +1 -1
- package/docs/docusaurus/src/pages/index.module.css +2 -1
- package/docs/rules/no-expression-empty-lines.md +3 -1
- package/docs/rules/no-function-declare-after-return.md +149 -0
- package/docs/rules/no-use-extend-native.md +95 -0
- package/docs/rules/no-vulnerable.md +116 -0
- package/package.json +26 -45
package/dist/plugin.cjs
CHANGED
|
@@ -42,10 +42,10 @@ var pluginMeta = {
|
|
|
42
42
|
};
|
|
43
43
|
|
|
44
44
|
// dist/configs/all-strict.js
|
|
45
|
-
var
|
|
45
|
+
var import_ts_extras69 = require("ts-extras");
|
|
46
46
|
|
|
47
47
|
// dist/rules.js
|
|
48
|
-
var
|
|
48
|
+
var import_ts_extras68 = require("ts-extras");
|
|
49
49
|
|
|
50
50
|
// dist/_internal/rule-catalog.js
|
|
51
51
|
var toCatalogNumericPart = (catalogIndex) => `${catalogIndex}`.padStart(3, "0");
|
|
@@ -155,14 +155,14 @@ var createDeprecatedRuleInfo = ({ message, replacedBy = [], ruleId }) => ({
|
|
|
155
155
|
...replacedBy.length === 0 ? {} : { replacedBy: [...replacedBy] },
|
|
156
156
|
url: `${docsBaseUrl}/${ruleId.replaceAll("/", "-")}`
|
|
157
157
|
});
|
|
158
|
-
var withDeprecatedRuleLifecycle = (
|
|
159
|
-
...
|
|
158
|
+
var withDeprecatedRuleLifecycle = (rule133, options) => ({
|
|
159
|
+
...rule133,
|
|
160
160
|
meta: {
|
|
161
|
-
...
|
|
161
|
+
...rule133.meta,
|
|
162
162
|
deprecated: createDeprecatedRuleInfo(options),
|
|
163
|
-
...
|
|
163
|
+
...rule133.meta.docs === void 0 ? {} : {
|
|
164
164
|
docs: {
|
|
165
|
-
...
|
|
165
|
+
...rule133.meta.docs,
|
|
166
166
|
deprecated: true,
|
|
167
167
|
frozen: true
|
|
168
168
|
}
|
|
@@ -1941,10 +1941,96 @@ var rule25 = ruleCreator({
|
|
|
1941
1941
|
});
|
|
1942
1942
|
var no_foreach_default = rule25;
|
|
1943
1943
|
|
|
1944
|
+
// dist/rules/no-function-declare-after-return.js
|
|
1945
|
+
var import_ts_extras23 = require("ts-extras");
|
|
1946
|
+
var isStatementList = (node) => node.type === "BlockStatement" || node.type === "Program";
|
|
1947
|
+
var getLineStartIndex = (sourceText, index) => sourceText.lastIndexOf("\n", index - 1) + 1;
|
|
1948
|
+
var getSafeFixRangeStart = (sourceCode, node) => {
|
|
1949
|
+
const declarationStart = (0, import_ts_extras23.arrayFirst)(node.range) ?? 0;
|
|
1950
|
+
const tokenBeforeDeclaration = sourceCode.getTokenBefore(node);
|
|
1951
|
+
const tokenBeforeEnd = tokenBeforeDeclaration === null ? 0 : (0, import_ts_extras23.arrayLast)(tokenBeforeDeclaration.range) ?? 0;
|
|
1952
|
+
const commentsBeforeDeclaration = sourceCode.getCommentsBefore(node).filter((comment) => ((0, import_ts_extras23.arrayFirst)(comment.range) ?? 0) >= tokenBeforeEnd && ((0, import_ts_extras23.arrayLast)(comment.range) ?? 0) <= declarationStart);
|
|
1953
|
+
const firstLeadingComment = (0, import_ts_extras23.arrayFirst)(commentsBeforeDeclaration);
|
|
1954
|
+
const firstMovableNodeStart = firstLeadingComment === void 0 ? declarationStart : (0, import_ts_extras23.arrayFirst)(firstLeadingComment.range) ?? declarationStart;
|
|
1955
|
+
return getLineStartIndex(sourceCode.text, firstMovableNodeStart);
|
|
1956
|
+
};
|
|
1957
|
+
var getSafeFixRangeEnd = (sourceCode, node) => {
|
|
1958
|
+
const declarationEnd = (0, import_ts_extras23.arrayLast)(node.range) ?? 0;
|
|
1959
|
+
const tokenAfterDeclaration = sourceCode.getTokenAfter(node);
|
|
1960
|
+
if (tokenAfterDeclaration === null) {
|
|
1961
|
+
return declarationEnd;
|
|
1962
|
+
}
|
|
1963
|
+
return getLineStartIndex(sourceCode.text, (0, import_ts_extras23.arrayFirst)(tokenAfterDeclaration.range) ?? declarationEnd);
|
|
1964
|
+
};
|
|
1965
|
+
var rule26 = ruleCreator({
|
|
1966
|
+
create: (context) => ({
|
|
1967
|
+
ReturnStatement(node) {
|
|
1968
|
+
const parent = node.parent;
|
|
1969
|
+
if (!isStatementList(parent)) {
|
|
1970
|
+
return;
|
|
1971
|
+
}
|
|
1972
|
+
const siblings = parent.body;
|
|
1973
|
+
const returnIndex = siblings.indexOf(node);
|
|
1974
|
+
for (let i = returnIndex + 1; i < siblings.length; i++) {
|
|
1975
|
+
const sibling = siblings[i];
|
|
1976
|
+
if (sibling?.type !== "FunctionDeclaration") {
|
|
1977
|
+
continue;
|
|
1978
|
+
}
|
|
1979
|
+
const functionDeclaration = sibling;
|
|
1980
|
+
const returnStatement = node;
|
|
1981
|
+
context.report({
|
|
1982
|
+
data: {
|
|
1983
|
+
name: functionDeclaration.id?.name ?? "(anonymous)"
|
|
1984
|
+
},
|
|
1985
|
+
fix(fixer) {
|
|
1986
|
+
const sourceCode = context.sourceCode;
|
|
1987
|
+
const declarationEnd = (0, import_ts_extras23.arrayLast)(functionDeclaration.range) ?? 0;
|
|
1988
|
+
const fixRangeStart = getSafeFixRangeStart(sourceCode, functionDeclaration);
|
|
1989
|
+
const fixRangeEnd = getSafeFixRangeEnd(sourceCode, functionDeclaration);
|
|
1990
|
+
const functionAndLeadingCommentsText = sourceCode.text.slice(fixRangeStart, declarationEnd);
|
|
1991
|
+
if (functionAndLeadingCommentsText.trim().length === 0) {
|
|
1992
|
+
return null;
|
|
1993
|
+
}
|
|
1994
|
+
const returnToken = sourceCode.getFirstToken(returnStatement);
|
|
1995
|
+
const indentationEnd = (0, import_ts_extras23.arrayFirst)(returnToken?.range ?? [0]) ?? 0;
|
|
1996
|
+
const returnLineStart = getLineStartIndex(sourceCode.text, indentationEnd);
|
|
1997
|
+
return [
|
|
1998
|
+
fixer.insertTextBeforeRange([returnLineStart, returnLineStart], `${functionAndLeadingCommentsText}
|
|
1999
|
+
`),
|
|
2000
|
+
fixer.removeRange([fixRangeStart, fixRangeEnd])
|
|
2001
|
+
];
|
|
2002
|
+
},
|
|
2003
|
+
messageId: "forbidden",
|
|
2004
|
+
node: functionDeclaration
|
|
2005
|
+
});
|
|
2006
|
+
}
|
|
2007
|
+
}
|
|
2008
|
+
}),
|
|
2009
|
+
meta: {
|
|
2010
|
+
deprecated: false,
|
|
2011
|
+
docs: {
|
|
2012
|
+
deprecated: false,
|
|
2013
|
+
description: "disallow function declarations after a return statement.",
|
|
2014
|
+
frozen: false,
|
|
2015
|
+
recommended: true,
|
|
2016
|
+
url: "https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-function-declare-after-return"
|
|
2017
|
+
},
|
|
2018
|
+
fixable: "code",
|
|
2019
|
+
hasSuggestions: false,
|
|
2020
|
+
messages: {
|
|
2021
|
+
forbidden: "Function declaration '{{name}}' should be moved before the return statement for readability."
|
|
2022
|
+
},
|
|
2023
|
+
schema: [],
|
|
2024
|
+
type: "suggestion"
|
|
2025
|
+
},
|
|
2026
|
+
name: "no-function-declare-after-return"
|
|
2027
|
+
});
|
|
2028
|
+
var no_function_declare_after_return_default = rule26;
|
|
2029
|
+
|
|
1944
2030
|
// dist/rules/no-implicit-any-catch.js
|
|
1945
2031
|
var import_type_utils4 = require("@typescript-eslint/type-utils");
|
|
1946
2032
|
var import_utils5 = require("@typescript-eslint/utils");
|
|
1947
|
-
var
|
|
2033
|
+
var import_ts_extras24 = require("ts-extras");
|
|
1948
2034
|
var defaultOptions5 = [{}];
|
|
1949
2035
|
var isPromiseRejectionCall = (callExpression, parserServices, program) => {
|
|
1950
2036
|
const { callee } = callExpression;
|
|
@@ -1960,7 +2046,7 @@ var isParenthesized = (sourceCode, node) => {
|
|
|
1960
2046
|
if (tokenBefore === null || tokenAfter === null) {
|
|
1961
2047
|
return false;
|
|
1962
2048
|
}
|
|
1963
|
-
return tokenBefore.value === "(" && tokenBefore.range[1] <= (0,
|
|
2049
|
+
return tokenBefore.value === "(" && tokenBefore.range[1] <= (0, import_ts_extras24.arrayFirst)(node.range) && tokenAfter.value === ")" && (0, import_ts_extras24.arrayFirst)(tokenAfter.range) >= node.range[1];
|
|
1964
2050
|
};
|
|
1965
2051
|
var replaceWithUnknownFix = (fixer, typeAnnotation) => fixer.replaceText(typeAnnotation, ": unknown");
|
|
1966
2052
|
var annotateImplicitParamFixes = (fixer, sourceCode, parameter) => {
|
|
@@ -1972,7 +2058,7 @@ var annotateImplicitParamFixes = (fixer, sourceCode, parameter) => {
|
|
|
1972
2058
|
fixer.insertTextAfter(parameter, ": unknown)")
|
|
1973
2059
|
];
|
|
1974
2060
|
};
|
|
1975
|
-
var
|
|
2061
|
+
var rule27 = ruleCreator({
|
|
1976
2062
|
create: (context) => {
|
|
1977
2063
|
const parserServices = import_utils5.ESLintUtils.getParserServices(context);
|
|
1978
2064
|
const sourceCode = context.sourceCode;
|
|
@@ -2088,18 +2174,18 @@ var rule26 = ruleCreator({
|
|
|
2088
2174
|
},
|
|
2089
2175
|
name: "no-implicit-any-catch"
|
|
2090
2176
|
});
|
|
2091
|
-
var no_implicit_any_catch_default =
|
|
2177
|
+
var no_implicit_any_catch_default = rule27;
|
|
2092
2178
|
|
|
2093
2179
|
// dist/rules/no-index-import.js
|
|
2094
|
-
var
|
|
2180
|
+
var rule28 = createImportPatternRule({
|
|
2095
2181
|
defaultDisallowPatterns: ["."],
|
|
2096
2182
|
description: "disallow imports from the current directory root (.).",
|
|
2097
2183
|
name: "no-index-import"
|
|
2098
2184
|
});
|
|
2099
|
-
var no_index_import_default =
|
|
2185
|
+
var no_index_import_default = rule28;
|
|
2100
2186
|
|
|
2101
2187
|
// dist/rules/no-internal-modules.js
|
|
2102
|
-
var
|
|
2188
|
+
var rule29 = createImportPatternRule({
|
|
2103
2189
|
defaultDisallowPatterns: [
|
|
2104
2190
|
"./*/**",
|
|
2105
2191
|
"[^@]*/**",
|
|
@@ -2108,13 +2194,13 @@ var rule28 = createImportPatternRule({
|
|
|
2108
2194
|
description: "disallow importing internal modules.",
|
|
2109
2195
|
name: "no-internal-modules"
|
|
2110
2196
|
});
|
|
2111
|
-
var no_internal_modules_default =
|
|
2197
|
+
var no_internal_modules_default = rule29;
|
|
2112
2198
|
|
|
2113
2199
|
// dist/rules/no-internal.js
|
|
2114
2200
|
var import_utils6 = require("@typescript-eslint/utils");
|
|
2115
|
-
var
|
|
2201
|
+
var import_ts_extras25 = require("ts-extras");
|
|
2116
2202
|
var defaultOptions6 = [{}];
|
|
2117
|
-
var
|
|
2203
|
+
var rule30 = ruleCreator({
|
|
2118
2204
|
create: (context) => {
|
|
2119
2205
|
const [{ ignored = {} } = {}] = context.options;
|
|
2120
2206
|
const parserServices = import_utils6.ESLintUtils.getParserServices(context);
|
|
@@ -2130,7 +2216,7 @@ var rule29 = ruleCreator({
|
|
|
2130
2216
|
return;
|
|
2131
2217
|
}
|
|
2132
2218
|
const symbol = getIdentifierSymbol(parserServices, node);
|
|
2133
|
-
if (!(0,
|
|
2219
|
+
if (!(0, import_ts_extras25.isDefined)(symbol)) {
|
|
2134
2220
|
return;
|
|
2135
2221
|
}
|
|
2136
2222
|
const symbolName = symbol.getName();
|
|
@@ -2142,11 +2228,11 @@ var rule29 = ruleCreator({
|
|
|
2142
2228
|
return;
|
|
2143
2229
|
}
|
|
2144
2230
|
const internalComments = getJsDocTagComments(symbol, typeChecker, "internal");
|
|
2145
|
-
if ((0,
|
|
2231
|
+
if ((0, import_ts_extras25.isEmpty)(internalComments)) {
|
|
2146
2232
|
return;
|
|
2147
2233
|
}
|
|
2148
2234
|
for (const comment of internalComments) {
|
|
2149
|
-
if (!(0,
|
|
2235
|
+
if (!(0, import_ts_extras25.isDefined)(comment)) {
|
|
2150
2236
|
context.report({
|
|
2151
2237
|
data: { name: symbolName },
|
|
2152
2238
|
messageId: "forbidden",
|
|
@@ -2217,16 +2303,16 @@ var rule29 = ruleCreator({
|
|
|
2217
2303
|
},
|
|
2218
2304
|
name: "no-internal"
|
|
2219
2305
|
});
|
|
2220
|
-
var no_internal_default =
|
|
2306
|
+
var no_internal_default = rule30;
|
|
2221
2307
|
|
|
2222
2308
|
// dist/rules/no-language-mixing.js
|
|
2223
|
-
var
|
|
2309
|
+
var import_ts_extras26 = require("ts-extras");
|
|
2224
2310
|
var languageMixPattern = String.raw`/\w[\d_]*[^\u0000-\xff]|[^\u0000-\xff][\d_]*\w/u`;
|
|
2225
|
-
var disallowedSelector5 = (0,
|
|
2311
|
+
var disallowedSelector5 = (0, import_ts_extras26.arrayJoin)([
|
|
2226
2312
|
`Literal[value=${languageMixPattern}]`,
|
|
2227
2313
|
`TemplateElement[value.raw=${languageMixPattern}]`
|
|
2228
2314
|
], ", ");
|
|
2229
|
-
var
|
|
2315
|
+
var rule31 = ruleCreator({
|
|
2230
2316
|
create: (context) => ({
|
|
2231
2317
|
[disallowedSelector5]: (node) => {
|
|
2232
2318
|
context.report({
|
|
@@ -2253,11 +2339,11 @@ var rule30 = ruleCreator({
|
|
|
2253
2339
|
},
|
|
2254
2340
|
name: "no-language-mixing"
|
|
2255
2341
|
});
|
|
2256
|
-
var no_language_mixing_default =
|
|
2342
|
+
var no_language_mixing_default = rule31;
|
|
2257
2343
|
|
|
2258
2344
|
// dist/rules/no-misused-generics.js
|
|
2259
2345
|
var import_utils7 = require("@typescript-eslint/utils");
|
|
2260
|
-
var
|
|
2346
|
+
var import_ts_extras27 = require("ts-extras");
|
|
2261
2347
|
var tsutils = __toESM(require("tsutils"), 1);
|
|
2262
2348
|
var getVariableUses = (usageMap, identifier) => usageMap.get(identifier)?.uses ?? [];
|
|
2263
2349
|
var toReportLocation = (sourceCode, sourceFile, node) => {
|
|
@@ -2276,14 +2362,14 @@ var toReportLocation = (sourceCode, sourceFile, node) => {
|
|
|
2276
2362
|
};
|
|
2277
2363
|
var isTypeUseInsideConstraint = (useLocation, typeParameters) => typeParameters.some((typeParameter) => {
|
|
2278
2364
|
const { constraint } = typeParameter;
|
|
2279
|
-
if (!(0,
|
|
2365
|
+
if (!(0, import_ts_extras27.isDefined)(constraint)) {
|
|
2280
2366
|
return false;
|
|
2281
2367
|
}
|
|
2282
2368
|
return useLocation.pos >= constraint.pos && useLocation.pos < constraint.end;
|
|
2283
2369
|
});
|
|
2284
2370
|
var isConstrainedByAnotherTypeParameter = (currentTypeParameter, allTypeParameters, usageMap) => {
|
|
2285
2371
|
const { constraint } = currentTypeParameter;
|
|
2286
|
-
if (!(0,
|
|
2372
|
+
if (!(0, import_ts_extras27.isDefined)(constraint)) {
|
|
2287
2373
|
return false;
|
|
2288
2374
|
}
|
|
2289
2375
|
return allTypeParameters.some((otherTypeParameter) => {
|
|
@@ -2297,7 +2383,7 @@ var isConstrainedByAnotherTypeParameter = (currentTypeParameter, allTypeParamete
|
|
|
2297
2383
|
var isUseWithinParameterRange = (usePosition, signature) => usePosition > signature.parameters.pos && usePosition < signature.parameters.end;
|
|
2298
2384
|
var getTypeParameterReplacement = (sourceFile, typeParameter) => {
|
|
2299
2385
|
const { constraint } = typeParameter;
|
|
2300
|
-
if (!(0,
|
|
2386
|
+
if (!(0, import_ts_extras27.isDefined)(constraint)) {
|
|
2301
2387
|
return "unknown";
|
|
2302
2388
|
}
|
|
2303
2389
|
return constraint.getText(sourceFile);
|
|
@@ -2326,7 +2412,7 @@ var analyzeTypeParameterUses = (uses, signature, typeParameters) => {
|
|
|
2326
2412
|
usedInReturnOrExtends
|
|
2327
2413
|
};
|
|
2328
2414
|
};
|
|
2329
|
-
var
|
|
2415
|
+
var rule32 = ruleCreator({
|
|
2330
2416
|
create: (context) => {
|
|
2331
2417
|
const parserServices = import_utils7.ESLintUtils.getParserServices(context);
|
|
2332
2418
|
let usageMap = null;
|
|
@@ -2363,7 +2449,7 @@ var rule31 = ruleCreator({
|
|
|
2363
2449
|
};
|
|
2364
2450
|
const checkSignature = (node) => {
|
|
2365
2451
|
const tsNode = parserServices.esTreeNodeToTSNodeMap.get(node);
|
|
2366
|
-
if (!tsutils.isSignatureDeclaration(tsNode) || !(0,
|
|
2452
|
+
if (!tsutils.isSignatureDeclaration(tsNode) || !(0, import_ts_extras27.isDefined)(tsNode.typeParameters)) {
|
|
2367
2453
|
return;
|
|
2368
2454
|
}
|
|
2369
2455
|
checkTypeParameters(tsNode.typeParameters, tsNode);
|
|
@@ -2406,12 +2492,12 @@ var rule31 = ruleCreator({
|
|
|
2406
2492
|
},
|
|
2407
2493
|
name: "no-misused-generics"
|
|
2408
2494
|
});
|
|
2409
|
-
var no_misused_generics_default =
|
|
2495
|
+
var no_misused_generics_default = rule32;
|
|
2410
2496
|
|
|
2411
2497
|
// dist/rules/no-mixed-enums.js
|
|
2412
2498
|
var import_eslint_plugin2 = __toESM(require("@typescript-eslint/eslint-plugin"), 1);
|
|
2413
|
-
var
|
|
2414
|
-
var deprecatedRule6 = withDeprecatedRuleLifecycle(
|
|
2499
|
+
var rule33 = adaptExternalRule(getExternalRuleFromPlugin(import_eslint_plugin2.default, "no-mixed-enums", "@typescript-eslint/eslint-plugin"), "https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-mixed-enums");
|
|
2500
|
+
var deprecatedRule6 = withDeprecatedRuleLifecycle(rule33, {
|
|
2415
2501
|
message: "Deprecated in favor of @typescript-eslint/no-mixed-enums.",
|
|
2416
2502
|
replacedBy: [
|
|
2417
2503
|
createReplacementRuleInfo({
|
|
@@ -2430,7 +2516,7 @@ var deprecatedRule6 = withDeprecatedRuleLifecycle(rule32, {
|
|
|
2430
2516
|
var no_mixed_enums_default = deprecatedRule6;
|
|
2431
2517
|
|
|
2432
2518
|
// dist/rules/no-negated-conditions.js
|
|
2433
|
-
var
|
|
2519
|
+
var import_ts_extras28 = require("ts-extras");
|
|
2434
2520
|
var disallowedSelectors = [
|
|
2435
2521
|
'IfStatement > BinaryExpression[operator="!=="]',
|
|
2436
2522
|
'IfStatement > UnaryExpression[operator="!"]',
|
|
@@ -2439,9 +2525,9 @@ var disallowedSelectors = [
|
|
|
2439
2525
|
':not(LogicalExpression) > LogicalExpression[operator="||"] > BinaryExpression[operator="!=="]',
|
|
2440
2526
|
':not(LogicalExpression) > LogicalExpression[operator="||"] > UnaryExpression[operator="!"]'
|
|
2441
2527
|
];
|
|
2442
|
-
var
|
|
2528
|
+
var rule34 = ruleCreator({
|
|
2443
2529
|
create: (context) => ({
|
|
2444
|
-
[(0,
|
|
2530
|
+
[(0, import_ts_extras28.arrayJoin)(disallowedSelectors, ", ")]: (node) => {
|
|
2445
2531
|
context.report({
|
|
2446
2532
|
messageId: "forbidden",
|
|
2447
2533
|
node
|
|
@@ -2466,18 +2552,18 @@ var rule33 = ruleCreator({
|
|
|
2466
2552
|
},
|
|
2467
2553
|
name: "no-negated-conditions"
|
|
2468
2554
|
});
|
|
2469
|
-
var no_negated_conditions_default =
|
|
2555
|
+
var no_negated_conditions_default = rule34;
|
|
2470
2556
|
|
|
2471
2557
|
// dist/rules/no-nodejs-modules.js
|
|
2472
|
-
var
|
|
2558
|
+
var rule35 = createImportPatternRule({
|
|
2473
2559
|
defaultDisallowPatterns: ["node:*"],
|
|
2474
2560
|
description: "disallow imports from node: built-in module specifiers.",
|
|
2475
2561
|
name: "no-nodejs-modules"
|
|
2476
2562
|
});
|
|
2477
|
-
var no_nodejs_modules_default =
|
|
2563
|
+
var no_nodejs_modules_default = rule35;
|
|
2478
2564
|
|
|
2479
2565
|
// dist/rules/no-param-reassign.js
|
|
2480
|
-
var
|
|
2566
|
+
var import_ts_extras29 = require("ts-extras");
|
|
2481
2567
|
var getAssignmentTargetIdentifier = (node) => {
|
|
2482
2568
|
if (node.left.type === "Identifier") {
|
|
2483
2569
|
return node.left;
|
|
@@ -2516,9 +2602,9 @@ var isInFirstFunctionExpressionStatement = (sourceCode, node) => {
|
|
|
2516
2602
|
if (firstStatement?.type !== "ExpressionStatement") {
|
|
2517
2603
|
return false;
|
|
2518
2604
|
}
|
|
2519
|
-
return (0,
|
|
2605
|
+
return (0, import_ts_extras29.arrayFirst)(node.range) >= (0, import_ts_extras29.arrayFirst)(firstStatement.range) && node.range[1] <= firstStatement.range[1];
|
|
2520
2606
|
};
|
|
2521
|
-
var
|
|
2607
|
+
var rule36 = ruleCreator({
|
|
2522
2608
|
create: (context) => {
|
|
2523
2609
|
const { sourceCode } = context;
|
|
2524
2610
|
const reportIfParameterReassignment = (identifier) => {
|
|
@@ -2568,10 +2654,10 @@ var rule35 = ruleCreator({
|
|
|
2568
2654
|
},
|
|
2569
2655
|
name: "no-param-reassign"
|
|
2570
2656
|
});
|
|
2571
|
-
var no_param_reassign_default =
|
|
2657
|
+
var no_param_reassign_default = rule36;
|
|
2572
2658
|
|
|
2573
2659
|
// dist/rules/no-relative-parent-import.js
|
|
2574
|
-
var
|
|
2660
|
+
var rule37 = createImportPatternRule({
|
|
2575
2661
|
defaultDisallowPatterns: [
|
|
2576
2662
|
"..",
|
|
2577
2663
|
"../**",
|
|
@@ -2587,7 +2673,7 @@ var rule36 = createImportPatternRule({
|
|
|
2587
2673
|
description: "disallow relative parent imports.",
|
|
2588
2674
|
name: "no-relative-parent-import"
|
|
2589
2675
|
});
|
|
2590
|
-
var deprecatedRule7 = withDeprecatedRuleLifecycle(
|
|
2676
|
+
var deprecatedRule7 = withDeprecatedRuleLifecycle(rule37, {
|
|
2591
2677
|
message: "Deprecated in favor of import/no-relative-parent-imports.",
|
|
2592
2678
|
replacedBy: [
|
|
2593
2679
|
createReplacementRuleInfo({
|
|
@@ -2606,14 +2692,14 @@ var deprecatedRule7 = withDeprecatedRuleLifecycle(rule36, {
|
|
|
2606
2692
|
var no_relative_parent_import_default = deprecatedRule7;
|
|
2607
2693
|
|
|
2608
2694
|
// dist/rules/no-restricted-syntax.js
|
|
2609
|
-
var
|
|
2695
|
+
var import_ts_extras31 = require("ts-extras");
|
|
2610
2696
|
|
|
2611
2697
|
// dist/_internal/syntax-selectors.js
|
|
2612
|
-
var
|
|
2613
|
-
var isSelectorObject = (value) => typeof value === "object" && value !== null && (0,
|
|
2698
|
+
var import_ts_extras30 = require("ts-extras");
|
|
2699
|
+
var isSelectorObject = (value) => typeof value === "object" && value !== null && (0, import_ts_extras30.keyIn)(value, "selector");
|
|
2614
2700
|
var normalizeSyntaxSelector = (selector25) => {
|
|
2615
2701
|
if (isSelectorObject(selector25)) {
|
|
2616
|
-
if (!(0,
|
|
2702
|
+
if (!(0, import_ts_extras30.isDefined)(selector25.message)) {
|
|
2617
2703
|
return {
|
|
2618
2704
|
selector: selector25.selector
|
|
2619
2705
|
};
|
|
@@ -2638,12 +2724,12 @@ var buildRestrictedSyntaxListeners = (entries, report) => {
|
|
|
2638
2724
|
};
|
|
2639
2725
|
|
|
2640
2726
|
// dist/rules/no-restricted-syntax.js
|
|
2641
|
-
var
|
|
2727
|
+
var rule38 = ruleCreator({
|
|
2642
2728
|
create: (context, [options]) => {
|
|
2643
2729
|
const selectors = options.selectors ?? [];
|
|
2644
2730
|
const entries = selectors.map((selector25) => normalizeSyntaxSelector(selector25));
|
|
2645
2731
|
return buildRestrictedSyntaxListeners(entries, (node, entry) => {
|
|
2646
|
-
if ((0,
|
|
2732
|
+
if ((0, import_ts_extras31.isDefined)(entry.message)) {
|
|
2647
2733
|
context.report({
|
|
2648
2734
|
data: {
|
|
2649
2735
|
message: entry.message
|
|
@@ -2714,7 +2800,7 @@ var rule37 = ruleCreator({
|
|
|
2714
2800
|
},
|
|
2715
2801
|
name: "no-restricted-syntax"
|
|
2716
2802
|
});
|
|
2717
|
-
var deprecatedRule8 = withDeprecatedRuleLifecycle(
|
|
2803
|
+
var deprecatedRule8 = withDeprecatedRuleLifecycle(rule38, {
|
|
2718
2804
|
message: "Deprecated in favor of ESLint core no-restricted-syntax.",
|
|
2719
2805
|
replacedBy: [
|
|
2720
2806
|
createReplacementRuleInfo({
|
|
@@ -2730,8 +2816,8 @@ var no_restricted_syntax_default = deprecatedRule8;
|
|
|
2730
2816
|
|
|
2731
2817
|
// dist/rules/no-secret.js
|
|
2732
2818
|
var import_eslint_plugin_no_secrets = __toESM(require("eslint-plugin-no-secrets"), 1);
|
|
2733
|
-
var
|
|
2734
|
-
var deprecatedRule9 = withDeprecatedRuleLifecycle(
|
|
2819
|
+
var rule39 = adaptExternalRule(getExternalRuleFromPlugin(import_eslint_plugin_no_secrets.default, "no-secrets", "eslint-plugin-no-secrets"), "https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-secret");
|
|
2820
|
+
var deprecatedRule9 = withDeprecatedRuleLifecycle(rule39, {
|
|
2735
2821
|
message: "Deprecated in favor of dedicated secret scanning tools such as Secretlint and detect-secrets.",
|
|
2736
2822
|
replacedBy: [
|
|
2737
2823
|
createReplacementRuleInfo({
|
|
@@ -2763,7 +2849,7 @@ var no_secret_default = deprecatedRule9;
|
|
|
2763
2849
|
|
|
2764
2850
|
// dist/rules/no-self-import.js
|
|
2765
2851
|
var import_node_path4 = require("node:path");
|
|
2766
|
-
var
|
|
2852
|
+
var import_ts_extras32 = require("ts-extras");
|
|
2767
2853
|
var importFileSuffixes = [
|
|
2768
2854
|
"",
|
|
2769
2855
|
".ts",
|
|
@@ -2779,7 +2865,7 @@ var importFileSuffixes = [
|
|
|
2779
2865
|
"/index.cjs"
|
|
2780
2866
|
];
|
|
2781
2867
|
var toResolvedCandidates = (baseDirectory, importSource) => importFileSuffixes.map((suffix) => (0, import_node_path4.resolve)(baseDirectory, `${importSource}${suffix}`));
|
|
2782
|
-
var
|
|
2868
|
+
var rule40 = ruleCreator({
|
|
2783
2869
|
create: (context) => {
|
|
2784
2870
|
const currentFilePath = context.filename;
|
|
2785
2871
|
if (currentFilePath === "<input>") {
|
|
@@ -2794,7 +2880,7 @@ var rule39 = ruleCreator({
|
|
|
2794
2880
|
return;
|
|
2795
2881
|
}
|
|
2796
2882
|
const candidatePaths = toResolvedCandidates(currentFileDirectory, sourceText);
|
|
2797
|
-
if ((0,
|
|
2883
|
+
if ((0, import_ts_extras32.arrayIncludes)(candidatePaths, normalizedCurrentFilePath)) {
|
|
2798
2884
|
context.report({
|
|
2799
2885
|
messageId: "forbidden",
|
|
2800
2886
|
node
|
|
@@ -2821,7 +2907,7 @@ var rule39 = ruleCreator({
|
|
|
2821
2907
|
},
|
|
2822
2908
|
name: "no-self-import"
|
|
2823
2909
|
});
|
|
2824
|
-
var deprecatedRule10 = withDeprecatedRuleLifecycle(
|
|
2910
|
+
var deprecatedRule10 = withDeprecatedRuleLifecycle(rule40, {
|
|
2825
2911
|
message: "Deprecated in favor of import/no-self-import.",
|
|
2826
2912
|
replacedBy: [
|
|
2827
2913
|
createReplacementRuleInfo({
|
|
@@ -2856,7 +2942,7 @@ var collectScopes = (scope) => [
|
|
|
2856
2942
|
scope,
|
|
2857
2943
|
...scope.childScopes.flatMap((childScope) => collectScopes(childScope))
|
|
2858
2944
|
];
|
|
2859
|
-
var
|
|
2945
|
+
var rule41 = ruleCreator({
|
|
2860
2946
|
create: (context) => ({
|
|
2861
2947
|
"Program:exit": (node) => {
|
|
2862
2948
|
const programScope = context.sourceCode.getScope(node);
|
|
@@ -2902,7 +2988,7 @@ var rule40 = ruleCreator({
|
|
|
2902
2988
|
},
|
|
2903
2989
|
name: "no-shadow"
|
|
2904
2990
|
});
|
|
2905
|
-
var deprecatedRule11 = withDeprecatedRuleLifecycle(
|
|
2991
|
+
var deprecatedRule11 = withDeprecatedRuleLifecycle(rule41, {
|
|
2906
2992
|
message: "Deprecated in favor of @typescript-eslint/no-shadow.",
|
|
2907
2993
|
replacedBy: [
|
|
2908
2994
|
createReplacementRuleInfo({
|
|
@@ -2921,12 +3007,12 @@ var deprecatedRule11 = withDeprecatedRuleLifecycle(rule40, {
|
|
|
2921
3007
|
var no_shadow_default = deprecatedRule11;
|
|
2922
3008
|
|
|
2923
3009
|
// dist/rules/no-sibling-import.js
|
|
2924
|
-
var
|
|
3010
|
+
var rule42 = createImportPatternRule({
|
|
2925
3011
|
defaultDisallowPatterns: ["./*"],
|
|
2926
3012
|
description: "disallow sibling imports from the current directory.",
|
|
2927
3013
|
name: "no-sibling-import"
|
|
2928
3014
|
});
|
|
2929
|
-
var no_sibling_import_default =
|
|
3015
|
+
var no_sibling_import_default = rule42;
|
|
2930
3016
|
|
|
2931
3017
|
// dist/rules/no-single-line-comment.js
|
|
2932
3018
|
var directiveCommentPattern = /^(?:eslint(?:-|$)|global\s|exported\s|ts-(?:check|expect-error|ignore|nocheck))/u;
|
|
@@ -2937,7 +3023,7 @@ var createConvertToBlockSuggestionFix = (commentValue, commentRange) => {
|
|
|
2937
3023
|
}
|
|
2938
3024
|
return (fixer) => fixer.replaceTextRange(commentRange, `/*${commentValue} */`);
|
|
2939
3025
|
};
|
|
2940
|
-
var
|
|
3026
|
+
var rule43 = ruleCreator({
|
|
2941
3027
|
create: (context) => {
|
|
2942
3028
|
const [{ allowDirectiveComments = true } = {}] = context.options;
|
|
2943
3029
|
return {
|
|
@@ -3003,11 +3089,11 @@ var rule42 = ruleCreator({
|
|
|
3003
3089
|
},
|
|
3004
3090
|
name: "no-single-line-comment"
|
|
3005
3091
|
});
|
|
3006
|
-
var no_single_line_comment_default =
|
|
3092
|
+
var no_single_line_comment_default = rule43;
|
|
3007
3093
|
|
|
3008
3094
|
// dist/rules/no-t.js
|
|
3009
3095
|
var defaultOptions7 = [{}];
|
|
3010
|
-
var
|
|
3096
|
+
var rule44 = ruleCreator({
|
|
3011
3097
|
create: (context) => {
|
|
3012
3098
|
const [{ prefix = "" } = {}] = context.options;
|
|
3013
3099
|
return {
|
|
@@ -3062,16 +3148,16 @@ var rule43 = ruleCreator({
|
|
|
3062
3148
|
},
|
|
3063
3149
|
name: "no-t"
|
|
3064
3150
|
});
|
|
3065
|
-
var no_t_default =
|
|
3151
|
+
var no_t_default = rule44;
|
|
3066
3152
|
|
|
3067
3153
|
// dist/rules/no-underscore-export.js
|
|
3068
|
-
var
|
|
3069
|
-
var disallowedSelector6 = (0,
|
|
3154
|
+
var import_ts_extras33 = require("ts-extras");
|
|
3155
|
+
var disallowedSelector6 = (0, import_ts_extras33.arrayJoin)([
|
|
3070
3156
|
"ExportNamedDeclaration > FunctionDeclaration > Identifier.id[name=/^_/u]",
|
|
3071
3157
|
"ExportNamedDeclaration > TSDeclareFunction > Identifier.id[name=/^_/u]",
|
|
3072
3158
|
"ExportNamedDeclaration > VariableDeclaration > VariableDeclarator > Identifier.id[name=/^_/u]"
|
|
3073
3159
|
], ", ");
|
|
3074
|
-
var
|
|
3160
|
+
var rule45 = ruleCreator({
|
|
3075
3161
|
create: (context) => ({
|
|
3076
3162
|
[disallowedSelector6]: (node) => {
|
|
3077
3163
|
context.report({
|
|
@@ -3098,7 +3184,7 @@ var rule44 = ruleCreator({
|
|
|
3098
3184
|
},
|
|
3099
3185
|
name: "no-underscore-export"
|
|
3100
3186
|
});
|
|
3101
|
-
var no_underscore_export_default =
|
|
3187
|
+
var no_underscore_export_default = rule45;
|
|
3102
3188
|
|
|
3103
3189
|
// dist/rules/no-unnecessary-as-const.js
|
|
3104
3190
|
var disallowedSelector7 = "VariableDeclarator > TSAsExpression[expression.properties.length=0] > TSTypeReference > Identifier[name='const'], VariableDeclarator[id.typeAnnotation] > TSAsExpression > TSTypeReference > Identifier[name='const']";
|
|
@@ -3108,7 +3194,7 @@ var getAsConstExpression = (node) => {
|
|
|
3108
3194
|
}
|
|
3109
3195
|
return node.parent.parent;
|
|
3110
3196
|
};
|
|
3111
|
-
var
|
|
3197
|
+
var rule46 = ruleCreator({
|
|
3112
3198
|
create: (context) => {
|
|
3113
3199
|
const sourceCode = context.sourceCode;
|
|
3114
3200
|
return {
|
|
@@ -3145,27 +3231,27 @@ var rule45 = ruleCreator({
|
|
|
3145
3231
|
},
|
|
3146
3232
|
name: "no-unnecessary-as-const"
|
|
3147
3233
|
});
|
|
3148
|
-
var no_unnecessary_as_const_default =
|
|
3234
|
+
var no_unnecessary_as_const_default = rule46;
|
|
3149
3235
|
|
|
3150
3236
|
// dist/rules/no-unnecessary-break.js
|
|
3151
|
-
var
|
|
3237
|
+
var import_ts_extras34 = require("ts-extras");
|
|
3152
3238
|
var disallowedSelector8 = "SwitchCase:last-child > BreakStatement.consequent";
|
|
3153
3239
|
var createTrailingBreakRemovalFix = (sourceCode, node) => {
|
|
3154
3240
|
const previousToken = sourceCode.getTokenBefore(node);
|
|
3155
3241
|
const previousTokenLine = previousToken?.loc.end.line;
|
|
3156
3242
|
const breakLine = node.loc.start.line;
|
|
3157
|
-
const shouldRemoveLeadingWhitespace = (0,
|
|
3243
|
+
const shouldRemoveLeadingWhitespace = (0, import_ts_extras34.isDefined)(previousTokenLine) && previousTokenLine === breakLine;
|
|
3158
3244
|
if (previousToken === null || !shouldRemoveLeadingWhitespace) {
|
|
3159
3245
|
return (fixer) => fixer.remove(node);
|
|
3160
3246
|
}
|
|
3161
|
-
const leadingText = sourceCode.text.slice(previousToken.range[1], (0,
|
|
3247
|
+
const leadingText = sourceCode.text.slice(previousToken.range[1], (0, import_ts_extras34.arrayFirst)(node.range));
|
|
3162
3248
|
const leadingWhitespaceLength = /^[\t ]*/u.exec(leadingText)?.[0].length ?? 0;
|
|
3163
3249
|
return (fixer) => fixer.removeRange([
|
|
3164
|
-
(0,
|
|
3250
|
+
(0, import_ts_extras34.arrayFirst)(node.range) - leadingWhitespaceLength,
|
|
3165
3251
|
node.range[1]
|
|
3166
3252
|
]);
|
|
3167
3253
|
};
|
|
3168
|
-
var
|
|
3254
|
+
var rule47 = ruleCreator({
|
|
3169
3255
|
create: (context) => {
|
|
3170
3256
|
const sourceCode = context.sourceCode;
|
|
3171
3257
|
return {
|
|
@@ -3208,10 +3294,10 @@ var rule46 = ruleCreator({
|
|
|
3208
3294
|
},
|
|
3209
3295
|
name: "no-unnecessary-break"
|
|
3210
3296
|
});
|
|
3211
|
-
var no_unnecessary_break_default =
|
|
3297
|
+
var no_unnecessary_break_default = rule47;
|
|
3212
3298
|
|
|
3213
3299
|
// dist/rules/no-unnecessary-initialization.js
|
|
3214
|
-
var
|
|
3300
|
+
var import_ts_extras35 = require("ts-extras");
|
|
3215
3301
|
var disallowedSelector9 = "PropertyDefinition > Identifier.value[name='undefined'], VariableDeclarator > Identifier.init[name='undefined']";
|
|
3216
3302
|
var getUndefinedInitializationRemovalRange = (sourceCode, node) => {
|
|
3217
3303
|
const equalsToken = sourceCode.getTokenBefore(node, {
|
|
@@ -3220,7 +3306,7 @@ var getUndefinedInitializationRemovalRange = (sourceCode, node) => {
|
|
|
3220
3306
|
if (equalsToken === null) {
|
|
3221
3307
|
return void 0;
|
|
3222
3308
|
}
|
|
3223
|
-
let fixStartIndex = (0,
|
|
3309
|
+
let fixStartIndex = (0, import_ts_extras35.arrayFirst)(equalsToken.range);
|
|
3224
3310
|
const sourceText = sourceCode.text;
|
|
3225
3311
|
while (fixStartIndex > 0) {
|
|
3226
3312
|
const previousCharacter = sourceText.at(fixStartIndex - 1);
|
|
@@ -3231,13 +3317,13 @@ var getUndefinedInitializationRemovalRange = (sourceCode, node) => {
|
|
|
3231
3317
|
}
|
|
3232
3318
|
return [fixStartIndex, node.range[1]];
|
|
3233
3319
|
};
|
|
3234
|
-
var
|
|
3320
|
+
var rule48 = ruleCreator({
|
|
3235
3321
|
create: (context) => {
|
|
3236
3322
|
const sourceCode = context.sourceCode;
|
|
3237
3323
|
return {
|
|
3238
3324
|
[disallowedSelector9]: (node) => {
|
|
3239
3325
|
const removalRange = getUndefinedInitializationRemovalRange(sourceCode, node);
|
|
3240
|
-
if (!(0,
|
|
3326
|
+
if (!(0, import_ts_extras35.isDefined)(removalRange)) {
|
|
3241
3327
|
return;
|
|
3242
3328
|
}
|
|
3243
3329
|
const fix = (fixer) => fixer.removeRange(removalRange);
|
|
@@ -3268,13 +3354,13 @@ var rule47 = ruleCreator({
|
|
|
3268
3354
|
},
|
|
3269
3355
|
name: "no-unnecessary-initialization"
|
|
3270
3356
|
});
|
|
3271
|
-
var no_unnecessary_initialization_default =
|
|
3357
|
+
var no_unnecessary_initialization_default = rule48;
|
|
3272
3358
|
|
|
3273
3359
|
// dist/rules/no-unnecessary-template-literal.js
|
|
3274
|
-
var
|
|
3360
|
+
var import_ts_extras36 = require("ts-extras");
|
|
3275
3361
|
var selector3 = "TemplateLiteral[expressions.length=0] > TemplateElement";
|
|
3276
|
-
var toSafeStringLiteralText = (templateLiteral) => JSON.stringify((0,
|
|
3277
|
-
var
|
|
3362
|
+
var toSafeStringLiteralText = (templateLiteral) => JSON.stringify((0, import_ts_extras36.arrayFirst)(templateLiteral.quasis)?.value.cooked ?? (0, import_ts_extras36.arrayFirst)(templateLiteral.quasis)?.value.raw ?? "");
|
|
3363
|
+
var rule49 = ruleCreator({
|
|
3278
3364
|
create: (context) => ({
|
|
3279
3365
|
[selector3]: (node) => {
|
|
3280
3366
|
const templateLiteral = node.type === "TemplateElement" && node.parent?.type === "TemplateLiteral" ? node.parent : void 0;
|
|
@@ -3307,12 +3393,12 @@ var rule48 = ruleCreator({
|
|
|
3307
3393
|
},
|
|
3308
3394
|
name: "no-unnecessary-template-literal"
|
|
3309
3395
|
});
|
|
3310
|
-
var no_unnecessary_template_literal_default =
|
|
3396
|
+
var no_unnecessary_template_literal_default = rule49;
|
|
3311
3397
|
|
|
3312
3398
|
// dist/rules/no-unused-disable.js
|
|
3313
3399
|
var import_eslint_plugin_eslint_comments = __toESM(require("@eslint-community/eslint-plugin-eslint-comments"), 1);
|
|
3314
|
-
var
|
|
3315
|
-
var deprecatedRule12 = withDeprecatedRuleLifecycle(
|
|
3400
|
+
var rule50 = adaptExternalRule(getExternalRuleFromPlugin(import_eslint_plugin_eslint_comments.default, "no-unused-disable", "@eslint-community/eslint-plugin-eslint-comments"), "https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-unused-disable");
|
|
3401
|
+
var deprecatedRule12 = withDeprecatedRuleLifecycle(rule50, {
|
|
3316
3402
|
message: "Deprecated in favor of @eslint-community/eslint-comments/no-unused-disable.",
|
|
3317
3403
|
replacedBy: [
|
|
3318
3404
|
createReplacementRuleInfo({
|
|
@@ -3330,10 +3416,296 @@ var deprecatedRule12 = withDeprecatedRuleLifecycle(rule49, {
|
|
|
3330
3416
|
});
|
|
3331
3417
|
var no_unused_disable_default = deprecatedRule12;
|
|
3332
3418
|
|
|
3419
|
+
// dist/rules/no-use-extend-native.js
|
|
3420
|
+
var import_ts_extras37 = require("ts-extras");
|
|
3421
|
+
var nativeTypeDefinitions = [
|
|
3422
|
+
{
|
|
3423
|
+
constructorRef: Array,
|
|
3424
|
+
dataProperties: ["length"],
|
|
3425
|
+
name: "Array",
|
|
3426
|
+
prototypeRef: Array.prototype
|
|
3427
|
+
},
|
|
3428
|
+
{
|
|
3429
|
+
constructorRef: BigInt,
|
|
3430
|
+
name: "BigInt",
|
|
3431
|
+
prototypeRef: BigInt.prototype
|
|
3432
|
+
},
|
|
3433
|
+
{
|
|
3434
|
+
constructorRef: Boolean,
|
|
3435
|
+
name: "Boolean",
|
|
3436
|
+
prototypeRef: Boolean.prototype
|
|
3437
|
+
},
|
|
3438
|
+
{
|
|
3439
|
+
constructorRef: Date,
|
|
3440
|
+
name: "Date",
|
|
3441
|
+
prototypeRef: Date.prototype
|
|
3442
|
+
},
|
|
3443
|
+
{
|
|
3444
|
+
constructorRef: Error,
|
|
3445
|
+
name: "Error",
|
|
3446
|
+
prototypeRef: Error.prototype
|
|
3447
|
+
},
|
|
3448
|
+
{
|
|
3449
|
+
constructorRef: Function,
|
|
3450
|
+
name: "Function",
|
|
3451
|
+
prototypeRef: Function.prototype
|
|
3452
|
+
},
|
|
3453
|
+
{
|
|
3454
|
+
constructorRef: Map,
|
|
3455
|
+
name: "Map",
|
|
3456
|
+
prototypeRef: Map.prototype
|
|
3457
|
+
},
|
|
3458
|
+
{
|
|
3459
|
+
constructorRef: Number,
|
|
3460
|
+
name: "Number",
|
|
3461
|
+
prototypeRef: Number.prototype
|
|
3462
|
+
},
|
|
3463
|
+
{
|
|
3464
|
+
constructorRef: Object,
|
|
3465
|
+
name: "Object",
|
|
3466
|
+
prototypeRef: Object.prototype
|
|
3467
|
+
},
|
|
3468
|
+
{
|
|
3469
|
+
constructorRef: Promise,
|
|
3470
|
+
name: "Promise",
|
|
3471
|
+
prototypeRef: Promise.prototype
|
|
3472
|
+
},
|
|
3473
|
+
{
|
|
3474
|
+
constructorRef: RegExp,
|
|
3475
|
+
dataProperties: ["lastIndex"],
|
|
3476
|
+
name: "RegExp",
|
|
3477
|
+
prototypeRef: RegExp.prototype
|
|
3478
|
+
},
|
|
3479
|
+
{
|
|
3480
|
+
constructorRef: Set,
|
|
3481
|
+
name: "Set",
|
|
3482
|
+
prototypeRef: Set.prototype
|
|
3483
|
+
},
|
|
3484
|
+
{
|
|
3485
|
+
constructorRef: String,
|
|
3486
|
+
dataProperties: ["length"],
|
|
3487
|
+
name: "String",
|
|
3488
|
+
prototypeRef: String.prototype
|
|
3489
|
+
},
|
|
3490
|
+
{
|
|
3491
|
+
constructorRef: Symbol,
|
|
3492
|
+
name: "Symbol",
|
|
3493
|
+
prototypeRef: Symbol.prototype
|
|
3494
|
+
},
|
|
3495
|
+
{
|
|
3496
|
+
constructorRef: WeakMap,
|
|
3497
|
+
name: "WeakMap",
|
|
3498
|
+
prototypeRef: WeakMap.prototype
|
|
3499
|
+
},
|
|
3500
|
+
{
|
|
3501
|
+
constructorRef: WeakSet,
|
|
3502
|
+
name: "WeakSet",
|
|
3503
|
+
prototypeRef: WeakSet.prototype
|
|
3504
|
+
}
|
|
3505
|
+
];
|
|
3506
|
+
var nativeTypeNameSet = new Set(nativeTypeDefinitions.map((definition) => definition.name));
|
|
3507
|
+
function buildNativeTypeInfoByName(definitions) {
|
|
3508
|
+
return new Map(definitions.map((definition) => [
|
|
3509
|
+
definition.name,
|
|
3510
|
+
{
|
|
3511
|
+
propertyKinds: collectPropertyKinds(definition)
|
|
3512
|
+
}
|
|
3513
|
+
]));
|
|
3514
|
+
}
|
|
3515
|
+
function collectPropertyKinds(definition) {
|
|
3516
|
+
const propertyKinds = /* @__PURE__ */ new Map();
|
|
3517
|
+
const descriptorSources = [
|
|
3518
|
+
definition.prototypeRef,
|
|
3519
|
+
definition.constructorRef
|
|
3520
|
+
];
|
|
3521
|
+
for (const descriptorSource of descriptorSources) {
|
|
3522
|
+
if (!(0, import_ts_extras37.isDefined)(descriptorSource)) {
|
|
3523
|
+
continue;
|
|
3524
|
+
}
|
|
3525
|
+
const ownPropertyNames = Object.getOwnPropertyNames(descriptorSource);
|
|
3526
|
+
for (const propertyName of ownPropertyNames) {
|
|
3527
|
+
if (propertyKinds.has(propertyName)) {
|
|
3528
|
+
continue;
|
|
3529
|
+
}
|
|
3530
|
+
const descriptor = Object.getOwnPropertyDescriptor(descriptorSource, propertyName);
|
|
3531
|
+
if (!(0, import_ts_extras37.isDefined)(descriptor)) {
|
|
3532
|
+
continue;
|
|
3533
|
+
}
|
|
3534
|
+
propertyKinds.set(propertyName, getMemberKind(descriptor));
|
|
3535
|
+
}
|
|
3536
|
+
}
|
|
3537
|
+
for (const dataPropertyName of definition.dataProperties ?? []) {
|
|
3538
|
+
if (!propertyKinds.has(dataPropertyName)) {
|
|
3539
|
+
propertyKinds.set(dataPropertyName, "data");
|
|
3540
|
+
}
|
|
3541
|
+
}
|
|
3542
|
+
return propertyKinds;
|
|
3543
|
+
}
|
|
3544
|
+
function unwrapExpression(node) {
|
|
3545
|
+
if (node.type === "TSAsExpression" || node.type === "TSTypeAssertion") {
|
|
3546
|
+
return unwrapExpression(node.expression);
|
|
3547
|
+
}
|
|
3548
|
+
if (node.type === "ChainExpression") {
|
|
3549
|
+
return unwrapExpression(node.expression);
|
|
3550
|
+
}
|
|
3551
|
+
return node;
|
|
3552
|
+
}
|
|
3553
|
+
var inferNativeType = (rawExpression) => {
|
|
3554
|
+
const expression = unwrapExpression(rawExpression);
|
|
3555
|
+
if (expression.type === "ArrayExpression") {
|
|
3556
|
+
return "Array";
|
|
3557
|
+
}
|
|
3558
|
+
if (expression.type === "ObjectExpression") {
|
|
3559
|
+
return "Object";
|
|
3560
|
+
}
|
|
3561
|
+
if (expression.type === "TemplateLiteral") {
|
|
3562
|
+
return "String";
|
|
3563
|
+
}
|
|
3564
|
+
if (expression.type === "Literal") {
|
|
3565
|
+
return inferNativeTypeFromLiteral(expression);
|
|
3566
|
+
}
|
|
3567
|
+
if (expression.type === "Identifier" && isNativeTypeName(expression.name)) {
|
|
3568
|
+
return expression.name;
|
|
3569
|
+
}
|
|
3570
|
+
if (expression.type === "BinaryExpression") {
|
|
3571
|
+
return inferNativeTypeFromBinaryExpression(expression);
|
|
3572
|
+
}
|
|
3573
|
+
if (expression.type === "MemberExpression") {
|
|
3574
|
+
return inferNativeTypeFromMemberExpression(expression);
|
|
3575
|
+
}
|
|
3576
|
+
if (expression.type === "NewExpression") {
|
|
3577
|
+
return inferNativeTypeFromNewExpression(expression);
|
|
3578
|
+
}
|
|
3579
|
+
return null;
|
|
3580
|
+
};
|
|
3581
|
+
function inferNativeTypeFromBinaryExpression(expression) {
|
|
3582
|
+
if (expression.operator !== "+") {
|
|
3583
|
+
return null;
|
|
3584
|
+
}
|
|
3585
|
+
const leftType = inferNativeType(expression.left);
|
|
3586
|
+
const rightType = inferNativeType(expression.right);
|
|
3587
|
+
if (leftType === "String" || rightType === "String") {
|
|
3588
|
+
return "String";
|
|
3589
|
+
}
|
|
3590
|
+
if (leftType === "RegExp" && rightType === "RegExp") {
|
|
3591
|
+
return "String";
|
|
3592
|
+
}
|
|
3593
|
+
return null;
|
|
3594
|
+
}
|
|
3595
|
+
function inferNativeTypeFromLiteral(expression) {
|
|
3596
|
+
if (typeof expression.value === "string") {
|
|
3597
|
+
return "String";
|
|
3598
|
+
}
|
|
3599
|
+
if (typeof expression.value === "number") {
|
|
3600
|
+
return "Number";
|
|
3601
|
+
}
|
|
3602
|
+
if (typeof expression.value === "boolean") {
|
|
3603
|
+
return "Boolean";
|
|
3604
|
+
}
|
|
3605
|
+
if (typeof expression.value === "bigint") {
|
|
3606
|
+
return "BigInt";
|
|
3607
|
+
}
|
|
3608
|
+
if (expression.value instanceof RegExp) {
|
|
3609
|
+
return "RegExp";
|
|
3610
|
+
}
|
|
3611
|
+
return null;
|
|
3612
|
+
}
|
|
3613
|
+
function inferNativeTypeFromMemberExpression(expression) {
|
|
3614
|
+
if (expression.computed || expression.property.type !== "Identifier" || expression.property.name !== "prototype" || expression.object.type !== "Identifier" || !isNativeTypeName(expression.object.name)) {
|
|
3615
|
+
return null;
|
|
3616
|
+
}
|
|
3617
|
+
return expression.object.name;
|
|
3618
|
+
}
|
|
3619
|
+
function inferNativeTypeFromNewExpression(expression) {
|
|
3620
|
+
if (expression.callee.type !== "Identifier" || !isNativeTypeName(expression.callee.name)) {
|
|
3621
|
+
return null;
|
|
3622
|
+
}
|
|
3623
|
+
return expression.callee.name;
|
|
3624
|
+
}
|
|
3625
|
+
function getMemberKind(descriptor) {
|
|
3626
|
+
if (typeof descriptor.value === "function") {
|
|
3627
|
+
return "method";
|
|
3628
|
+
}
|
|
3629
|
+
if ((0, import_ts_extras37.isDefined)(descriptor.get) || (0, import_ts_extras37.isDefined)(descriptor.set)) {
|
|
3630
|
+
return "accessor";
|
|
3631
|
+
}
|
|
3632
|
+
return "data";
|
|
3633
|
+
}
|
|
3634
|
+
var getStaticMemberPropertyName = (node) => {
|
|
3635
|
+
if (node.computed || node.property.type !== "Identifier") {
|
|
3636
|
+
return null;
|
|
3637
|
+
}
|
|
3638
|
+
return node.property.name;
|
|
3639
|
+
};
|
|
3640
|
+
var isCallUsage = (node) => {
|
|
3641
|
+
const parent = node.parent;
|
|
3642
|
+
return parent.type === "CallExpression" && parent.callee === node;
|
|
3643
|
+
};
|
|
3644
|
+
var nativeTypeInfoByName = buildNativeTypeInfoByName(nativeTypeDefinitions);
|
|
3645
|
+
var isNativeTypeName = (value) => (0, import_ts_extras37.setHas)(nativeTypeNameSet, value);
|
|
3646
|
+
var rule51 = ruleCreator({
|
|
3647
|
+
create: (context) => ({
|
|
3648
|
+
MemberExpression: (node) => {
|
|
3649
|
+
const propertyName = getStaticMemberPropertyName(node);
|
|
3650
|
+
if (propertyName === null || propertyName === "prototype") {
|
|
3651
|
+
return;
|
|
3652
|
+
}
|
|
3653
|
+
const nativeTypeName = inferNativeType(node.object);
|
|
3654
|
+
if (nativeTypeName === null) {
|
|
3655
|
+
return;
|
|
3656
|
+
}
|
|
3657
|
+
const nativeTypeInfo = nativeTypeInfoByName.get(nativeTypeName);
|
|
3658
|
+
if (!(0, import_ts_extras37.isDefined)(nativeTypeInfo)) {
|
|
3659
|
+
return;
|
|
3660
|
+
}
|
|
3661
|
+
const memberKind = nativeTypeInfo.propertyKinds.get(propertyName);
|
|
3662
|
+
if (!(0, import_ts_extras37.isDefined)(memberKind)) {
|
|
3663
|
+
context.report({
|
|
3664
|
+
data: {
|
|
3665
|
+
nativeTypeName,
|
|
3666
|
+
propertyName
|
|
3667
|
+
},
|
|
3668
|
+
messageId: "forbidden",
|
|
3669
|
+
node
|
|
3670
|
+
});
|
|
3671
|
+
return;
|
|
3672
|
+
}
|
|
3673
|
+
if (isCallUsage(node) && memberKind !== "method") {
|
|
3674
|
+
context.report({
|
|
3675
|
+
data: {
|
|
3676
|
+
nativeTypeName,
|
|
3677
|
+
propertyName
|
|
3678
|
+
},
|
|
3679
|
+
messageId: "forbidden",
|
|
3680
|
+
node
|
|
3681
|
+
});
|
|
3682
|
+
}
|
|
3683
|
+
}
|
|
3684
|
+
}),
|
|
3685
|
+
meta: {
|
|
3686
|
+
deprecated: false,
|
|
3687
|
+
docs: {
|
|
3688
|
+
deprecated: false,
|
|
3689
|
+
description: "disallow usage of non-native members on built-in JavaScript objects.",
|
|
3690
|
+
frozen: false,
|
|
3691
|
+
recommended: false,
|
|
3692
|
+
url: "https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-use-extend-native"
|
|
3693
|
+
},
|
|
3694
|
+
hasSuggestions: false,
|
|
3695
|
+
messages: {
|
|
3696
|
+
forbidden: "Avoid using '{{nativeTypeName}}.{{propertyName}}' when it is not part of the native JavaScript API."
|
|
3697
|
+
},
|
|
3698
|
+
schema: [],
|
|
3699
|
+
type: "problem"
|
|
3700
|
+
},
|
|
3701
|
+
name: "no-use-extend-native"
|
|
3702
|
+
});
|
|
3703
|
+
var no_use_extend_native_default = rule51;
|
|
3704
|
+
|
|
3333
3705
|
// dist/rules/no-useless-generics.js
|
|
3334
3706
|
var import_eslint_plugin3 = __toESM(require("@typescript-eslint/eslint-plugin"), 1);
|
|
3335
|
-
var
|
|
3336
|
-
var deprecatedRule13 = withDeprecatedRuleLifecycle(
|
|
3707
|
+
var rule52 = adaptExternalRule(getExternalRuleFromPlugin(import_eslint_plugin3.default, "no-unnecessary-type-parameters", "@typescript-eslint/eslint-plugin"), "https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-useless-generics");
|
|
3708
|
+
var deprecatedRule13 = withDeprecatedRuleLifecycle(rule52, {
|
|
3337
3709
|
message: "Deprecated in favor of @typescript-eslint/no-unnecessary-type-parameters.",
|
|
3338
3710
|
replacedBy: [
|
|
3339
3711
|
createReplacementRuleInfo({
|
|
@@ -3353,8 +3725,8 @@ var no_useless_generics_default = deprecatedRule13;
|
|
|
3353
3725
|
|
|
3354
3726
|
// dist/rules/no-value-tostring.js
|
|
3355
3727
|
var import_eslint_plugin4 = __toESM(require("@typescript-eslint/eslint-plugin"), 1);
|
|
3356
|
-
var
|
|
3357
|
-
var deprecatedRule14 = withDeprecatedRuleLifecycle(
|
|
3728
|
+
var rule53 = adaptExternalRule(getExternalRuleFromPlugin(import_eslint_plugin4.default, "no-base-to-string", "@typescript-eslint/eslint-plugin"), "https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-value-tostring");
|
|
3729
|
+
var deprecatedRule14 = withDeprecatedRuleLifecycle(rule53, {
|
|
3358
3730
|
message: "Deprecated in favor of @typescript-eslint/no-base-to-string.",
|
|
3359
3731
|
replacedBy: [
|
|
3360
3732
|
createReplacementRuleInfo({
|
|
@@ -3370,16 +3742,191 @@ var deprecatedRule14 = withDeprecatedRuleLifecycle(rule51, {
|
|
|
3370
3742
|
],
|
|
3371
3743
|
ruleId: "no-value-tostring"
|
|
3372
3744
|
});
|
|
3373
|
-
var no_value_tostring_default = deprecatedRule14;
|
|
3745
|
+
var no_value_tostring_default = deprecatedRule14;
|
|
3746
|
+
|
|
3747
|
+
// dist/rules/no-vulnerable.js
|
|
3748
|
+
var import_recheck = require("recheck");
|
|
3749
|
+
var import_ts_extras38 = require("ts-extras");
|
|
3750
|
+
var getStaticStringValue = (node) => {
|
|
3751
|
+
if (node.type === "Literal" && typeof node.value === "string") {
|
|
3752
|
+
return node.value;
|
|
3753
|
+
}
|
|
3754
|
+
if (node.type === "TemplateLiteral" && node.expressions.length === 0 && node.quasis.length === 1) {
|
|
3755
|
+
return (0, import_ts_extras38.arrayFirst)(node.quasis)?.value.cooked ?? null;
|
|
3756
|
+
}
|
|
3757
|
+
return null;
|
|
3758
|
+
};
|
|
3759
|
+
var isNonSpreadArgument = (argument) => argument.type !== "SpreadElement";
|
|
3760
|
+
var isRegExpConstructorCall = (node) => {
|
|
3761
|
+
if (node.callee.type !== "Identifier" || node.callee.name !== "RegExp") {
|
|
3762
|
+
return false;
|
|
3763
|
+
}
|
|
3764
|
+
if (node.arguments.length === 0 || node.arguments.length > 2) {
|
|
3765
|
+
return false;
|
|
3766
|
+
}
|
|
3767
|
+
const sourceArgument = (0, import_ts_extras38.arrayFirst)(node.arguments);
|
|
3768
|
+
if (!(0, import_ts_extras38.isDefined)(sourceArgument) || !isNonSpreadArgument(sourceArgument)) {
|
|
3769
|
+
return false;
|
|
3770
|
+
}
|
|
3771
|
+
const sourceValue = getStaticStringValue(sourceArgument);
|
|
3772
|
+
if (sourceValue === null) {
|
|
3773
|
+
return false;
|
|
3774
|
+
}
|
|
3775
|
+
const flagsArgument = node.arguments[1];
|
|
3776
|
+
if (flagsArgument === void 0) {
|
|
3777
|
+
return true;
|
|
3778
|
+
}
|
|
3779
|
+
if (flagsArgument.type === "SpreadElement") {
|
|
3780
|
+
return false;
|
|
3781
|
+
}
|
|
3782
|
+
return (0, import_ts_extras38.isDefined)(getStaticStringValue(flagsArgument));
|
|
3783
|
+
};
|
|
3784
|
+
var getStaticFlagsValue = (argument) => {
|
|
3785
|
+
if (!(0, import_ts_extras38.isDefined)(argument)) {
|
|
3786
|
+
return "";
|
|
3787
|
+
}
|
|
3788
|
+
if (!isNonSpreadArgument(argument)) {
|
|
3789
|
+
return null;
|
|
3790
|
+
}
|
|
3791
|
+
return getStaticStringValue(argument);
|
|
3792
|
+
};
|
|
3793
|
+
var getDiagnosticsErrorMessage = (error) => {
|
|
3794
|
+
if ((0, import_ts_extras38.keyIn)(error, "message") && typeof error.message === "string") {
|
|
3795
|
+
return error.message;
|
|
3796
|
+
}
|
|
3797
|
+
return "No additional details provided.";
|
|
3798
|
+
};
|
|
3799
|
+
var rule54 = ruleCreator({
|
|
3800
|
+
create: (context, [rawOptions]) => {
|
|
3801
|
+
const options = rawOptions ?? {};
|
|
3802
|
+
const { ignoreErrors = true, permittableComplexities = [], ...recheckParameters } = options;
|
|
3803
|
+
const allowedComplexities = new Set(permittableComplexities);
|
|
3804
|
+
const reportDiagnostics = (node, source, flags) => {
|
|
3805
|
+
const diagnostics = (0, import_recheck.checkSync)(source, flags, recheckParameters);
|
|
3806
|
+
if (diagnostics.status === "safe") {
|
|
3807
|
+
return;
|
|
3808
|
+
}
|
|
3809
|
+
if (diagnostics.status === "vulnerable") {
|
|
3810
|
+
if ((0, import_ts_extras38.setHas)(allowedComplexities, diagnostics.complexity.type)) {
|
|
3811
|
+
return;
|
|
3812
|
+
}
|
|
3813
|
+
context.report({
|
|
3814
|
+
data: {
|
|
3815
|
+
summary: diagnostics.complexity.summary
|
|
3816
|
+
},
|
|
3817
|
+
messageId: "vulnerable",
|
|
3818
|
+
node
|
|
3819
|
+
});
|
|
3820
|
+
return;
|
|
3821
|
+
}
|
|
3822
|
+
if (ignoreErrors) {
|
|
3823
|
+
return;
|
|
3824
|
+
}
|
|
3825
|
+
context.report({
|
|
3826
|
+
data: {
|
|
3827
|
+
kind: diagnostics.error.kind,
|
|
3828
|
+
message: getDiagnosticsErrorMessage(diagnostics.error)
|
|
3829
|
+
},
|
|
3830
|
+
messageId: "checkerError",
|
|
3831
|
+
node
|
|
3832
|
+
});
|
|
3833
|
+
};
|
|
3834
|
+
return {
|
|
3835
|
+
CallExpression: (node) => {
|
|
3836
|
+
if (!isRegExpConstructorCall(node)) {
|
|
3837
|
+
return;
|
|
3838
|
+
}
|
|
3839
|
+
const sourceArgument = (0, import_ts_extras38.arrayFirst)(node.arguments);
|
|
3840
|
+
if (!(0, import_ts_extras38.isDefined)(sourceArgument) || !isNonSpreadArgument(sourceArgument)) {
|
|
3841
|
+
return;
|
|
3842
|
+
}
|
|
3843
|
+
const source = getStaticStringValue(sourceArgument);
|
|
3844
|
+
const secondArgument = node.arguments[1];
|
|
3845
|
+
const flags = getStaticFlagsValue(secondArgument);
|
|
3846
|
+
if (source === null || flags === null) {
|
|
3847
|
+
return;
|
|
3848
|
+
}
|
|
3849
|
+
reportDiagnostics(node, source, flags);
|
|
3850
|
+
},
|
|
3851
|
+
Literal: (node) => {
|
|
3852
|
+
if (!(node.value instanceof RegExp)) {
|
|
3853
|
+
return;
|
|
3854
|
+
}
|
|
3855
|
+
reportDiagnostics(node, node.value.source, node.value.flags);
|
|
3856
|
+
},
|
|
3857
|
+
NewExpression: (node) => {
|
|
3858
|
+
if (!isRegExpConstructorCall(node)) {
|
|
3859
|
+
return;
|
|
3860
|
+
}
|
|
3861
|
+
const sourceArgument = (0, import_ts_extras38.arrayFirst)(node.arguments);
|
|
3862
|
+
if (!(0, import_ts_extras38.isDefined)(sourceArgument) || !isNonSpreadArgument(sourceArgument)) {
|
|
3863
|
+
return;
|
|
3864
|
+
}
|
|
3865
|
+
const source = getStaticStringValue(sourceArgument);
|
|
3866
|
+
const secondArgument = node.arguments[1];
|
|
3867
|
+
const flags = getStaticFlagsValue(secondArgument);
|
|
3868
|
+
if (source === null || flags === null) {
|
|
3869
|
+
return;
|
|
3870
|
+
}
|
|
3871
|
+
reportDiagnostics(node, source, flags);
|
|
3872
|
+
}
|
|
3873
|
+
};
|
|
3874
|
+
},
|
|
3875
|
+
meta: {
|
|
3876
|
+
defaultOptions: [{}],
|
|
3877
|
+
deprecated: false,
|
|
3878
|
+
docs: {
|
|
3879
|
+
deprecated: false,
|
|
3880
|
+
description: "disallow ReDoS-vulnerable regular expressions.",
|
|
3881
|
+
frozen: false,
|
|
3882
|
+
recommended: true,
|
|
3883
|
+
url: "https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-vulnerable"
|
|
3884
|
+
},
|
|
3885
|
+
hasSuggestions: false,
|
|
3886
|
+
messages: {
|
|
3887
|
+
checkerError: "ReDoS analysis failed ({{kind}}): {{message}}. Consider setting ignoreErrors to true for this pattern.",
|
|
3888
|
+
vulnerable: "Potential ReDoS-vulnerable regular expression detected ({{summary}})."
|
|
3889
|
+
},
|
|
3890
|
+
schema: [
|
|
3891
|
+
{
|
|
3892
|
+
additionalProperties: false,
|
|
3893
|
+
description: "Configuration for ReDoS analysis, including recheck parameters and local rule behavior flags.",
|
|
3894
|
+
properties: {
|
|
3895
|
+
ignoreErrors: {
|
|
3896
|
+
description: "Whether to suppress errors returned by the ReDoS analyzer.",
|
|
3897
|
+
type: "boolean"
|
|
3898
|
+
},
|
|
3899
|
+
permittableComplexities: {
|
|
3900
|
+
description: "List of vulnerable complexity categories to permit without reporting.",
|
|
3901
|
+
items: {
|
|
3902
|
+
enum: ["polynomial", "exponential"],
|
|
3903
|
+
type: "string"
|
|
3904
|
+
},
|
|
3905
|
+
type: "array",
|
|
3906
|
+
uniqueItems: true
|
|
3907
|
+
},
|
|
3908
|
+
timeout: {
|
|
3909
|
+
description: "Maximum analysis time budget in milliseconds passed through to recheck.",
|
|
3910
|
+
type: ["number", "null"]
|
|
3911
|
+
}
|
|
3912
|
+
},
|
|
3913
|
+
type: "object"
|
|
3914
|
+
}
|
|
3915
|
+
],
|
|
3916
|
+
type: "problem"
|
|
3917
|
+
},
|
|
3918
|
+
name: "no-vulnerable"
|
|
3919
|
+
});
|
|
3920
|
+
var no_vulnerable_default = rule54;
|
|
3374
3921
|
|
|
3375
3922
|
// dist/rules/no-writeonly.js
|
|
3376
3923
|
var externalRule2 = getCoreRule("accessor-pairs");
|
|
3377
|
-
var
|
|
3378
|
-
var no_writeonly_default =
|
|
3924
|
+
var rule55 = adaptExternalRule(externalRule2, "https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-writeonly");
|
|
3925
|
+
var no_writeonly_default = rule55;
|
|
3379
3926
|
|
|
3380
3927
|
// dist/rules/object-format.js
|
|
3381
3928
|
var isSingleLine = (node) => node.loc.start.line === node.loc.end.line;
|
|
3382
|
-
var
|
|
3929
|
+
var rule56 = ruleCreator({
|
|
3383
3930
|
create: (context, [options]) => ({
|
|
3384
3931
|
ObjectExpression: (node) => {
|
|
3385
3932
|
const maxProperties = options.maxProperties ?? 1;
|
|
@@ -3432,10 +3979,10 @@ var rule53 = ruleCreator({
|
|
|
3432
3979
|
},
|
|
3433
3980
|
name: "object-format"
|
|
3434
3981
|
});
|
|
3435
|
-
var object_format_default =
|
|
3982
|
+
var object_format_default = rule56;
|
|
3436
3983
|
|
|
3437
3984
|
// dist/rules/only-export-name.js
|
|
3438
|
-
var
|
|
3985
|
+
var import_ts_extras39 = require("ts-extras");
|
|
3439
3986
|
var getExportedNames = (node) => {
|
|
3440
3987
|
if (node.specifiers.length > 0) {
|
|
3441
3988
|
return node.specifiers.filter((specifier) => specifier.type === "ExportSpecifier").flatMap((specifier) => {
|
|
@@ -3463,12 +4010,12 @@ var getExportedNames = (node) => {
|
|
|
3463
4010
|
}
|
|
3464
4011
|
return [];
|
|
3465
4012
|
};
|
|
3466
|
-
var
|
|
4013
|
+
var rule57 = ruleCreator({
|
|
3467
4014
|
create: (context, [options]) => {
|
|
3468
4015
|
const allowedNames = new Set(options.names ?? ["default"]);
|
|
3469
4016
|
return {
|
|
3470
4017
|
ExportDefaultDeclaration: (node) => {
|
|
3471
|
-
if ((0,
|
|
4018
|
+
if ((0, import_ts_extras39.setHas)(allowedNames, "default")) {
|
|
3472
4019
|
return;
|
|
3473
4020
|
}
|
|
3474
4021
|
context.report({
|
|
@@ -3482,7 +4029,7 @@ var rule54 = ruleCreator({
|
|
|
3482
4029
|
ExportNamedDeclaration: (node) => {
|
|
3483
4030
|
const exportedNames = getExportedNames(node);
|
|
3484
4031
|
for (const name of exportedNames) {
|
|
3485
|
-
if ((0,
|
|
4032
|
+
if ((0, import_ts_extras39.setHas)(allowedNames, name)) {
|
|
3486
4033
|
continue;
|
|
3487
4034
|
}
|
|
3488
4035
|
context.report({
|
|
@@ -3532,11 +4079,11 @@ var rule54 = ruleCreator({
|
|
|
3532
4079
|
},
|
|
3533
4080
|
name: "only-export-name"
|
|
3534
4081
|
});
|
|
3535
|
-
var only_export_name_default =
|
|
4082
|
+
var only_export_name_default = rule57;
|
|
3536
4083
|
|
|
3537
4084
|
// dist/rules/prefer-arrow-function-property.js
|
|
3538
4085
|
var disallowedSelector10 = "Property > FunctionExpression.value:not([params.0.name='this'])";
|
|
3539
|
-
var
|
|
4086
|
+
var rule58 = ruleCreator({
|
|
3540
4087
|
create: (context) => ({
|
|
3541
4088
|
[disallowedSelector10]: (node) => {
|
|
3542
4089
|
context.report({
|
|
@@ -3563,11 +4110,11 @@ var rule55 = ruleCreator({
|
|
|
3563
4110
|
},
|
|
3564
4111
|
name: "prefer-arrow-function-property"
|
|
3565
4112
|
});
|
|
3566
|
-
var prefer_arrow_function_property_default =
|
|
4113
|
+
var prefer_arrow_function_property_default = rule58;
|
|
3567
4114
|
|
|
3568
4115
|
// dist/rules/prefer-const-require.js
|
|
3569
4116
|
var disallowedSelector11 = ":not(VariableDeclarator) > CallExpression > Identifier.callee[name='require']";
|
|
3570
|
-
var
|
|
4117
|
+
var rule59 = ruleCreator({
|
|
3571
4118
|
create: (context) => ({
|
|
3572
4119
|
[disallowedSelector11]: (node) => {
|
|
3573
4120
|
context.report({
|
|
@@ -3594,12 +4141,12 @@ var rule56 = ruleCreator({
|
|
|
3594
4141
|
},
|
|
3595
4142
|
name: "prefer-const-require"
|
|
3596
4143
|
});
|
|
3597
|
-
var prefer_const_require_default =
|
|
4144
|
+
var prefer_const_require_default = rule59;
|
|
3598
4145
|
|
|
3599
4146
|
// dist/rules/prefer-includes.js
|
|
3600
4147
|
var import_eslint_plugin_unicorn = __toESM(require("eslint-plugin-unicorn"), 1);
|
|
3601
|
-
var
|
|
3602
|
-
var deprecatedRule15 = withDeprecatedRuleLifecycle(
|
|
4148
|
+
var rule60 = adaptExternalRule(getExternalRuleFromPlugin(import_eslint_plugin_unicorn.default, "prefer-includes", "eslint-plugin-unicorn"), "https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/prefer-includes");
|
|
4149
|
+
var deprecatedRule15 = withDeprecatedRuleLifecycle(rule60, {
|
|
3603
4150
|
message: "Deprecated in favor of unicorn/prefer-includes.",
|
|
3604
4151
|
replacedBy: [
|
|
3605
4152
|
createReplacementRuleInfo({
|
|
@@ -3620,7 +4167,7 @@ var prefer_includes_default = deprecatedRule15;
|
|
|
3620
4167
|
// dist/rules/prefer-interface.js
|
|
3621
4168
|
var import_type_utils5 = require("@typescript-eslint/type-utils");
|
|
3622
4169
|
var import_utils8 = require("@typescript-eslint/utils");
|
|
3623
|
-
var
|
|
4170
|
+
var import_ts_extras40 = require("ts-extras");
|
|
3624
4171
|
var tsutils2 = __toESM(require("tsutils"), 1);
|
|
3625
4172
|
var defaultOptions8 = [{}];
|
|
3626
4173
|
var isExportedTypeAlias = (typeAliasDeclaration) => typeAliasDeclaration.parent?.type === "ExportNamedDeclaration" && typeAliasDeclaration.parent.declaration === typeAliasDeclaration;
|
|
@@ -3634,13 +4181,13 @@ var createTypeLiteralFixText = (sourceCode, typeAliasDeclaration, typeLiteralNod
|
|
|
3634
4181
|
var createFunctionTypeFixText = (sourceCode, typeAliasDeclaration, functionTypeNode) => {
|
|
3635
4182
|
const aliasTypeParameters = formatTypeParameters(sourceCode, typeAliasDeclaration.typeParameters);
|
|
3636
4183
|
const functionTypeParameters = formatTypeParameters(sourceCode, functionTypeNode.typeParameters);
|
|
3637
|
-
const parametersText = (0,
|
|
4184
|
+
const parametersText = (0, import_ts_extras40.arrayJoin)(functionTypeNode.params.map((parameter) => sourceCode.getText(parameter)), ", ");
|
|
3638
4185
|
const returnTypeText = functionTypeNode.returnType === void 0 ? "void" : sourceCode.getText(functionTypeNode.returnType.typeAnnotation);
|
|
3639
4186
|
return `interface ${typeAliasDeclaration.id.name}${aliasTypeParameters} { ${functionTypeParameters}(${parametersText}): ${returnTypeText}; }`;
|
|
3640
4187
|
};
|
|
3641
4188
|
var createIntersectionFixText = (sourceCode, typeAliasDeclaration, literalNode, referenceNodes) => {
|
|
3642
4189
|
const aliasTypeParameters = formatTypeParameters(sourceCode, typeAliasDeclaration.typeParameters);
|
|
3643
|
-
const baseTypesText = (0,
|
|
4190
|
+
const baseTypesText = (0, import_ts_extras40.arrayJoin)(referenceNodes.map((referenceNode) => sourceCode.getText(referenceNode)), ", ");
|
|
3644
4191
|
const extendsClause = baseTypesText.length > 0 ? ` extends ${baseTypesText}` : "";
|
|
3645
4192
|
const bodyText = literalNode === void 0 ? "{}" : sourceCode.getText(literalNode);
|
|
3646
4193
|
return `interface ${typeAliasDeclaration.id.name}${aliasTypeParameters}${extendsClause} ${bodyText}`;
|
|
@@ -3688,7 +4235,7 @@ var reportTypeAlias = (context, typeAliasDeclaration, replacementText) => {
|
|
|
3688
4235
|
]
|
|
3689
4236
|
});
|
|
3690
4237
|
};
|
|
3691
|
-
var
|
|
4238
|
+
var rule61 = ruleCreator({
|
|
3692
4239
|
create: (context) => {
|
|
3693
4240
|
const [{ allowIntersection = true, allowLocal = false } = {}] = context.options;
|
|
3694
4241
|
const sourceCode = context.sourceCode;
|
|
@@ -3718,10 +4265,10 @@ var rule58 = ruleCreator({
|
|
|
3718
4265
|
return;
|
|
3719
4266
|
}
|
|
3720
4267
|
const conversion = canSafelyConvertIntersection(intersectionTypeNode, typedParserServices);
|
|
3721
|
-
if (!(0,
|
|
4268
|
+
if (!(0, import_ts_extras40.isDefined)(conversion)) {
|
|
3722
4269
|
return;
|
|
3723
4270
|
}
|
|
3724
|
-
reportTypeAlias(context, typeAliasDeclaration, createIntersectionFixText(sourceCode, typeAliasDeclaration, (0,
|
|
4271
|
+
reportTypeAlias(context, typeAliasDeclaration, createIntersectionFixText(sourceCode, typeAliasDeclaration, (0, import_ts_extras40.arrayFirst)(conversion.literals), conversion.references));
|
|
3725
4272
|
},
|
|
3726
4273
|
"TSTypeAliasDeclaration > TSTypeLiteral": (typeLiteralNode) => {
|
|
3727
4274
|
const typeAliasDeclaration = getTypeAliasDeclarationParent(typeLiteralNode.parent);
|
|
@@ -3774,7 +4321,7 @@ var rule58 = ruleCreator({
|
|
|
3774
4321
|
},
|
|
3775
4322
|
name: "prefer-interface"
|
|
3776
4323
|
});
|
|
3777
|
-
var deprecatedRule16 = withDeprecatedRuleLifecycle(
|
|
4324
|
+
var deprecatedRule16 = withDeprecatedRuleLifecycle(rule61, {
|
|
3778
4325
|
message: "Deprecated in favor of @typescript-eslint/consistent-type-definitions.",
|
|
3779
4326
|
replacedBy: [
|
|
3780
4327
|
createReplacementRuleInfo({
|
|
@@ -3805,7 +4352,7 @@ var createFixes = (fixer, context, expression, operatorText) => {
|
|
|
3805
4352
|
fixer.replaceText(right, context.sourceCode.getText(left))
|
|
3806
4353
|
];
|
|
3807
4354
|
};
|
|
3808
|
-
var
|
|
4355
|
+
var rule62 = ruleCreator({
|
|
3809
4356
|
create: (context) => ({
|
|
3810
4357
|
"BinaryExpression[operator='>'], BinaryExpression[operator='>=']": (expression) => {
|
|
3811
4358
|
const useLessThanOrEqual = expression.operator === ">=";
|
|
@@ -3847,12 +4394,12 @@ var rule59 = ruleCreator({
|
|
|
3847
4394
|
},
|
|
3848
4395
|
name: "prefer-less-than"
|
|
3849
4396
|
});
|
|
3850
|
-
var prefer_less_than_default =
|
|
4397
|
+
var prefer_less_than_default = rule62;
|
|
3851
4398
|
|
|
3852
4399
|
// dist/rules/prefer-object-has-own.js
|
|
3853
4400
|
var externalRule3 = getCoreRule("prefer-object-has-own");
|
|
3854
|
-
var
|
|
3855
|
-
var deprecatedRule17 = withDeprecatedRuleLifecycle(
|
|
4401
|
+
var rule63 = adaptExternalRule(externalRule3, "https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/prefer-object-has-own");
|
|
4402
|
+
var deprecatedRule17 = withDeprecatedRuleLifecycle(rule63, {
|
|
3856
4403
|
message: "Deprecated in favor of ESLint core prefer-object-has-own.",
|
|
3857
4404
|
replacedBy: [
|
|
3858
4405
|
createReplacementRuleInfo({
|
|
@@ -3872,7 +4419,7 @@ var prefer_object_has_own_default = deprecatedRule17;
|
|
|
3872
4419
|
|
|
3873
4420
|
// dist/rules/prefer-only-export.js
|
|
3874
4421
|
var selector4 = "Program[body.length>1]:has(ExportDefaultDeclaration)";
|
|
3875
|
-
var
|
|
4422
|
+
var rule64 = ruleCreator({
|
|
3876
4423
|
create: (context) => ({
|
|
3877
4424
|
[selector4]: (node) => {
|
|
3878
4425
|
context.report({
|
|
@@ -3899,10 +4446,10 @@ var rule61 = ruleCreator({
|
|
|
3899
4446
|
},
|
|
3900
4447
|
name: "prefer-only-export"
|
|
3901
4448
|
});
|
|
3902
|
-
var prefer_only_export_default =
|
|
4449
|
+
var prefer_only_export_default = rule64;
|
|
3903
4450
|
|
|
3904
4451
|
// dist/rules/require-jsdoc.js
|
|
3905
|
-
var
|
|
4452
|
+
var import_ts_extras41 = require("ts-extras");
|
|
3906
4453
|
var defaultKinds = [
|
|
3907
4454
|
"arrow-function",
|
|
3908
4455
|
"class",
|
|
@@ -3912,7 +4459,7 @@ var defaultKinds = [
|
|
|
3912
4459
|
];
|
|
3913
4460
|
var hasJSDocComment = (sourceCode, node) => {
|
|
3914
4461
|
const comments = sourceCode.getCommentsBefore(node);
|
|
3915
|
-
const comment = (0,
|
|
4462
|
+
const comment = (0, import_ts_extras41.arrayLast)(comments);
|
|
3916
4463
|
return comment?.type === "Block" && comment.value.startsWith("*");
|
|
3917
4464
|
};
|
|
3918
4465
|
var reportMissingJSDoc = (context, node) => {
|
|
@@ -3924,30 +4471,30 @@ var reportMissingJSDoc = (context, node) => {
|
|
|
3924
4471
|
node
|
|
3925
4472
|
});
|
|
3926
4473
|
};
|
|
3927
|
-
var
|
|
4474
|
+
var rule65 = ruleCreator({
|
|
3928
4475
|
create: (context, [options]) => {
|
|
3929
4476
|
const kinds = new Set(options.kinds ?? defaultKinds);
|
|
3930
4477
|
return {
|
|
3931
4478
|
ClassDeclaration: (node) => {
|
|
3932
|
-
if (!(0,
|
|
4479
|
+
if (!(0, import_ts_extras41.setHas)(kinds, "class") || node.id === null) {
|
|
3933
4480
|
return;
|
|
3934
4481
|
}
|
|
3935
4482
|
reportMissingJSDoc(context, node);
|
|
3936
4483
|
},
|
|
3937
4484
|
FunctionDeclaration: (node) => {
|
|
3938
|
-
if (!(0,
|
|
4485
|
+
if (!(0, import_ts_extras41.setHas)(kinds, "function") || node.id === null) {
|
|
3939
4486
|
return;
|
|
3940
4487
|
}
|
|
3941
4488
|
reportMissingJSDoc(context, node);
|
|
3942
4489
|
},
|
|
3943
4490
|
MethodDefinition: (node) => {
|
|
3944
|
-
if (!(0,
|
|
4491
|
+
if (!(0, import_ts_extras41.setHas)(kinds, "method") || node.kind === "constructor" || node.key.type !== "Identifier") {
|
|
3945
4492
|
return;
|
|
3946
4493
|
}
|
|
3947
4494
|
reportMissingJSDoc(context, node);
|
|
3948
4495
|
},
|
|
3949
4496
|
"TSTypeAliasDeclaration, TSInterfaceDeclaration": (node) => {
|
|
3950
|
-
if (!(0,
|
|
4497
|
+
if (!(0, import_ts_extras41.setHas)(kinds, "type")) {
|
|
3951
4498
|
return;
|
|
3952
4499
|
}
|
|
3953
4500
|
if (node.type === "TSInterfaceDeclaration" || node.type === "TSTypeAliasDeclaration") {
|
|
@@ -3955,7 +4502,7 @@ var rule62 = ruleCreator({
|
|
|
3955
4502
|
}
|
|
3956
4503
|
},
|
|
3957
4504
|
VariableDeclarator: (node) => {
|
|
3958
|
-
if (!(0,
|
|
4505
|
+
if (!(0, import_ts_extras41.setHas)(kinds, "arrow-function") || node.id.type !== "Identifier" || node.init?.type !== "ArrowFunctionExpression" || node.parent.type !== "VariableDeclaration" || node.parent.kind !== "const") {
|
|
3959
4506
|
return;
|
|
3960
4507
|
}
|
|
3961
4508
|
reportMissingJSDoc(context, node.parent);
|
|
@@ -3997,7 +4544,7 @@ var rule62 = ruleCreator({
|
|
|
3997
4544
|
},
|
|
3998
4545
|
name: "require-jsdoc"
|
|
3999
4546
|
});
|
|
4000
|
-
var deprecatedRule18 = withDeprecatedRuleLifecycle(
|
|
4547
|
+
var deprecatedRule18 = withDeprecatedRuleLifecycle(rule65, {
|
|
4001
4548
|
message: "Deprecated in favor of jsdoc/require-jsdoc.",
|
|
4002
4549
|
replacedBy: [
|
|
4003
4550
|
createReplacementRuleInfo({
|
|
@@ -4016,8 +4563,8 @@ var deprecatedRule18 = withDeprecatedRuleLifecycle(rule62, {
|
|
|
4016
4563
|
var require_jsdoc_default = deprecatedRule18;
|
|
4017
4564
|
|
|
4018
4565
|
// dist/rules/require-syntax.js
|
|
4019
|
-
var
|
|
4020
|
-
var
|
|
4566
|
+
var import_ts_extras42 = require("ts-extras");
|
|
4567
|
+
var rule66 = ruleCreator({
|
|
4021
4568
|
create: (context, [options]) => {
|
|
4022
4569
|
const entries = (options.selectors ?? []).map((selector25) => normalizeSyntaxSelector(selector25));
|
|
4023
4570
|
const counters = entries.map(() => 0);
|
|
@@ -4039,7 +4586,7 @@ var rule63 = ruleCreator({
|
|
|
4039
4586
|
if (count > 0) {
|
|
4040
4587
|
continue;
|
|
4041
4588
|
}
|
|
4042
|
-
if ((0,
|
|
4589
|
+
if ((0, import_ts_extras42.isDefined)(entry.message)) {
|
|
4043
4590
|
context.report({
|
|
4044
4591
|
data: {
|
|
4045
4592
|
message: entry.message
|
|
@@ -4115,11 +4662,11 @@ var rule63 = ruleCreator({
|
|
|
4115
4662
|
},
|
|
4116
4663
|
name: "require-syntax"
|
|
4117
4664
|
});
|
|
4118
|
-
var require_syntax_default =
|
|
4665
|
+
var require_syntax_default = rule66;
|
|
4119
4666
|
|
|
4120
4667
|
// dist/rules/restrict-identifier-characters.js
|
|
4121
4668
|
var disallowedSelector12 = String.raw`Identifier[name=/[^$\w]/u]`;
|
|
4122
|
-
var
|
|
4669
|
+
var rule67 = ruleCreator({
|
|
4123
4670
|
create: (context) => ({
|
|
4124
4671
|
[disallowedSelector12]: (node) => {
|
|
4125
4672
|
context.report({
|
|
@@ -4146,10 +4693,10 @@ var rule64 = ruleCreator({
|
|
|
4146
4693
|
},
|
|
4147
4694
|
name: "restrict-identifier-characters"
|
|
4148
4695
|
});
|
|
4149
|
-
var restrict_identifier_characters_default =
|
|
4696
|
+
var restrict_identifier_characters_default = rule67;
|
|
4150
4697
|
|
|
4151
4698
|
// dist/rules/sort-array.js
|
|
4152
|
-
var
|
|
4699
|
+
var import_ts_extras43 = require("ts-extras");
|
|
4153
4700
|
var getSortableValue = (element) => {
|
|
4154
4701
|
if (element.type === "Literal") {
|
|
4155
4702
|
return String(element.value);
|
|
@@ -4158,15 +4705,15 @@ var getSortableValue = (element) => {
|
|
|
4158
4705
|
};
|
|
4159
4706
|
var buildFix2 = (sourceCode, node, sorted) => (fixer) => {
|
|
4160
4707
|
const [first, last] = [
|
|
4161
|
-
(0,
|
|
4162
|
-
(0,
|
|
4708
|
+
(0, import_ts_extras43.arrayFirst)(node.elements),
|
|
4709
|
+
(0, import_ts_extras43.arrayAt)(node.elements, -1)
|
|
4163
4710
|
];
|
|
4164
|
-
if (!(0,
|
|
4711
|
+
if (!(0, import_ts_extras43.isPresent)(first) || !(0, import_ts_extras43.isPresent)(last)) {
|
|
4165
4712
|
return fixer.replaceText(node, sourceCode.getText(node));
|
|
4166
4713
|
}
|
|
4167
|
-
return fixer.replaceTextRange([(0,
|
|
4714
|
+
return fixer.replaceTextRange([(0, import_ts_extras43.arrayFirst)(first.range), last.range[1]], (0, import_ts_extras43.arrayJoin)(sorted.map((element) => sourceCode.getText(element)), ", "));
|
|
4168
4715
|
};
|
|
4169
|
-
var
|
|
4716
|
+
var rule68 = ruleCreator({
|
|
4170
4717
|
create: (context) => ({
|
|
4171
4718
|
ArrayExpression: (node) => {
|
|
4172
4719
|
let elements = [];
|
|
@@ -4179,7 +4726,7 @@ var rule65 = ruleCreator({
|
|
|
4179
4726
|
return;
|
|
4180
4727
|
}
|
|
4181
4728
|
const sortKeys = elements.map((element) => getSortableValue(element));
|
|
4182
|
-
if (sortKeys.some((sortKey) => !(0,
|
|
4729
|
+
if (sortKeys.some((sortKey) => !(0, import_ts_extras43.isDefined)(sortKey))) {
|
|
4183
4730
|
return;
|
|
4184
4731
|
}
|
|
4185
4732
|
const sorted = [...elements].sort((a, b) => (getSortableValue(a) ?? "").localeCompare(getSortableValue(b) ?? ""));
|
|
@@ -4213,11 +4760,11 @@ var rule65 = ruleCreator({
|
|
|
4213
4760
|
},
|
|
4214
4761
|
name: "sort-array"
|
|
4215
4762
|
});
|
|
4216
|
-
var sort_array_default =
|
|
4763
|
+
var sort_array_default = rule68;
|
|
4217
4764
|
|
|
4218
4765
|
// dist/rules/sort-call-signature.js
|
|
4219
4766
|
var disallowedSelector13 = "TSInterfaceBody > TSCallSignatureDeclaration:not(:first-child)";
|
|
4220
|
-
var
|
|
4767
|
+
var rule69 = ruleCreator({
|
|
4221
4768
|
create: (context) => ({
|
|
4222
4769
|
[disallowedSelector13]: (node) => {
|
|
4223
4770
|
context.report({
|
|
@@ -4244,10 +4791,10 @@ var rule66 = ruleCreator({
|
|
|
4244
4791
|
},
|
|
4245
4792
|
name: "sort-call-signature"
|
|
4246
4793
|
});
|
|
4247
|
-
var sort_call_signature_default =
|
|
4794
|
+
var sort_call_signature_default = rule69;
|
|
4248
4795
|
|
|
4249
4796
|
// dist/rules/sort-class-members.js
|
|
4250
|
-
var
|
|
4797
|
+
var import_ts_extras44 = require("ts-extras");
|
|
4251
4798
|
var memberName = (member) => {
|
|
4252
4799
|
if (member.key.type === "Identifier") {
|
|
4253
4800
|
return member.key.name;
|
|
@@ -4257,7 +4804,7 @@ var memberName = (member) => {
|
|
|
4257
4804
|
}
|
|
4258
4805
|
return void 0;
|
|
4259
4806
|
};
|
|
4260
|
-
var
|
|
4807
|
+
var rule70 = ruleCreator({
|
|
4261
4808
|
create: (context) => ({
|
|
4262
4809
|
ClassBody: (node) => {
|
|
4263
4810
|
let members = [];
|
|
@@ -4270,7 +4817,7 @@ var rule67 = ruleCreator({
|
|
|
4270
4817
|
let hasPreviousName = false;
|
|
4271
4818
|
for (const member of members) {
|
|
4272
4819
|
const currentName = memberName(member);
|
|
4273
|
-
if (!(0,
|
|
4820
|
+
if (!(0, import_ts_extras44.isDefined)(currentName)) {
|
|
4274
4821
|
continue;
|
|
4275
4822
|
}
|
|
4276
4823
|
if (hasPreviousName && currentName.localeCompare(previousName) < 0) {
|
|
@@ -4303,7 +4850,7 @@ var rule67 = ruleCreator({
|
|
|
4303
4850
|
},
|
|
4304
4851
|
name: "sort-class-members"
|
|
4305
4852
|
});
|
|
4306
|
-
var deprecatedRule19 = withDeprecatedRuleLifecycle(
|
|
4853
|
+
var deprecatedRule19 = withDeprecatedRuleLifecycle(rule70, {
|
|
4307
4854
|
message: "Deprecated in favor of sort-class-members/sort-class-members or perfectionist sorting rules.",
|
|
4308
4855
|
replacedBy: [
|
|
4309
4856
|
createReplacementRuleInfo({
|
|
@@ -4329,7 +4876,7 @@ var sort_class_members_default = deprecatedRule19;
|
|
|
4329
4876
|
|
|
4330
4877
|
// dist/rules/sort-construct-signature.js
|
|
4331
4878
|
var disallowedSelector14 = "TSInterfaceBody > TSConstructSignatureDeclaration:not(:first-child)";
|
|
4332
|
-
var
|
|
4879
|
+
var rule71 = ruleCreator({
|
|
4333
4880
|
create: (context) => ({
|
|
4334
4881
|
[disallowedSelector14]: (node) => {
|
|
4335
4882
|
context.report({
|
|
@@ -4356,17 +4903,17 @@ var rule68 = ruleCreator({
|
|
|
4356
4903
|
},
|
|
4357
4904
|
name: "sort-construct-signature"
|
|
4358
4905
|
});
|
|
4359
|
-
var sort_construct_signature_default =
|
|
4906
|
+
var sort_construct_signature_default = rule71;
|
|
4360
4907
|
|
|
4361
4908
|
// dist/rules/sort-export-specifiers.js
|
|
4362
|
-
var
|
|
4909
|
+
var import_ts_extras45 = require("ts-extras");
|
|
4363
4910
|
var toName = (specifier) => specifier.exported.type === "Identifier" ? specifier.exported.name : specifier.exported.value;
|
|
4364
4911
|
var buildFix3 = (fixer, node, sourceCode, sorted) => {
|
|
4365
|
-
const startRange = (0,
|
|
4366
|
-
const endRange = (0,
|
|
4367
|
-
return fixer.replaceTextRange([(0,
|
|
4912
|
+
const startRange = (0, import_ts_extras45.arrayFirst)(node.specifiers)?.range ?? node.range;
|
|
4913
|
+
const endRange = (0, import_ts_extras45.arrayLast)(node.specifiers)?.range ?? node.range;
|
|
4914
|
+
return fixer.replaceTextRange([(0, import_ts_extras45.arrayFirst)(startRange), (0, import_ts_extras45.arrayLast)(endRange)], (0, import_ts_extras45.arrayJoin)(sorted.map((specifier) => sourceCode.getText(specifier)), ", "));
|
|
4368
4915
|
};
|
|
4369
|
-
var
|
|
4916
|
+
var rule72 = ruleCreator({
|
|
4370
4917
|
create: (context) => ({
|
|
4371
4918
|
ExportNamedDeclaration: (node) => {
|
|
4372
4919
|
let exportSpecifiers = [];
|
|
@@ -4409,10 +4956,10 @@ var rule69 = ruleCreator({
|
|
|
4409
4956
|
},
|
|
4410
4957
|
name: "sort-export-specifiers"
|
|
4411
4958
|
});
|
|
4412
|
-
var sort_export_specifiers_default =
|
|
4959
|
+
var sort_export_specifiers_default = rule72;
|
|
4413
4960
|
|
|
4414
4961
|
// dist/rules/sort-keys.js
|
|
4415
|
-
var
|
|
4962
|
+
var import_ts_extras46 = require("ts-extras");
|
|
4416
4963
|
var keyName = (property) => {
|
|
4417
4964
|
if (property.key.type === "Identifier") {
|
|
4418
4965
|
return property.key.name;
|
|
@@ -4423,15 +4970,15 @@ var keyName = (property) => {
|
|
|
4423
4970
|
return void 0;
|
|
4424
4971
|
};
|
|
4425
4972
|
var buildFix4 = (sourceCode, properties) => (fixer) => {
|
|
4426
|
-
const first = (0,
|
|
4427
|
-
const last = (0,
|
|
4973
|
+
const first = (0, import_ts_extras46.arrayFirst)(properties);
|
|
4974
|
+
const last = (0, import_ts_extras46.arrayLast)(properties);
|
|
4428
4975
|
if (first === void 0 || last === void 0) {
|
|
4429
4976
|
return fixer.insertTextAfterRange([0, 0], "");
|
|
4430
4977
|
}
|
|
4431
4978
|
const sorted = [...properties].sort((a, b) => (keyName(a) ?? "").localeCompare(keyName(b) ?? ""));
|
|
4432
|
-
return fixer.replaceTextRange([(0,
|
|
4979
|
+
return fixer.replaceTextRange([(0, import_ts_extras46.arrayFirst)(first.range), last.range[1]], (0, import_ts_extras46.arrayJoin)(sorted.map((property) => sourceCode.getText(property)), ", "));
|
|
4433
4980
|
};
|
|
4434
|
-
var
|
|
4981
|
+
var rule73 = ruleCreator({
|
|
4435
4982
|
create: (context) => ({
|
|
4436
4983
|
ObjectExpression: (node) => {
|
|
4437
4984
|
let properties = [];
|
|
@@ -4447,7 +4994,7 @@ var rule70 = ruleCreator({
|
|
|
4447
4994
|
let hasPreviousName = false;
|
|
4448
4995
|
for (const property of properties) {
|
|
4449
4996
|
const currentName = keyName(property);
|
|
4450
|
-
if (!(0,
|
|
4997
|
+
if (!(0, import_ts_extras46.isDefined)(currentName)) {
|
|
4451
4998
|
return;
|
|
4452
4999
|
}
|
|
4453
5000
|
if (hasPreviousName && currentName.localeCompare(previousName) < 0) {
|
|
@@ -4482,16 +5029,16 @@ var rule70 = ruleCreator({
|
|
|
4482
5029
|
},
|
|
4483
5030
|
name: "sort-keys"
|
|
4484
5031
|
});
|
|
4485
|
-
var sort_keys_default =
|
|
5032
|
+
var sort_keys_default = rule73;
|
|
4486
5033
|
|
|
4487
5034
|
// dist/rules/sort-top-comments.js
|
|
4488
|
-
var
|
|
5035
|
+
var import_ts_extras47 = require("ts-extras");
|
|
4489
5036
|
var commentText = (comment) => comment.value.trim();
|
|
4490
|
-
var buildReplacement = (sourceCode, comments) => (0,
|
|
4491
|
-
var
|
|
5037
|
+
var buildReplacement = (sourceCode, comments) => (0, import_ts_extras47.arrayJoin)(comments.map((comment) => sourceCode.getText(comment)).sort((a, b) => a.localeCompare(b)), "\n");
|
|
5038
|
+
var rule74 = ruleCreator({
|
|
4492
5039
|
create: (context) => ({
|
|
4493
5040
|
Program: (node) => {
|
|
4494
|
-
const firstNode = (0,
|
|
5041
|
+
const firstNode = (0, import_ts_extras47.arrayFirst)(node.body);
|
|
4495
5042
|
if (firstNode === void 0) {
|
|
4496
5043
|
return;
|
|
4497
5044
|
}
|
|
@@ -4499,18 +5046,18 @@ var rule71 = ruleCreator({
|
|
|
4499
5046
|
if (comments.length < 2) {
|
|
4500
5047
|
return;
|
|
4501
5048
|
}
|
|
4502
|
-
const firstComment = (0,
|
|
5049
|
+
const firstComment = (0, import_ts_extras47.arrayFirst)(comments);
|
|
4503
5050
|
if (firstComment === void 0) {
|
|
4504
5051
|
return;
|
|
4505
5052
|
}
|
|
4506
|
-
const lastComment = (0,
|
|
5053
|
+
const lastComment = (0, import_ts_extras47.arrayLast)(comments) ?? firstComment;
|
|
4507
5054
|
const sorted = [...comments].sort((a, b) => commentText(a).localeCompare(commentText(b)));
|
|
4508
5055
|
const isSorted = comments.every((comment, index) => comment === sorted[index]);
|
|
4509
5056
|
if (isSorted) {
|
|
4510
5057
|
return;
|
|
4511
5058
|
}
|
|
4512
5059
|
context.report({
|
|
4513
|
-
fix: (fixer) => fixer.replaceTextRange([(0,
|
|
5060
|
+
fix: (fixer) => fixer.replaceTextRange([(0, import_ts_extras47.arrayFirst)(firstComment.range), lastComment.range[1]], buildReplacement(context.sourceCode, comments)),
|
|
4514
5061
|
messageId: "incorrectSorting",
|
|
4515
5062
|
node: firstComment
|
|
4516
5063
|
});
|
|
@@ -4535,16 +5082,16 @@ var rule71 = ruleCreator({
|
|
|
4535
5082
|
},
|
|
4536
5083
|
name: "sort-top-comments"
|
|
4537
5084
|
});
|
|
4538
|
-
var sort_top_comments_default =
|
|
5085
|
+
var sort_top_comments_default = rule74;
|
|
4539
5086
|
|
|
4540
5087
|
// dist/rules/switch-case-spacing.js
|
|
4541
|
-
var
|
|
5088
|
+
var import_ts_extras48 = require("ts-extras");
|
|
4542
5089
|
var isValidCaseBody = (node) => {
|
|
4543
5090
|
if (node.consequent.length === 0) {
|
|
4544
5091
|
return true;
|
|
4545
5092
|
}
|
|
4546
5093
|
const [firstStatement] = node.consequent;
|
|
4547
|
-
const lastStatement = (0,
|
|
5094
|
+
const lastStatement = (0, import_ts_extras48.arrayLast)(node.consequent);
|
|
4548
5095
|
if (firstStatement === void 0 || lastStatement === void 0) {
|
|
4549
5096
|
return true;
|
|
4550
5097
|
}
|
|
@@ -4553,7 +5100,7 @@ var isValidCaseBody = (node) => {
|
|
|
4553
5100
|
const endsWithBreak = lastStatement.type === "BreakStatement" || startsWithBlock;
|
|
4554
5101
|
return (startsOnFollowingLine || startsWithBlock) && endsWithBreak;
|
|
4555
5102
|
};
|
|
4556
|
-
var
|
|
5103
|
+
var rule75 = ruleCreator({
|
|
4557
5104
|
create: (context) => ({
|
|
4558
5105
|
SwitchCase: (node) => {
|
|
4559
5106
|
if (isValidCaseBody(node)) {
|
|
@@ -4583,7 +5130,7 @@ var rule72 = ruleCreator({
|
|
|
4583
5130
|
},
|
|
4584
5131
|
name: "switch-case-spacing"
|
|
4585
5132
|
});
|
|
4586
|
-
var deprecatedRule20 = withDeprecatedRuleLifecycle(
|
|
5133
|
+
var deprecatedRule20 = withDeprecatedRuleLifecycle(rule75, {
|
|
4587
5134
|
message: "Deprecated in favor of @stylistic/switch-colon-spacing.",
|
|
4588
5135
|
replacedBy: [
|
|
4589
5136
|
createReplacementRuleInfo({
|
|
@@ -4602,22 +5149,22 @@ var deprecatedRule20 = withDeprecatedRuleLifecycle(rule72, {
|
|
|
4602
5149
|
var switch_case_spacing_default = deprecatedRule20;
|
|
4603
5150
|
|
|
4604
5151
|
// dist/rules/template-literal-format.js
|
|
4605
|
-
var
|
|
5152
|
+
var import_ts_extras49 = require("ts-extras");
|
|
4606
5153
|
var isMultilineTemplate = (node) => node.loc.start.line !== node.loc.end.line;
|
|
4607
5154
|
var hasExpectedBoundaryNewlines = (node) => {
|
|
4608
|
-
const first = (0,
|
|
4609
|
-
const last = (0,
|
|
5155
|
+
const first = (0, import_ts_extras49.arrayFirst)(node.quasis)?.value.raw ?? "";
|
|
5156
|
+
const last = (0, import_ts_extras49.arrayLast)(node.quasis)?.value.raw ?? "";
|
|
4610
5157
|
return first.startsWith("\n") && last.endsWith("\n");
|
|
4611
5158
|
};
|
|
4612
5159
|
var normalizeTemplate = (sourceText) => {
|
|
4613
|
-
const lines = (0,
|
|
5160
|
+
const lines = (0, import_ts_extras49.stringSplit)(sourceText.replaceAll(/\r\n?/gu, "\n"), "\n");
|
|
4614
5161
|
const contentLines = lines.slice(1, -1);
|
|
4615
5162
|
const indents = contentLines.filter((line) => line.trim().length > 0).map((line) => /^\s*/u.exec(line)?.[0].length ?? 0);
|
|
4616
|
-
const minIndent = (0,
|
|
4617
|
-
const normalizedContent = (0,
|
|
4618
|
-
const lastLine = (0,
|
|
4619
|
-
return (0,
|
|
4620
|
-
(0,
|
|
5163
|
+
const minIndent = (0, import_ts_extras49.isEmpty)(indents) ? 0 : Math.min(...indents);
|
|
5164
|
+
const normalizedContent = (0, import_ts_extras49.arrayJoin)(contentLines.map((line) => line.length >= minIndent ? line.slice(minIndent) : line).map((line) => ` ${line}`), "\n");
|
|
5165
|
+
const lastLine = (0, import_ts_extras49.arrayLast)(lines) ?? "";
|
|
5166
|
+
return (0, import_ts_extras49.arrayJoin)([
|
|
5167
|
+
(0, import_ts_extras49.arrayFirst)(lines),
|
|
4621
5168
|
normalizedContent,
|
|
4622
5169
|
lastLine
|
|
4623
5170
|
], "\n");
|
|
@@ -4626,7 +5173,7 @@ var buildFix5 = (sourceCode, node) => (fixer) => {
|
|
|
4626
5173
|
const text = sourceCode.getText(node);
|
|
4627
5174
|
return fixer.replaceText(node, normalizeTemplate(text));
|
|
4628
5175
|
};
|
|
4629
|
-
var
|
|
5176
|
+
var rule76 = ruleCreator({
|
|
4630
5177
|
create: (context) => ({
|
|
4631
5178
|
TemplateLiteral: (node) => {
|
|
4632
5179
|
if (!isMultilineTemplate(node) || hasExpectedBoundaryNewlines(node)) {
|
|
@@ -4658,12 +5205,12 @@ var rule73 = ruleCreator({
|
|
|
4658
5205
|
},
|
|
4659
5206
|
name: "template-literal-format"
|
|
4660
5207
|
});
|
|
4661
|
-
var template_literal_format_default =
|
|
5208
|
+
var template_literal_format_default = rule76;
|
|
4662
5209
|
|
|
4663
5210
|
// dist/rules/throw-error.js
|
|
4664
5211
|
var import_type_utils6 = require("@typescript-eslint/type-utils");
|
|
4665
5212
|
var import_utils9 = require("@typescript-eslint/utils");
|
|
4666
|
-
var
|
|
5213
|
+
var import_ts_extras50 = require("ts-extras");
|
|
4667
5214
|
var tsutils3 = __toESM(require("tsutils"), 1);
|
|
4668
5215
|
var isAllowedThrowableVariant = (type, program) => (0, import_type_utils6.isTypeAnyType)(type) || (0, import_type_utils6.isTypeUnknownType)(type) || (0, import_type_utils6.isErrorLike)(program, type);
|
|
4669
5216
|
var couldBeAllowedThrowableType = (type, program) => tsutils3.unionTypeParts(type).every((typeVariant) => isAllowedThrowableVariant(typeVariant, program));
|
|
@@ -4675,7 +5222,7 @@ var createWrapLiteralInErrorSuggestionFix = (sourceCode, node) => {
|
|
|
4675
5222
|
}
|
|
4676
5223
|
return (fixer) => fixer.replaceText(node, `new Error(${sourceCode.getText(node)})`);
|
|
4677
5224
|
};
|
|
4678
|
-
var
|
|
5225
|
+
var rule77 = ruleCreator({
|
|
4679
5226
|
create: (context) => {
|
|
4680
5227
|
const parserServices = import_utils9.ESLintUtils.getParserServices(context);
|
|
4681
5228
|
const sourceCode = context.sourceCode;
|
|
@@ -4701,7 +5248,7 @@ var rule74 = ruleCreator({
|
|
|
4701
5248
|
});
|
|
4702
5249
|
};
|
|
4703
5250
|
const checkRejectionCall = (callExpression) => {
|
|
4704
|
-
const rejectionValue = (0,
|
|
5251
|
+
const rejectionValue = (0, import_ts_extras50.arrayFirst)(callExpression.arguments);
|
|
4705
5252
|
if (rejectionValue === void 0) {
|
|
4706
5253
|
return;
|
|
4707
5254
|
}
|
|
@@ -4724,8 +5271,8 @@ var rule74 = ruleCreator({
|
|
|
4724
5271
|
if (rejectParameter?.type !== "Identifier") {
|
|
4725
5272
|
return;
|
|
4726
5273
|
}
|
|
4727
|
-
const rejectVariable = (0,
|
|
4728
|
-
if (!(0,
|
|
5274
|
+
const rejectVariable = (0, import_ts_extras50.arrayFirst)(context.sourceCode.getDeclaredVariables(callback).filter((declaredVariable) => declaredVariable.name === rejectParameter.name));
|
|
5275
|
+
if (!(0, import_ts_extras50.isDefined)(rejectVariable)) {
|
|
4729
5276
|
return;
|
|
4730
5277
|
}
|
|
4731
5278
|
for (const reference of rejectVariable.references) {
|
|
@@ -4765,12 +5312,12 @@ var rule74 = ruleCreator({
|
|
|
4765
5312
|
},
|
|
4766
5313
|
name: "throw-error"
|
|
4767
5314
|
});
|
|
4768
|
-
var throw_error_default =
|
|
5315
|
+
var throw_error_default = rule77;
|
|
4769
5316
|
|
|
4770
5317
|
// dist/rules/throw-new-error.js
|
|
4771
5318
|
var import_eslint_plugin_unicorn2 = __toESM(require("eslint-plugin-unicorn"), 1);
|
|
4772
|
-
var
|
|
4773
|
-
var deprecatedRule21 = withDeprecatedRuleLifecycle(
|
|
5319
|
+
var rule78 = adaptExternalRule(getExternalRuleFromPlugin(import_eslint_plugin_unicorn2.default, "throw-new-error", "eslint-plugin-unicorn"), "https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/throw-new-error");
|
|
5320
|
+
var deprecatedRule21 = withDeprecatedRuleLifecycle(rule78, {
|
|
4774
5321
|
message: "Deprecated in favor of unicorn/throw-new-error.",
|
|
4775
5322
|
replacedBy: [
|
|
4776
5323
|
createReplacementRuleInfo({
|
|
@@ -4791,7 +5338,7 @@ var throw_new_error_default = deprecatedRule21;
|
|
|
4791
5338
|
// dist/rules/typescript-array-callback-return-type.js
|
|
4792
5339
|
var import_type_utils7 = require("@typescript-eslint/type-utils");
|
|
4793
5340
|
var import_utils10 = require("@typescript-eslint/utils");
|
|
4794
|
-
var
|
|
5341
|
+
var import_ts_extras51 = require("ts-extras");
|
|
4795
5342
|
var arrayCallbackMethodNames = /* @__PURE__ */ new Set([
|
|
4796
5343
|
"every",
|
|
4797
5344
|
"find",
|
|
@@ -4809,8 +5356,8 @@ var isArrayLikeType2 = (typeChecker, type) => {
|
|
|
4809
5356
|
const apparentType = typeChecker.getApparentType(type);
|
|
4810
5357
|
return typeChecker.isArrayType(apparentType) || typeChecker.isTupleType(apparentType) || (0, import_type_utils7.isTypeArrayTypeOrUnionOfArrayTypes)(type, typeChecker) || (0, import_type_utils7.containsAllTypesByName)(type, false, readonlyArrayTypeNames2, true);
|
|
4811
5358
|
};
|
|
4812
|
-
var isFirstCallbackArgument = (callExpression, callback) => (0,
|
|
4813
|
-
var
|
|
5359
|
+
var isFirstCallbackArgument = (callExpression, callback) => (0, import_ts_extras51.arrayFirst)(callExpression.arguments) === callback;
|
|
5360
|
+
var rule79 = ruleCreator({
|
|
4814
5361
|
create: (context) => {
|
|
4815
5362
|
const parserServices = import_utils10.ESLintUtils.getParserServices(context);
|
|
4816
5363
|
const typeChecker = parserServices.program.getTypeChecker();
|
|
@@ -4824,7 +5371,7 @@ var rule76 = ruleCreator({
|
|
|
4824
5371
|
return;
|
|
4825
5372
|
}
|
|
4826
5373
|
const { callee } = parentNode;
|
|
4827
|
-
if (callee.type !== "MemberExpression" || callee.object.type === "Super" || callee.property.type !== "Identifier" || !(0,
|
|
5374
|
+
if (callee.type !== "MemberExpression" || callee.object.type === "Super" || callee.property.type !== "Identifier" || !(0, import_ts_extras51.setHas)(arrayCallbackMethodNames, callee.property.name)) {
|
|
4828
5375
|
return;
|
|
4829
5376
|
}
|
|
4830
5377
|
const objectType = (0, import_type_utils7.getConstrainedTypeAtLocation)(parserServices, callee.object);
|
|
@@ -4857,11 +5404,11 @@ var rule76 = ruleCreator({
|
|
|
4857
5404
|
},
|
|
4858
5405
|
name: "typescript/array-callback-return-type"
|
|
4859
5406
|
});
|
|
4860
|
-
var typescript_array_callback_return_type_default =
|
|
5407
|
+
var typescript_array_callback_return_type_default = rule79;
|
|
4861
5408
|
|
|
4862
5409
|
// dist/rules/typescript-class-methods-use-this.js
|
|
4863
|
-
var
|
|
4864
|
-
var isNode = (value) => typeof value === "object" && value !== null && (0,
|
|
5410
|
+
var import_ts_extras52 = require("ts-extras");
|
|
5411
|
+
var isNode = (value) => typeof value === "object" && value !== null && (0, import_ts_extras52.objectHasOwn)(value, "type");
|
|
4865
5412
|
var collectNodeChildren = (node) => {
|
|
4866
5413
|
let children = [];
|
|
4867
5414
|
const addNode = (value) => {
|
|
@@ -4869,7 +5416,7 @@ var collectNodeChildren = (node) => {
|
|
|
4869
5416
|
children = [...children, value];
|
|
4870
5417
|
}
|
|
4871
5418
|
};
|
|
4872
|
-
for (const [key, child] of (0,
|
|
5419
|
+
for (const [key, child] of (0, import_ts_extras52.objectEntries)(node)) {
|
|
4873
5420
|
if (key === "loc" || key === "parent" || key === "range") {
|
|
4874
5421
|
continue;
|
|
4875
5422
|
}
|
|
@@ -4886,7 +5433,7 @@ var collectNodeChildren = (node) => {
|
|
|
4886
5433
|
var containsThisExpression = (root) => {
|
|
4887
5434
|
let stack = [root];
|
|
4888
5435
|
while (stack.length > 0) {
|
|
4889
|
-
const node = (0,
|
|
5436
|
+
const node = (0, import_ts_extras52.arrayAt)(stack, -1);
|
|
4890
5437
|
stack = stack.slice(0, -1);
|
|
4891
5438
|
if (node === void 0) {
|
|
4892
5439
|
continue;
|
|
@@ -4904,7 +5451,7 @@ var hasThisParameter = (node) => {
|
|
|
4904
5451
|
};
|
|
4905
5452
|
var usesThisExpression = (node) => node.value.body === null ? false : containsThisExpression(node.value.body);
|
|
4906
5453
|
var shouldSkipMethod = (node) => node.kind !== "method" || node.static || node.value.body === null || hasThisParameter(node) || usesThisExpression(node);
|
|
4907
|
-
var
|
|
5454
|
+
var rule80 = ruleCreator({
|
|
4908
5455
|
create: (context) => ({
|
|
4909
5456
|
MethodDefinition: (node) => {
|
|
4910
5457
|
if (shouldSkipMethod(node)) {
|
|
@@ -4934,7 +5481,7 @@ var rule77 = ruleCreator({
|
|
|
4934
5481
|
},
|
|
4935
5482
|
name: "typescript/class-methods-use-this"
|
|
4936
5483
|
});
|
|
4937
|
-
var deprecatedRule22 = withDeprecatedRuleLifecycle(
|
|
5484
|
+
var deprecatedRule22 = withDeprecatedRuleLifecycle(rule80, {
|
|
4938
5485
|
message: "Deprecated in favor of @typescript-eslint/class-methods-use-this.",
|
|
4939
5486
|
replacedBy: [
|
|
4940
5487
|
createReplacementRuleInfo({
|
|
@@ -4954,7 +5501,7 @@ var typescript_class_methods_use_this_default = deprecatedRule22;
|
|
|
4954
5501
|
|
|
4955
5502
|
// dist/rules/typescript-consistent-array-type-name.js
|
|
4956
5503
|
var selector5 = String.raw`:matches(TSTypeAliasDeclaration[typeAnnotation.type='TSArrayType'], TSTypeAliasDeclaration[typeAnnotation.type='TSTupleType'], TSTypeAliasDeclaration[typeAnnotation.type='TSTypeReference']:has(TSTypeReference > Identifier[name='Array'])) > Identifier.id:not([name=/^(?:[A-Z][a-z\d]*)+(?:Array|s)$/u])`;
|
|
4957
|
-
var
|
|
5504
|
+
var rule81 = ruleCreator({
|
|
4958
5505
|
create: (context) => ({
|
|
4959
5506
|
[selector5]: (node) => {
|
|
4960
5507
|
context.report({
|
|
@@ -4981,11 +5528,11 @@ var rule78 = ruleCreator({
|
|
|
4981
5528
|
},
|
|
4982
5529
|
name: "typescript/consistent-array-type-name"
|
|
4983
5530
|
});
|
|
4984
|
-
var typescript_consistent_array_type_name_default =
|
|
5531
|
+
var typescript_consistent_array_type_name_default = rule81;
|
|
4985
5532
|
|
|
4986
5533
|
// dist/rules/typescript-define-function-in-one-statement.js
|
|
4987
5534
|
var selector6 = "AssignmentExpression > MemberExpression.left > Identifier.object";
|
|
4988
|
-
var
|
|
5535
|
+
var rule82 = ruleCreator({
|
|
4989
5536
|
create: (context) => ({
|
|
4990
5537
|
[selector6]: (node) => {
|
|
4991
5538
|
context.report({
|
|
@@ -5012,11 +5559,11 @@ var rule79 = ruleCreator({
|
|
|
5012
5559
|
},
|
|
5013
5560
|
name: "typescript/define-function-in-one-statement"
|
|
5014
5561
|
});
|
|
5015
|
-
var typescript_define_function_in_one_statement_default =
|
|
5562
|
+
var typescript_define_function_in_one_statement_default = rule82;
|
|
5016
5563
|
|
|
5017
5564
|
// dist/rules/typescript-exhaustive-switch.js
|
|
5018
5565
|
var selector7 = "SwitchStatement[cases.length>1]:not(:has(SwitchCase[test=null]))";
|
|
5019
|
-
var
|
|
5566
|
+
var rule83 = ruleCreator({
|
|
5020
5567
|
create: (context) => ({
|
|
5021
5568
|
[selector7]: (node) => {
|
|
5022
5569
|
context.report({
|
|
@@ -5043,7 +5590,7 @@ var rule80 = ruleCreator({
|
|
|
5043
5590
|
},
|
|
5044
5591
|
name: "typescript/exhaustive-switch"
|
|
5045
5592
|
});
|
|
5046
|
-
var deprecatedRule23 = withDeprecatedRuleLifecycle(
|
|
5593
|
+
var deprecatedRule23 = withDeprecatedRuleLifecycle(rule83, {
|
|
5047
5594
|
message: "Deprecated in favor of @typescript-eslint/switch-exhaustiveness-check.",
|
|
5048
5595
|
replacedBy: [
|
|
5049
5596
|
createReplacementRuleInfo({
|
|
@@ -5062,12 +5609,12 @@ var deprecatedRule23 = withDeprecatedRuleLifecycle(rule80, {
|
|
|
5062
5609
|
var typescript_exhaustive_switch_default = deprecatedRule23;
|
|
5063
5610
|
|
|
5064
5611
|
// dist/rules/typescript-no-boolean-literal-type.js
|
|
5065
|
-
var
|
|
5066
|
-
var selector8 = (0,
|
|
5612
|
+
var import_ts_extras53 = require("ts-extras");
|
|
5613
|
+
var selector8 = (0, import_ts_extras53.arrayJoin)([
|
|
5067
5614
|
"TSPropertySignature[optional=true] > TSTypeAnnotation > TSLiteralType > Literal[value=true]",
|
|
5068
5615
|
"TSPropertySignature[optional=true] > TSTypeAnnotation > TSLiteralType > Literal[value=false]"
|
|
5069
5616
|
], ", ");
|
|
5070
|
-
var
|
|
5617
|
+
var rule84 = ruleCreator({
|
|
5071
5618
|
create: (context) => ({
|
|
5072
5619
|
[selector8]: (node) => {
|
|
5073
5620
|
if (node.type !== "Literal") {
|
|
@@ -5099,11 +5646,11 @@ var rule81 = ruleCreator({
|
|
|
5099
5646
|
},
|
|
5100
5647
|
name: "typescript/no-boolean-literal-type"
|
|
5101
5648
|
});
|
|
5102
|
-
var typescript_no_boolean_literal_type_default =
|
|
5649
|
+
var typescript_no_boolean_literal_type_default = rule84;
|
|
5103
5650
|
|
|
5104
5651
|
// dist/rules/typescript-no-complex-declarator-type.js
|
|
5105
5652
|
var selector9 = "VariableDeclarator:not([id.typeAnnotation], [init.expression.properties.length=0]) > Identifier.id";
|
|
5106
|
-
var
|
|
5653
|
+
var rule85 = ruleCreator({
|
|
5107
5654
|
create: (context) => ({
|
|
5108
5655
|
[selector9]: (node) => {
|
|
5109
5656
|
context.report({
|
|
@@ -5130,11 +5677,11 @@ var rule82 = ruleCreator({
|
|
|
5130
5677
|
},
|
|
5131
5678
|
name: "typescript/no-complex-declarator-type"
|
|
5132
5679
|
});
|
|
5133
|
-
var typescript_no_complex_declarator_type_default =
|
|
5680
|
+
var typescript_no_complex_declarator_type_default = rule85;
|
|
5134
5681
|
|
|
5135
5682
|
// dist/rules/typescript-no-complex-return-type.js
|
|
5136
5683
|
var selector10 = "ArrowFunctionExpression[returnType=undefined] > :matches(TSAsExpression, TSTypeAssertion) > :matches(FunctionExpression, ArrowFunctionExpression, ObjectExpression, ClassExpression)";
|
|
5137
|
-
var
|
|
5684
|
+
var rule86 = ruleCreator({
|
|
5138
5685
|
create: (context) => ({
|
|
5139
5686
|
[selector10]: (node) => {
|
|
5140
5687
|
context.report({
|
|
@@ -5161,11 +5708,11 @@ var rule83 = ruleCreator({
|
|
|
5161
5708
|
},
|
|
5162
5709
|
name: "typescript/no-complex-return-type"
|
|
5163
5710
|
});
|
|
5164
|
-
var typescript_no_complex_return_type_default =
|
|
5711
|
+
var typescript_no_complex_return_type_default = rule86;
|
|
5165
5712
|
|
|
5166
5713
|
// dist/rules/typescript-no-empty-interfaces.js
|
|
5167
5714
|
var selector11 = "TSInterfaceDeclaration[body.body.length=0][extends.length=0] > Identifier.id";
|
|
5168
|
-
var
|
|
5715
|
+
var rule87 = ruleCreator({
|
|
5169
5716
|
create: (context) => ({
|
|
5170
5717
|
[selector11]: (node) => {
|
|
5171
5718
|
context.report({
|
|
@@ -5192,7 +5739,7 @@ var rule84 = ruleCreator({
|
|
|
5192
5739
|
},
|
|
5193
5740
|
name: "typescript/no-empty-interfaces"
|
|
5194
5741
|
});
|
|
5195
|
-
var deprecatedRule24 = withDeprecatedRuleLifecycle(
|
|
5742
|
+
var deprecatedRule24 = withDeprecatedRuleLifecycle(rule87, {
|
|
5196
5743
|
message: "Deprecated in favor of @typescript-eslint/no-empty-object-type.",
|
|
5197
5744
|
replacedBy: [
|
|
5198
5745
|
createReplacementRuleInfo({
|
|
@@ -5211,12 +5758,12 @@ var deprecatedRule24 = withDeprecatedRuleLifecycle(rule84, {
|
|
|
5211
5758
|
var typescript_no_empty_interfaces_default = deprecatedRule24;
|
|
5212
5759
|
|
|
5213
5760
|
// dist/rules/typescript-no-inferrable-types.js
|
|
5214
|
-
var
|
|
5215
|
-
var selector12 = (0,
|
|
5761
|
+
var import_ts_extras54 = require("ts-extras");
|
|
5762
|
+
var selector12 = (0, import_ts_extras54.arrayJoin)([
|
|
5216
5763
|
"PropertyDefinition[value.type='Literal'] > TSTypeAnnotation",
|
|
5217
5764
|
"VariableDeclarator[init.type='Literal'] > Identifier.id > TSTypeAnnotation"
|
|
5218
5765
|
], ", ");
|
|
5219
|
-
var
|
|
5766
|
+
var rule88 = ruleCreator({
|
|
5220
5767
|
create: (context) => ({
|
|
5221
5768
|
[selector12]: (node) => {
|
|
5222
5769
|
context.report({
|
|
@@ -5243,7 +5790,7 @@ var rule85 = ruleCreator({
|
|
|
5243
5790
|
},
|
|
5244
5791
|
name: "typescript/no-inferrable-types"
|
|
5245
5792
|
});
|
|
5246
|
-
var deprecatedRule25 = withDeprecatedRuleLifecycle(
|
|
5793
|
+
var deprecatedRule25 = withDeprecatedRuleLifecycle(rule88, {
|
|
5247
5794
|
message: "Deprecated in favor of @typescript-eslint/no-inferrable-types.",
|
|
5248
5795
|
replacedBy: [
|
|
5249
5796
|
createReplacementRuleInfo({
|
|
@@ -5263,7 +5810,7 @@ var typescript_no_inferrable_types_default = deprecatedRule25;
|
|
|
5263
5810
|
|
|
5264
5811
|
// dist/rules/typescript-no-multi-type-tuples.js
|
|
5265
5812
|
var selector13 = "TSTupleType > TSUnionType:not([types.length=1])";
|
|
5266
|
-
var
|
|
5813
|
+
var rule89 = ruleCreator({
|
|
5267
5814
|
create: (context) => ({
|
|
5268
5815
|
[selector13]: (node) => {
|
|
5269
5816
|
context.report({
|
|
@@ -5290,13 +5837,13 @@ var rule86 = ruleCreator({
|
|
|
5290
5837
|
},
|
|
5291
5838
|
name: "typescript/no-multi-type-tuples"
|
|
5292
5839
|
});
|
|
5293
|
-
var typescript_no_multi_type_tuples_default =
|
|
5840
|
+
var typescript_no_multi_type_tuples_default = rule89;
|
|
5294
5841
|
|
|
5295
5842
|
// dist/rules/typescript-no-never.js
|
|
5296
5843
|
var import_type_utils8 = require("@typescript-eslint/type-utils");
|
|
5297
5844
|
var import_utils11 = require("@typescript-eslint/utils");
|
|
5298
5845
|
var isTypeAliasNeverIdentifier = (node) => node.parent.type === "TSTypeAliasDeclaration" && node.parent.id === node && node.parent.typeAnnotation.type === "TSNeverKeyword";
|
|
5299
|
-
var
|
|
5846
|
+
var rule90 = ruleCreator({
|
|
5300
5847
|
create: (context) => {
|
|
5301
5848
|
const parserServices = import_utils11.ESLintUtils.getParserServices(context);
|
|
5302
5849
|
return {
|
|
@@ -5334,10 +5881,10 @@ var rule87 = ruleCreator({
|
|
|
5334
5881
|
},
|
|
5335
5882
|
name: "typescript/no-never"
|
|
5336
5883
|
});
|
|
5337
|
-
var typescript_no_never_default =
|
|
5884
|
+
var typescript_no_never_default = rule90;
|
|
5338
5885
|
|
|
5339
5886
|
// dist/rules/typescript-no-redundant-undefined-const.js
|
|
5340
|
-
var
|
|
5887
|
+
var import_ts_extras55 = require("ts-extras");
|
|
5341
5888
|
var buildFixedTypeText = (sourceCode, unionType) => {
|
|
5342
5889
|
let nonUndefinedTypeTexts = [];
|
|
5343
5890
|
for (const typeNode of unionType.types) {
|
|
@@ -5349,10 +5896,10 @@ var buildFixedTypeText = (sourceCode, unionType) => {
|
|
|
5349
5896
|
sourceCode.getText(typeNode)
|
|
5350
5897
|
];
|
|
5351
5898
|
}
|
|
5352
|
-
if ((0,
|
|
5899
|
+
if ((0, import_ts_extras55.isEmpty)(nonUndefinedTypeTexts) || nonUndefinedTypeTexts.length === unionType.types.length) {
|
|
5353
5900
|
return void 0;
|
|
5354
5901
|
}
|
|
5355
|
-
return (0,
|
|
5902
|
+
return (0, import_ts_extras55.arrayJoin)(nonUndefinedTypeTexts, " | ");
|
|
5356
5903
|
};
|
|
5357
5904
|
var getTypeAnnotationFromDeclarator = (declarator) => {
|
|
5358
5905
|
if (declarator.id.type === "Identifier" || declarator.id.type === "ArrayPattern" || declarator.id.type === "ObjectPattern") {
|
|
@@ -5360,14 +5907,14 @@ var getTypeAnnotationFromDeclarator = (declarator) => {
|
|
|
5360
5907
|
}
|
|
5361
5908
|
return void 0;
|
|
5362
5909
|
};
|
|
5363
|
-
var
|
|
5910
|
+
var unwrapExpression2 = (expression) => {
|
|
5364
5911
|
if (expression.type === "TSAsExpression" || expression.type === "TSSatisfiesExpression" || expression.type === "TSNonNullExpression" || expression.type === "TSTypeAssertion") {
|
|
5365
|
-
return
|
|
5912
|
+
return unwrapExpression2(expression.expression);
|
|
5366
5913
|
}
|
|
5367
5914
|
return expression;
|
|
5368
5915
|
};
|
|
5369
5916
|
var isDefinitelyDefinedExpression = (expression) => {
|
|
5370
|
-
const unwrappedExpression =
|
|
5917
|
+
const unwrappedExpression = unwrapExpression2(expression);
|
|
5371
5918
|
if (unwrappedExpression.type === "ArrayExpression") {
|
|
5372
5919
|
return true;
|
|
5373
5920
|
}
|
|
@@ -5394,7 +5941,7 @@ var isDefinitelyDefinedExpression = (expression) => {
|
|
|
5394
5941
|
}
|
|
5395
5942
|
return false;
|
|
5396
5943
|
};
|
|
5397
|
-
var
|
|
5944
|
+
var rule91 = ruleCreator({
|
|
5398
5945
|
create: (context) => {
|
|
5399
5946
|
const sourceCode = context.sourceCode;
|
|
5400
5947
|
return {
|
|
@@ -5416,7 +5963,7 @@ var rule88 = ruleCreator({
|
|
|
5416
5963
|
return;
|
|
5417
5964
|
}
|
|
5418
5965
|
const fixedTypeText = buildFixedTypeText(sourceCode, typeAnnotation.typeAnnotation);
|
|
5419
|
-
if (!(0,
|
|
5966
|
+
if (!(0, import_ts_extras55.isDefined)(fixedTypeText)) {
|
|
5420
5967
|
return;
|
|
5421
5968
|
}
|
|
5422
5969
|
const fix = (fixer) => fixer.replaceText(typeAnnotation.typeAnnotation, fixedTypeText);
|
|
@@ -5454,10 +6001,10 @@ var rule88 = ruleCreator({
|
|
|
5454
6001
|
},
|
|
5455
6002
|
name: "typescript/no-redundant-undefined-const"
|
|
5456
6003
|
});
|
|
5457
|
-
var typescript_no_redundant_undefined_const_default =
|
|
6004
|
+
var typescript_no_redundant_undefined_const_default = rule91;
|
|
5458
6005
|
|
|
5459
6006
|
// dist/rules/typescript-no-redundant-undefined-default-parameter.js
|
|
5460
|
-
var
|
|
6007
|
+
var import_ts_extras56 = require("ts-extras");
|
|
5461
6008
|
var functionLikeNodeSelector = ":matches(ArrowFunctionExpression, FunctionDeclaration, FunctionExpression, TSCallSignatureDeclaration, TSConstructSignatureDeclaration, TSConstructorType, TSDeclareFunction, TSEmptyBodyFunctionExpression, TSFunctionType, TSMethodSignature)";
|
|
5462
6009
|
var getParametersFromFunctionLikeNode = (node) => {
|
|
5463
6010
|
if (node.type === "ArrowFunctionExpression" || node.type === "FunctionDeclaration" || node.type === "FunctionExpression" || node.type === "TSCallSignatureDeclaration" || node.type === "TSConstructSignatureDeclaration" || node.type === "TSConstructorType" || node.type === "TSDeclareFunction" || node.type === "TSEmptyBodyFunctionExpression" || node.type === "TSFunctionType" || node.type === "TSMethodSignature") {
|
|
@@ -5486,14 +6033,14 @@ var getTypeAnnotationFromAssignmentPattern = (assignmentPattern) => {
|
|
|
5486
6033
|
}
|
|
5487
6034
|
return assignmentPattern.left.typeAnnotation;
|
|
5488
6035
|
};
|
|
5489
|
-
var
|
|
6036
|
+
var unwrapExpression3 = (expression) => {
|
|
5490
6037
|
if (expression.type === "TSAsExpression" || expression.type === "TSSatisfiesExpression" || expression.type === "TSNonNullExpression" || expression.type === "TSTypeAssertion") {
|
|
5491
|
-
return
|
|
6038
|
+
return unwrapExpression3(expression.expression);
|
|
5492
6039
|
}
|
|
5493
6040
|
return expression;
|
|
5494
6041
|
};
|
|
5495
6042
|
var isDefinitelyDefinedExpression2 = (expression) => {
|
|
5496
|
-
const unwrappedExpression =
|
|
6043
|
+
const unwrappedExpression = unwrapExpression3(expression);
|
|
5497
6044
|
if (unwrappedExpression.type === "ArrayExpression") {
|
|
5498
6045
|
return true;
|
|
5499
6046
|
}
|
|
@@ -5531,12 +6078,12 @@ var buildFixedTypeText2 = (sourceCode, unionType) => {
|
|
|
5531
6078
|
sourceCode.getText(typeNode)
|
|
5532
6079
|
];
|
|
5533
6080
|
}
|
|
5534
|
-
if ((0,
|
|
6081
|
+
if ((0, import_ts_extras56.isEmpty)(nonUndefinedTypeTexts) || nonUndefinedTypeTexts.length === unionType.types.length) {
|
|
5535
6082
|
return void 0;
|
|
5536
6083
|
}
|
|
5537
|
-
return (0,
|
|
6084
|
+
return (0, import_ts_extras56.arrayJoin)(nonUndefinedTypeTexts, " | ");
|
|
5538
6085
|
};
|
|
5539
|
-
var
|
|
6086
|
+
var rule92 = ruleCreator({
|
|
5540
6087
|
create: (context) => {
|
|
5541
6088
|
const sourceCode = context.sourceCode;
|
|
5542
6089
|
return {
|
|
@@ -5561,7 +6108,7 @@ var rule89 = ruleCreator({
|
|
|
5561
6108
|
continue;
|
|
5562
6109
|
}
|
|
5563
6110
|
const fixedTypeText = buildFixedTypeText2(sourceCode, typeAnnotation.typeAnnotation);
|
|
5564
|
-
if (!(0,
|
|
6111
|
+
if (!(0, import_ts_extras56.isDefined)(fixedTypeText)) {
|
|
5565
6112
|
continue;
|
|
5566
6113
|
}
|
|
5567
6114
|
const fix = (fixer) => fixer.replaceText(typeAnnotation.typeAnnotation, fixedTypeText);
|
|
@@ -5600,10 +6147,10 @@ var rule89 = ruleCreator({
|
|
|
5600
6147
|
},
|
|
5601
6148
|
name: "typescript/no-redundant-undefined-default-parameter"
|
|
5602
6149
|
});
|
|
5603
|
-
var typescript_no_redundant_undefined_default_parameter_default =
|
|
6150
|
+
var typescript_no_redundant_undefined_default_parameter_default = rule92;
|
|
5604
6151
|
|
|
5605
6152
|
// dist/rules/typescript-no-redundant-undefined-let.js
|
|
5606
|
-
var
|
|
6153
|
+
var import_ts_extras57 = require("ts-extras");
|
|
5607
6154
|
var buildFixedTypeText3 = (sourceCode, unionType) => {
|
|
5608
6155
|
let nonUndefinedTypeTexts = [];
|
|
5609
6156
|
for (const typeNode of unionType.types) {
|
|
@@ -5615,19 +6162,19 @@ var buildFixedTypeText3 = (sourceCode, unionType) => {
|
|
|
5615
6162
|
sourceCode.getText(typeNode)
|
|
5616
6163
|
];
|
|
5617
6164
|
}
|
|
5618
|
-
if ((0,
|
|
6165
|
+
if ((0, import_ts_extras57.isEmpty)(nonUndefinedTypeTexts) || nonUndefinedTypeTexts.length === unionType.types.length) {
|
|
5619
6166
|
return void 0;
|
|
5620
6167
|
}
|
|
5621
|
-
return (0,
|
|
6168
|
+
return (0, import_ts_extras57.arrayJoin)(nonUndefinedTypeTexts, " | ");
|
|
5622
6169
|
};
|
|
5623
|
-
var
|
|
6170
|
+
var unwrapExpression4 = (expression) => {
|
|
5624
6171
|
if (expression.type === "TSAsExpression" || expression.type === "TSSatisfiesExpression" || expression.type === "TSNonNullExpression" || expression.type === "TSTypeAssertion") {
|
|
5625
|
-
return
|
|
6172
|
+
return unwrapExpression4(expression.expression);
|
|
5626
6173
|
}
|
|
5627
6174
|
return expression;
|
|
5628
6175
|
};
|
|
5629
6176
|
var isDefinitelyDefinedExpression3 = (expression) => {
|
|
5630
|
-
const unwrappedExpression =
|
|
6177
|
+
const unwrappedExpression = unwrapExpression4(expression);
|
|
5631
6178
|
if (unwrappedExpression.type === "ArrayExpression") {
|
|
5632
6179
|
return true;
|
|
5633
6180
|
}
|
|
@@ -5661,7 +6208,7 @@ var isNeverReassigned = (sourceCode, declarator) => {
|
|
|
5661
6208
|
}
|
|
5662
6209
|
return !declaredVariable.references.some((reference) => reference.isWrite() && reference.init !== true);
|
|
5663
6210
|
};
|
|
5664
|
-
var
|
|
6211
|
+
var rule93 = ruleCreator({
|
|
5665
6212
|
create: (context) => {
|
|
5666
6213
|
const sourceCode = context.sourceCode;
|
|
5667
6214
|
return {
|
|
@@ -5688,7 +6235,7 @@ var rule90 = ruleCreator({
|
|
|
5688
6235
|
return;
|
|
5689
6236
|
}
|
|
5690
6237
|
const fixedTypeText = buildFixedTypeText3(sourceCode, typeAnnotation.typeAnnotation);
|
|
5691
|
-
if (!(0,
|
|
6238
|
+
if (!(0, import_ts_extras57.isDefined)(fixedTypeText)) {
|
|
5692
6239
|
return;
|
|
5693
6240
|
}
|
|
5694
6241
|
const fix = (fixer) => fixer.replaceText(typeAnnotation.typeAnnotation, fixedTypeText);
|
|
@@ -5726,11 +6273,11 @@ var rule90 = ruleCreator({
|
|
|
5726
6273
|
},
|
|
5727
6274
|
name: "typescript/no-redundant-undefined-let"
|
|
5728
6275
|
});
|
|
5729
|
-
var typescript_no_redundant_undefined_let_default =
|
|
6276
|
+
var typescript_no_redundant_undefined_let_default = rule93;
|
|
5730
6277
|
|
|
5731
6278
|
// dist/rules/typescript-no-redundant-undefined-optional.js
|
|
5732
|
-
var
|
|
5733
|
-
var selector14 = (0,
|
|
6279
|
+
var import_ts_extras58 = require("ts-extras");
|
|
6280
|
+
var selector14 = (0, import_ts_extras58.arrayJoin)([
|
|
5734
6281
|
"Identifier[optional=true] > TSTypeAnnotation > TSUnionType",
|
|
5735
6282
|
"TSNamedTupleMember[optional=true] > TSUnionType",
|
|
5736
6283
|
"TSOptionalType > TSUnionType"
|
|
@@ -5746,12 +6293,12 @@ var buildFixedTypeText4 = (sourceCode, unionType) => {
|
|
|
5746
6293
|
sourceCode.getText(typeNode)
|
|
5747
6294
|
];
|
|
5748
6295
|
}
|
|
5749
|
-
if ((0,
|
|
6296
|
+
if ((0, import_ts_extras58.isEmpty)(nonUndefinedTypeTexts) || nonUndefinedTypeTexts.length === unionType.types.length) {
|
|
5750
6297
|
return void 0;
|
|
5751
6298
|
}
|
|
5752
|
-
return (0,
|
|
6299
|
+
return (0, import_ts_extras58.arrayJoin)(nonUndefinedTypeTexts, " | ");
|
|
5753
6300
|
};
|
|
5754
|
-
var
|
|
6301
|
+
var rule94 = ruleCreator({
|
|
5755
6302
|
create: (context) => {
|
|
5756
6303
|
const sourceCode = context.sourceCode;
|
|
5757
6304
|
return {
|
|
@@ -5760,7 +6307,7 @@ var rule91 = ruleCreator({
|
|
|
5760
6307
|
return;
|
|
5761
6308
|
}
|
|
5762
6309
|
const fixedTypeText = buildFixedTypeText4(sourceCode, node);
|
|
5763
|
-
if (!(0,
|
|
6310
|
+
if (!(0, import_ts_extras58.isDefined)(fixedTypeText)) {
|
|
5764
6311
|
return;
|
|
5765
6312
|
}
|
|
5766
6313
|
const fix = (fixer) => fixer.replaceText(node, fixedTypeText);
|
|
@@ -5798,10 +6345,10 @@ var rule91 = ruleCreator({
|
|
|
5798
6345
|
},
|
|
5799
6346
|
name: "typescript/no-redundant-undefined-optional"
|
|
5800
6347
|
});
|
|
5801
|
-
var typescript_no_redundant_undefined_optional_default =
|
|
6348
|
+
var typescript_no_redundant_undefined_optional_default = rule94;
|
|
5802
6349
|
|
|
5803
6350
|
// dist/rules/typescript-no-redundant-undefined-promise-return-type.js
|
|
5804
|
-
var
|
|
6351
|
+
var import_ts_extras59 = require("ts-extras");
|
|
5805
6352
|
var buildFixedTypeText5 = (sourceCode, unionType) => {
|
|
5806
6353
|
let nonUndefinedTypeTexts = [];
|
|
5807
6354
|
for (const typeNode of unionType.types) {
|
|
@@ -5813,19 +6360,19 @@ var buildFixedTypeText5 = (sourceCode, unionType) => {
|
|
|
5813
6360
|
sourceCode.getText(typeNode)
|
|
5814
6361
|
];
|
|
5815
6362
|
}
|
|
5816
|
-
if ((0,
|
|
6363
|
+
if ((0, import_ts_extras59.isEmpty)(nonUndefinedTypeTexts) || nonUndefinedTypeTexts.length === unionType.types.length) {
|
|
5817
6364
|
return void 0;
|
|
5818
6365
|
}
|
|
5819
|
-
return (0,
|
|
6366
|
+
return (0, import_ts_extras59.arrayJoin)(nonUndefinedTypeTexts, " | ");
|
|
5820
6367
|
};
|
|
5821
|
-
var
|
|
6368
|
+
var unwrapExpression5 = (expression) => {
|
|
5822
6369
|
if (expression.type === "TSAsExpression" || expression.type === "TSSatisfiesExpression" || expression.type === "TSNonNullExpression" || expression.type === "TSTypeAssertion") {
|
|
5823
|
-
return
|
|
6370
|
+
return unwrapExpression5(expression.expression);
|
|
5824
6371
|
}
|
|
5825
6372
|
return expression;
|
|
5826
6373
|
};
|
|
5827
6374
|
var isDefinitelyDefinedExpression4 = (expression) => {
|
|
5828
|
-
const unwrappedExpression =
|
|
6375
|
+
const unwrappedExpression = unwrapExpression5(expression);
|
|
5829
6376
|
if (unwrappedExpression.type === "ArrayExpression") {
|
|
5830
6377
|
return true;
|
|
5831
6378
|
}
|
|
@@ -5854,7 +6401,7 @@ var isDefinitelyDefinedExpression4 = (expression) => {
|
|
|
5854
6401
|
return true;
|
|
5855
6402
|
}
|
|
5856
6403
|
if (unwrappedExpression.type === "SequenceExpression") {
|
|
5857
|
-
const lastExpression = (0,
|
|
6404
|
+
const lastExpression = (0, import_ts_extras59.arrayAt)(unwrappedExpression.expressions, -1);
|
|
5858
6405
|
return lastExpression !== void 0 && isDefinitelyDefinedExpression4(lastExpression);
|
|
5859
6406
|
}
|
|
5860
6407
|
if (unwrappedExpression.type === "TemplateLiteral") {
|
|
@@ -5870,7 +6417,7 @@ var hasDefinitelyDefinedReturnValue = (node) => {
|
|
|
5870
6417
|
if (body.body.length !== 1) {
|
|
5871
6418
|
return false;
|
|
5872
6419
|
}
|
|
5873
|
-
const statement = (0,
|
|
6420
|
+
const statement = (0, import_ts_extras59.arrayFirst)(body.body);
|
|
5874
6421
|
if (statement === void 0) {
|
|
5875
6422
|
return false;
|
|
5876
6423
|
}
|
|
@@ -5906,7 +6453,7 @@ var getPromiseValueUnionType = (returnType) => {
|
|
|
5906
6453
|
}
|
|
5907
6454
|
return promiseValueType;
|
|
5908
6455
|
};
|
|
5909
|
-
var
|
|
6456
|
+
var rule95 = ruleCreator({
|
|
5910
6457
|
create: (context) => {
|
|
5911
6458
|
const sourceCode = context.sourceCode;
|
|
5912
6459
|
return {
|
|
@@ -5926,7 +6473,7 @@ var rule92 = ruleCreator({
|
|
|
5926
6473
|
return;
|
|
5927
6474
|
}
|
|
5928
6475
|
const fixedPromiseValueTypeText = buildFixedTypeText5(sourceCode, promiseValueUnionType);
|
|
5929
|
-
if (!(0,
|
|
6476
|
+
if (!(0, import_ts_extras59.isDefined)(fixedPromiseValueTypeText)) {
|
|
5930
6477
|
return;
|
|
5931
6478
|
}
|
|
5932
6479
|
const fix = (fixer) => fixer.replaceText(promiseValueUnionType, fixedPromiseValueTypeText);
|
|
@@ -5964,10 +6511,10 @@ var rule92 = ruleCreator({
|
|
|
5964
6511
|
},
|
|
5965
6512
|
name: "typescript/no-redundant-undefined-promise-return-type"
|
|
5966
6513
|
});
|
|
5967
|
-
var typescript_no_redundant_undefined_promise_return_type_default =
|
|
6514
|
+
var typescript_no_redundant_undefined_promise_return_type_default = rule95;
|
|
5968
6515
|
|
|
5969
6516
|
// dist/rules/typescript-no-redundant-undefined-readonly-property.js
|
|
5970
|
-
var
|
|
6517
|
+
var import_ts_extras60 = require("ts-extras");
|
|
5971
6518
|
var buildFixedTypeText6 = (sourceCode, unionType) => {
|
|
5972
6519
|
let nonUndefinedTypeTexts = [];
|
|
5973
6520
|
for (const typeNode of unionType.types) {
|
|
@@ -5979,19 +6526,19 @@ var buildFixedTypeText6 = (sourceCode, unionType) => {
|
|
|
5979
6526
|
sourceCode.getText(typeNode)
|
|
5980
6527
|
];
|
|
5981
6528
|
}
|
|
5982
|
-
if ((0,
|
|
6529
|
+
if ((0, import_ts_extras60.isEmpty)(nonUndefinedTypeTexts) || nonUndefinedTypeTexts.length === unionType.types.length) {
|
|
5983
6530
|
return void 0;
|
|
5984
6531
|
}
|
|
5985
|
-
return (0,
|
|
6532
|
+
return (0, import_ts_extras60.arrayJoin)(nonUndefinedTypeTexts, " | ");
|
|
5986
6533
|
};
|
|
5987
|
-
var
|
|
6534
|
+
var unwrapExpression6 = (expression) => {
|
|
5988
6535
|
if (expression.type === "TSAsExpression" || expression.type === "TSSatisfiesExpression" || expression.type === "TSNonNullExpression" || expression.type === "TSTypeAssertion") {
|
|
5989
|
-
return
|
|
6536
|
+
return unwrapExpression6(expression.expression);
|
|
5990
6537
|
}
|
|
5991
6538
|
return expression;
|
|
5992
6539
|
};
|
|
5993
6540
|
var isDefinitelyDefinedExpression5 = (expression) => {
|
|
5994
|
-
const unwrappedExpression =
|
|
6541
|
+
const unwrappedExpression = unwrapExpression6(expression);
|
|
5995
6542
|
if (unwrappedExpression.type === "ArrayExpression") {
|
|
5996
6543
|
return true;
|
|
5997
6544
|
}
|
|
@@ -6018,7 +6565,7 @@ var isDefinitelyDefinedExpression5 = (expression) => {
|
|
|
6018
6565
|
}
|
|
6019
6566
|
return false;
|
|
6020
6567
|
};
|
|
6021
|
-
var
|
|
6568
|
+
var rule96 = ruleCreator({
|
|
6022
6569
|
create: (context) => {
|
|
6023
6570
|
const sourceCode = context.sourceCode;
|
|
6024
6571
|
return {
|
|
@@ -6043,7 +6590,7 @@ var rule93 = ruleCreator({
|
|
|
6043
6590
|
return;
|
|
6044
6591
|
}
|
|
6045
6592
|
const fixedTypeText = buildFixedTypeText6(sourceCode, typeAnnotation.typeAnnotation);
|
|
6046
|
-
if (!(0,
|
|
6593
|
+
if (!(0, import_ts_extras60.isDefined)(fixedTypeText)) {
|
|
6047
6594
|
return;
|
|
6048
6595
|
}
|
|
6049
6596
|
const fix = (fixer) => fixer.replaceText(typeAnnotation.typeAnnotation, fixedTypeText);
|
|
@@ -6081,10 +6628,10 @@ var rule93 = ruleCreator({
|
|
|
6081
6628
|
},
|
|
6082
6629
|
name: "typescript/no-redundant-undefined-readonly-property"
|
|
6083
6630
|
});
|
|
6084
|
-
var typescript_no_redundant_undefined_readonly_property_default =
|
|
6631
|
+
var typescript_no_redundant_undefined_readonly_property_default = rule96;
|
|
6085
6632
|
|
|
6086
6633
|
// dist/rules/typescript-no-redundant-undefined-return-type.js
|
|
6087
|
-
var
|
|
6634
|
+
var import_ts_extras61 = require("ts-extras");
|
|
6088
6635
|
var buildFixedTypeText7 = (sourceCode, unionType) => {
|
|
6089
6636
|
let nonUndefinedTypeTexts = [];
|
|
6090
6637
|
for (const typeNode of unionType.types) {
|
|
@@ -6096,19 +6643,19 @@ var buildFixedTypeText7 = (sourceCode, unionType) => {
|
|
|
6096
6643
|
sourceCode.getText(typeNode)
|
|
6097
6644
|
];
|
|
6098
6645
|
}
|
|
6099
|
-
if ((0,
|
|
6646
|
+
if ((0, import_ts_extras61.isEmpty)(nonUndefinedTypeTexts) || nonUndefinedTypeTexts.length === unionType.types.length) {
|
|
6100
6647
|
return void 0;
|
|
6101
6648
|
}
|
|
6102
|
-
return (0,
|
|
6649
|
+
return (0, import_ts_extras61.arrayJoin)(nonUndefinedTypeTexts, " | ");
|
|
6103
6650
|
};
|
|
6104
|
-
var
|
|
6651
|
+
var unwrapExpression7 = (expression) => {
|
|
6105
6652
|
if (expression.type === "TSAsExpression" || expression.type === "TSSatisfiesExpression" || expression.type === "TSNonNullExpression" || expression.type === "TSTypeAssertion") {
|
|
6106
|
-
return
|
|
6653
|
+
return unwrapExpression7(expression.expression);
|
|
6107
6654
|
}
|
|
6108
6655
|
return expression;
|
|
6109
6656
|
};
|
|
6110
6657
|
var isDefinitelyDefinedExpression6 = (expression) => {
|
|
6111
|
-
const unwrappedExpression =
|
|
6658
|
+
const unwrappedExpression = unwrapExpression7(expression);
|
|
6112
6659
|
if (unwrappedExpression.type === "ArrayExpression") {
|
|
6113
6660
|
return true;
|
|
6114
6661
|
}
|
|
@@ -6137,7 +6684,7 @@ var isDefinitelyDefinedExpression6 = (expression) => {
|
|
|
6137
6684
|
return true;
|
|
6138
6685
|
}
|
|
6139
6686
|
if (unwrappedExpression.type === "SequenceExpression") {
|
|
6140
|
-
const lastExpression = (0,
|
|
6687
|
+
const lastExpression = (0, import_ts_extras61.arrayAt)(unwrappedExpression.expressions, -1);
|
|
6141
6688
|
return lastExpression !== void 0 && isDefinitelyDefinedExpression6(lastExpression);
|
|
6142
6689
|
}
|
|
6143
6690
|
if (unwrappedExpression.type === "TemplateLiteral") {
|
|
@@ -6153,7 +6700,7 @@ var hasDefinitelyDefinedReturnValue2 = (node) => {
|
|
|
6153
6700
|
if (body.body.length !== 1) {
|
|
6154
6701
|
return false;
|
|
6155
6702
|
}
|
|
6156
|
-
const statement = (0,
|
|
6703
|
+
const statement = (0, import_ts_extras61.arrayFirst)(body.body);
|
|
6157
6704
|
if (statement === void 0) {
|
|
6158
6705
|
return false;
|
|
6159
6706
|
}
|
|
@@ -6165,7 +6712,7 @@ var hasDefinitelyDefinedReturnValue2 = (node) => {
|
|
|
6165
6712
|
}
|
|
6166
6713
|
return isDefinitelyDefinedExpression6(statement.argument);
|
|
6167
6714
|
};
|
|
6168
|
-
var
|
|
6715
|
+
var rule97 = ruleCreator({
|
|
6169
6716
|
create: (context) => {
|
|
6170
6717
|
const sourceCode = context.sourceCode;
|
|
6171
6718
|
return {
|
|
@@ -6184,7 +6731,7 @@ var rule94 = ruleCreator({
|
|
|
6184
6731
|
return;
|
|
6185
6732
|
}
|
|
6186
6733
|
const fixedTypeText = buildFixedTypeText7(sourceCode, returnType.typeAnnotation);
|
|
6187
|
-
if (!(0,
|
|
6734
|
+
if (!(0, import_ts_extras61.isDefined)(fixedTypeText)) {
|
|
6188
6735
|
return;
|
|
6189
6736
|
}
|
|
6190
6737
|
const fix = (fixer) => fixer.replaceText(returnType.typeAnnotation, fixedTypeText);
|
|
@@ -6222,10 +6769,10 @@ var rule94 = ruleCreator({
|
|
|
6222
6769
|
},
|
|
6223
6770
|
name: "typescript/no-redundant-undefined-return-type"
|
|
6224
6771
|
});
|
|
6225
|
-
var typescript_no_redundant_undefined_return_type_default =
|
|
6772
|
+
var typescript_no_redundant_undefined_return_type_default = rule97;
|
|
6226
6773
|
|
|
6227
6774
|
// dist/rules/typescript-no-redundant-undefined-var.js
|
|
6228
|
-
var
|
|
6775
|
+
var import_ts_extras62 = require("ts-extras");
|
|
6229
6776
|
var buildFixedTypeText8 = (sourceCode, unionType) => {
|
|
6230
6777
|
let nonUndefinedTypeTexts = [];
|
|
6231
6778
|
for (const typeNode of unionType.types) {
|
|
@@ -6237,19 +6784,19 @@ var buildFixedTypeText8 = (sourceCode, unionType) => {
|
|
|
6237
6784
|
sourceCode.getText(typeNode)
|
|
6238
6785
|
];
|
|
6239
6786
|
}
|
|
6240
|
-
if ((0,
|
|
6787
|
+
if ((0, import_ts_extras62.isEmpty)(nonUndefinedTypeTexts) || nonUndefinedTypeTexts.length === unionType.types.length) {
|
|
6241
6788
|
return void 0;
|
|
6242
6789
|
}
|
|
6243
|
-
return (0,
|
|
6790
|
+
return (0, import_ts_extras62.arrayJoin)(nonUndefinedTypeTexts, " | ");
|
|
6244
6791
|
};
|
|
6245
|
-
var
|
|
6792
|
+
var unwrapExpression8 = (expression) => {
|
|
6246
6793
|
if (expression.type === "TSAsExpression" || expression.type === "TSSatisfiesExpression" || expression.type === "TSNonNullExpression" || expression.type === "TSTypeAssertion") {
|
|
6247
|
-
return
|
|
6794
|
+
return unwrapExpression8(expression.expression);
|
|
6248
6795
|
}
|
|
6249
6796
|
return expression;
|
|
6250
6797
|
};
|
|
6251
6798
|
var isDefinitelyDefinedExpression7 = (expression) => {
|
|
6252
|
-
const unwrappedExpression =
|
|
6799
|
+
const unwrappedExpression = unwrapExpression8(expression);
|
|
6253
6800
|
if (unwrappedExpression.type === "ArrayExpression") {
|
|
6254
6801
|
return true;
|
|
6255
6802
|
}
|
|
@@ -6283,7 +6830,7 @@ var isNeverReassigned2 = (sourceCode, declarator) => {
|
|
|
6283
6830
|
}
|
|
6284
6831
|
return !declaredVariable.references.some((reference) => reference.isWrite() && reference.init !== true);
|
|
6285
6832
|
};
|
|
6286
|
-
var
|
|
6833
|
+
var rule98 = ruleCreator({
|
|
6287
6834
|
create: (context) => {
|
|
6288
6835
|
const sourceCode = context.sourceCode;
|
|
6289
6836
|
return {
|
|
@@ -6310,7 +6857,7 @@ var rule95 = ruleCreator({
|
|
|
6310
6857
|
return;
|
|
6311
6858
|
}
|
|
6312
6859
|
const fixedTypeText = buildFixedTypeText8(sourceCode, typeAnnotation.typeAnnotation);
|
|
6313
|
-
if (!(0,
|
|
6860
|
+
if (!(0, import_ts_extras62.isDefined)(fixedTypeText)) {
|
|
6314
6861
|
return;
|
|
6315
6862
|
}
|
|
6316
6863
|
const fix = (fixer) => fixer.replaceText(typeAnnotation.typeAnnotation, fixedTypeText);
|
|
@@ -6348,7 +6895,7 @@ var rule95 = ruleCreator({
|
|
|
6348
6895
|
},
|
|
6349
6896
|
name: "typescript/no-redundant-undefined-var"
|
|
6350
6897
|
});
|
|
6351
|
-
var typescript_no_redundant_undefined_var_default =
|
|
6898
|
+
var typescript_no_redundant_undefined_var_default = rule98;
|
|
6352
6899
|
|
|
6353
6900
|
// dist/rules/typescript-no-restricted-syntax.js
|
|
6354
6901
|
var typescriptNoRestrictedSyntaxRule = {
|
|
@@ -6387,7 +6934,7 @@ var typescript_no_restricted_syntax_default = deprecatedRule26;
|
|
|
6387
6934
|
var import_type_utils9 = require("@typescript-eslint/type-utils");
|
|
6388
6935
|
var import_utils12 = require("@typescript-eslint/utils");
|
|
6389
6936
|
var tsutils4 = __toESM(require("tsutils"), 1);
|
|
6390
|
-
var
|
|
6937
|
+
var rule99 = ruleCreator({
|
|
6391
6938
|
create: (context) => {
|
|
6392
6939
|
const parserServices = import_utils12.ESLintUtils.getParserServices(context);
|
|
6393
6940
|
const checker = parserServices.program.getTypeChecker();
|
|
@@ -6428,10 +6975,10 @@ var rule96 = ruleCreator({
|
|
|
6428
6975
|
},
|
|
6429
6976
|
name: "typescript/no-unsafe-object-assign"
|
|
6430
6977
|
});
|
|
6431
|
-
var typescript_no_unsafe_object_assign_default =
|
|
6978
|
+
var typescript_no_unsafe_object_assign_default = rule99;
|
|
6432
6979
|
|
|
6433
6980
|
// dist/rules/typescript-no-unsafe-object-assignment.js
|
|
6434
|
-
var
|
|
6981
|
+
var rule100 = {
|
|
6435
6982
|
...typescript_no_unsafe_object_assign_default,
|
|
6436
6983
|
meta: {
|
|
6437
6984
|
deprecated: false,
|
|
@@ -6445,11 +6992,11 @@ var rule97 = {
|
|
|
6445
6992
|
}
|
|
6446
6993
|
}
|
|
6447
6994
|
};
|
|
6448
|
-
var typescript_no_unsafe_object_assignment_default =
|
|
6995
|
+
var typescript_no_unsafe_object_assignment_default = rule100;
|
|
6449
6996
|
|
|
6450
6997
|
// dist/rules/typescript-prefer-array-type-alias.js
|
|
6451
6998
|
var selector15 = String.raw`TSTypeAliasDeclaration > Identifier.id:matches([parent.typeAnnotation.type='TSArrayType'], [parent.typeAnnotation.type='TSTupleType']):not([name=/^(?:[A-Z][a-z\d]*)+(?:Array|s)$/u])`;
|
|
6452
|
-
var
|
|
6999
|
+
var rule101 = ruleCreator({
|
|
6453
7000
|
create: (context) => ({
|
|
6454
7001
|
[selector15]: (node) => {
|
|
6455
7002
|
context.report({
|
|
@@ -6476,11 +7023,11 @@ var rule98 = ruleCreator({
|
|
|
6476
7023
|
},
|
|
6477
7024
|
name: "typescript/prefer-array-type-alias"
|
|
6478
7025
|
});
|
|
6479
|
-
var typescript_prefer_array_type_alias_default =
|
|
7026
|
+
var typescript_prefer_array_type_alias_default = rule101;
|
|
6480
7027
|
|
|
6481
7028
|
// dist/rules/typescript-prefer-class-method.js
|
|
6482
7029
|
var selector16 = "PropertyDefinition:not([typeAnnotation]) > ArrowFunctionExpression";
|
|
6483
|
-
var
|
|
7030
|
+
var rule102 = ruleCreator({
|
|
6484
7031
|
create: (context) => ({
|
|
6485
7032
|
[selector16]: (node) => {
|
|
6486
7033
|
context.report({
|
|
@@ -6507,12 +7054,12 @@ var rule99 = ruleCreator({
|
|
|
6507
7054
|
},
|
|
6508
7055
|
name: "typescript/prefer-class-method"
|
|
6509
7056
|
});
|
|
6510
|
-
var typescript_prefer_class_method_default =
|
|
7057
|
+
var typescript_prefer_class_method_default = rule102;
|
|
6511
7058
|
|
|
6512
7059
|
// dist/rules/typescript-prefer-enum.js
|
|
6513
7060
|
var import_type_utils10 = require("@typescript-eslint/type-utils");
|
|
6514
7061
|
var import_utils13 = require("@typescript-eslint/utils");
|
|
6515
|
-
var
|
|
7062
|
+
var import_ts_extras63 = require("ts-extras");
|
|
6516
7063
|
var tsutils5 = __toESM(require("tsutils"), 1);
|
|
6517
7064
|
var import_typescript = __toESM(require("typescript"), 1);
|
|
6518
7065
|
var isEnumLikeOrUndefinedType = (checker, type) => {
|
|
@@ -6531,7 +7078,7 @@ var isEnumLikeOrUndefinedType = (checker, type) => {
|
|
|
6531
7078
|
return hasEnumLike;
|
|
6532
7079
|
};
|
|
6533
7080
|
var isStringLiteral = (node) => node.type === "Literal" && typeof node.value === "string";
|
|
6534
|
-
var
|
|
7081
|
+
var rule103 = ruleCreator({
|
|
6535
7082
|
create: (context) => {
|
|
6536
7083
|
const parserServices = import_utils13.ESLintUtils.getParserServices(context);
|
|
6537
7084
|
const checker = parserServices.program.getTypeChecker();
|
|
@@ -6573,9 +7120,9 @@ var rule100 = ruleCreator({
|
|
|
6573
7120
|
if (functionNode === null) {
|
|
6574
7121
|
return;
|
|
6575
7122
|
}
|
|
6576
|
-
const signature = (0,
|
|
6577
|
-
const returnType = (0,
|
|
6578
|
-
if (!(0,
|
|
7123
|
+
const signature = (0, import_ts_extras63.arrayFirst)((0, import_type_utils10.getConstrainedTypeAtLocation)(parserServices, functionNode).getCallSignatures());
|
|
7124
|
+
const returnType = (0, import_ts_extras63.isDefined)(signature) ? checker.getReturnTypeOfSignature(signature) : void 0;
|
|
7125
|
+
if (!(0, import_ts_extras63.isDefined)(returnType)) {
|
|
6579
7126
|
return;
|
|
6580
7127
|
}
|
|
6581
7128
|
if (!isEnumLikeOrUndefinedType(checker, returnType)) {
|
|
@@ -6626,7 +7173,7 @@ var rule100 = ruleCreator({
|
|
|
6626
7173
|
},
|
|
6627
7174
|
name: "typescript/prefer-enum"
|
|
6628
7175
|
});
|
|
6629
|
-
var typescript_prefer_enum_default =
|
|
7176
|
+
var typescript_prefer_enum_default = rule103;
|
|
6630
7177
|
|
|
6631
7178
|
// dist/rules/typescript-prefer-named-tuple-members.js
|
|
6632
7179
|
var isUnnamedTupleElement = (tupleElement) => {
|
|
@@ -6663,7 +7210,7 @@ var getTupleMemberReplacementText = (tupleElement, memberName2, sourceCode) => {
|
|
|
6663
7210
|
}
|
|
6664
7211
|
return `${memberName2}: ${sourceCode.getText(tupleElement)}`;
|
|
6665
7212
|
};
|
|
6666
|
-
var
|
|
7213
|
+
var rule104 = ruleCreator({
|
|
6667
7214
|
create: (context) => {
|
|
6668
7215
|
const sourceCode = context.sourceCode;
|
|
6669
7216
|
return {
|
|
@@ -6729,7 +7276,7 @@ var rule101 = ruleCreator({
|
|
|
6729
7276
|
},
|
|
6730
7277
|
name: "typescript/prefer-named-tuple-members"
|
|
6731
7278
|
});
|
|
6732
|
-
var typescript_prefer_named_tuple_members_default =
|
|
7279
|
+
var typescript_prefer_named_tuple_members_default = rule104;
|
|
6733
7280
|
|
|
6734
7281
|
// dist/rules/typescript-prefer-readonly-array-parameter.js
|
|
6735
7282
|
var functionLikeNodeSelector2 = ":matches(ArrowFunctionExpression, FunctionDeclaration, FunctionExpression, TSCallSignatureDeclaration, TSConstructSignatureDeclaration, TSConstructorType, TSDeclareFunction, TSEmptyBodyFunctionExpression, TSFunctionType, TSMethodSignature)";
|
|
@@ -6783,7 +7330,7 @@ var buildReadonlyArrayLikeFix = (node, sourceCode) => {
|
|
|
6783
7330
|
}
|
|
6784
7331
|
return (fixer) => fixer.replaceText(node, `readonly ${sourceCode.getText(node)}`);
|
|
6785
7332
|
};
|
|
6786
|
-
var
|
|
7333
|
+
var rule105 = ruleCreator({
|
|
6787
7334
|
create: (context) => {
|
|
6788
7335
|
const sourceCode = context.sourceCode;
|
|
6789
7336
|
return {
|
|
@@ -6836,15 +7383,15 @@ var rule102 = ruleCreator({
|
|
|
6836
7383
|
},
|
|
6837
7384
|
name: "typescript/prefer-readonly-array-parameter"
|
|
6838
7385
|
});
|
|
6839
|
-
var typescript_prefer_readonly_array_parameter_default =
|
|
7386
|
+
var typescript_prefer_readonly_array_parameter_default = rule105;
|
|
6840
7387
|
|
|
6841
7388
|
// dist/rules/typescript-prefer-readonly-array.js
|
|
6842
|
-
var
|
|
6843
|
-
var selector17 = (0,
|
|
7389
|
+
var import_ts_extras64 = require("ts-extras");
|
|
7390
|
+
var selector17 = (0, import_ts_extras64.arrayJoin)([
|
|
6844
7391
|
":not(TSTypeOperator[operator='readonly']) > :matches(TSArrayType, TSTupleType)",
|
|
6845
7392
|
"TSTypeReference > Identifier[name='Array']"
|
|
6846
7393
|
], ", ");
|
|
6847
|
-
var
|
|
7394
|
+
var rule106 = ruleCreator({
|
|
6848
7395
|
create: (context) => {
|
|
6849
7396
|
const sourceCode = context.sourceCode;
|
|
6850
7397
|
return {
|
|
@@ -6880,11 +7427,11 @@ var rule103 = ruleCreator({
|
|
|
6880
7427
|
},
|
|
6881
7428
|
name: "typescript/prefer-readonly-array"
|
|
6882
7429
|
});
|
|
6883
|
-
var typescript_prefer_readonly_array_default =
|
|
7430
|
+
var typescript_prefer_readonly_array_default = rule106;
|
|
6884
7431
|
|
|
6885
7432
|
// dist/rules/typescript-prefer-readonly-index-signature.js
|
|
6886
7433
|
var selector18 = "TSIndexSignature[readonly!=true]";
|
|
6887
|
-
var
|
|
7434
|
+
var rule107 = ruleCreator({
|
|
6888
7435
|
create: (context) => ({
|
|
6889
7436
|
[selector18]: (node) => {
|
|
6890
7437
|
if (node.type !== "TSIndexSignature" || node.readonly) {
|
|
@@ -6916,11 +7463,11 @@ var rule104 = ruleCreator({
|
|
|
6916
7463
|
},
|
|
6917
7464
|
name: "typescript/prefer-readonly-index-signature"
|
|
6918
7465
|
});
|
|
6919
|
-
var typescript_prefer_readonly_index_signature_default =
|
|
7466
|
+
var typescript_prefer_readonly_index_signature_default = rule107;
|
|
6920
7467
|
|
|
6921
7468
|
// dist/rules/typescript-prefer-readonly-map.js
|
|
6922
7469
|
var selector19 = "TSTypeReference > Identifier[name='Map']";
|
|
6923
|
-
var
|
|
7470
|
+
var rule108 = ruleCreator({
|
|
6924
7471
|
create: (context) => ({
|
|
6925
7472
|
[selector19]: (node) => {
|
|
6926
7473
|
if (node.type !== "Identifier") {
|
|
@@ -6952,12 +7499,12 @@ var rule105 = ruleCreator({
|
|
|
6952
7499
|
},
|
|
6953
7500
|
name: "typescript/prefer-readonly-map"
|
|
6954
7501
|
});
|
|
6955
|
-
var typescript_prefer_readonly_map_default =
|
|
7502
|
+
var typescript_prefer_readonly_map_default = rule108;
|
|
6956
7503
|
|
|
6957
7504
|
// dist/rules/typescript-prefer-readonly-property.js
|
|
6958
|
-
var
|
|
7505
|
+
var import_ts_extras65 = require("ts-extras");
|
|
6959
7506
|
var selector20 = ":matches(PropertyDefinition, TSPropertySignature)[readonly!=true]";
|
|
6960
|
-
var
|
|
7507
|
+
var rule109 = ruleCreator({
|
|
6961
7508
|
create: (context) => ({
|
|
6962
7509
|
[selector20]: (node) => {
|
|
6963
7510
|
if (node.type !== "PropertyDefinition" && node.type !== "TSPropertySignature") {
|
|
@@ -6968,7 +7515,7 @@ var rule106 = ruleCreator({
|
|
|
6968
7515
|
context.report({
|
|
6969
7516
|
messageId: "forbidden",
|
|
6970
7517
|
node,
|
|
6971
|
-
...(0,
|
|
7518
|
+
...(0, import_ts_extras65.isDefined)(fix) ? {
|
|
6972
7519
|
fix,
|
|
6973
7520
|
suggest: [
|
|
6974
7521
|
{
|
|
@@ -7000,7 +7547,7 @@ var rule106 = ruleCreator({
|
|
|
7000
7547
|
},
|
|
7001
7548
|
name: "typescript/prefer-readonly-property"
|
|
7002
7549
|
});
|
|
7003
|
-
var typescript_prefer_readonly_property_default =
|
|
7550
|
+
var typescript_prefer_readonly_property_default = rule109;
|
|
7004
7551
|
|
|
7005
7552
|
// dist/rules/typescript-prefer-readonly-record.js
|
|
7006
7553
|
var selector21 = "TSTypeReference > Identifier[name='Record']";
|
|
@@ -7012,7 +7559,7 @@ var isReadonlyWrappedRecord = (typeReference) => {
|
|
|
7012
7559
|
const maybeReadonlyTypeReference = parent.parent;
|
|
7013
7560
|
return maybeReadonlyTypeReference?.type === "TSTypeReference" && maybeReadonlyTypeReference.typeName.type === "Identifier" && maybeReadonlyTypeReference.typeName.name === "Readonly";
|
|
7014
7561
|
};
|
|
7015
|
-
var
|
|
7562
|
+
var rule110 = ruleCreator({
|
|
7016
7563
|
create: (context) => ({
|
|
7017
7564
|
[selector21]: (node) => {
|
|
7018
7565
|
if (node.type !== "Identifier") {
|
|
@@ -7051,11 +7598,11 @@ var rule107 = ruleCreator({
|
|
|
7051
7598
|
},
|
|
7052
7599
|
name: "typescript/prefer-readonly-record"
|
|
7053
7600
|
});
|
|
7054
|
-
var typescript_prefer_readonly_record_default =
|
|
7601
|
+
var typescript_prefer_readonly_record_default = rule110;
|
|
7055
7602
|
|
|
7056
7603
|
// dist/rules/typescript-prefer-readonly-set.js
|
|
7057
7604
|
var selector22 = "TSTypeReference > Identifier[name='Set']";
|
|
7058
|
-
var
|
|
7605
|
+
var rule111 = ruleCreator({
|
|
7059
7606
|
create: (context) => ({
|
|
7060
7607
|
[selector22]: (node) => {
|
|
7061
7608
|
if (node.type !== "Identifier") {
|
|
@@ -7087,12 +7634,12 @@ var rule108 = ruleCreator({
|
|
|
7087
7634
|
},
|
|
7088
7635
|
name: "typescript/prefer-readonly-set"
|
|
7089
7636
|
});
|
|
7090
|
-
var typescript_prefer_readonly_set_default =
|
|
7637
|
+
var typescript_prefer_readonly_set_default = rule111;
|
|
7091
7638
|
|
|
7092
7639
|
// dist/rules/typescript-require-prop-type-annotation.js
|
|
7093
|
-
var
|
|
7640
|
+
var import_ts_extras66 = require("ts-extras");
|
|
7094
7641
|
var selector23 = "PropertyDefinition[typeAnnotation=undefined][value=null]";
|
|
7095
|
-
var
|
|
7642
|
+
var rule112 = ruleCreator({
|
|
7096
7643
|
create: (context) => ({
|
|
7097
7644
|
[selector23]: (node) => {
|
|
7098
7645
|
if (node.type !== "PropertyDefinition") {
|
|
@@ -7103,7 +7650,7 @@ var rule109 = ruleCreator({
|
|
|
7103
7650
|
context.report({
|
|
7104
7651
|
messageId: "forbidden",
|
|
7105
7652
|
node,
|
|
7106
|
-
...(0,
|
|
7653
|
+
...(0, import_ts_extras66.isDefined)(fix) ? {
|
|
7107
7654
|
fix,
|
|
7108
7655
|
suggest: [
|
|
7109
7656
|
{
|
|
@@ -7135,7 +7682,7 @@ var rule109 = ruleCreator({
|
|
|
7135
7682
|
},
|
|
7136
7683
|
name: "typescript/require-prop-type-annotation"
|
|
7137
7684
|
});
|
|
7138
|
-
var typescript_require_prop_type_annotation_default =
|
|
7685
|
+
var typescript_require_prop_type_annotation_default = rule112;
|
|
7139
7686
|
|
|
7140
7687
|
// dist/rules/typescript-require-readonly-array-property-type.js
|
|
7141
7688
|
var isArrayTypeReference2 = (node) => node.typeName.type === "Identifier" && node.typeName.name === "Array";
|
|
@@ -7171,7 +7718,7 @@ var isTopLevelPropertySignature = (node) => {
|
|
|
7171
7718
|
const maybeTypeAliasDeclaration = parent.parent;
|
|
7172
7719
|
return maybeTypeAliasDeclaration?.type === "TSTypeAliasDeclaration";
|
|
7173
7720
|
};
|
|
7174
|
-
var
|
|
7721
|
+
var rule113 = ruleCreator({
|
|
7175
7722
|
create: (context) => {
|
|
7176
7723
|
const sourceCode = context.sourceCode;
|
|
7177
7724
|
return {
|
|
@@ -7221,7 +7768,7 @@ var rule110 = ruleCreator({
|
|
|
7221
7768
|
},
|
|
7222
7769
|
name: "typescript/require-readonly-array-property-type"
|
|
7223
7770
|
});
|
|
7224
|
-
var typescript_require_readonly_array_property_type_default =
|
|
7771
|
+
var typescript_require_readonly_array_property_type_default = rule113;
|
|
7225
7772
|
|
|
7226
7773
|
// dist/rules/typescript-require-readonly-array-return-type.js
|
|
7227
7774
|
var functionLikeNodeSelector3 = ":matches(ArrowFunctionExpression, FunctionDeclaration, FunctionExpression, TSCallSignatureDeclaration, TSConstructSignatureDeclaration, TSConstructorType, TSDeclareFunction, TSEmptyBodyFunctionExpression, TSFunctionType, TSMethodSignature)";
|
|
@@ -7253,7 +7800,7 @@ var buildReadonlyArrayLikeFix3 = (node, sourceCode) => {
|
|
|
7253
7800
|
}
|
|
7254
7801
|
return (fixer) => fixer.replaceText(node, `readonly ${sourceCode.getText(node)}`);
|
|
7255
7802
|
};
|
|
7256
|
-
var
|
|
7803
|
+
var rule114 = ruleCreator({
|
|
7257
7804
|
create: (context) => {
|
|
7258
7805
|
const sourceCode = context.sourceCode;
|
|
7259
7806
|
return {
|
|
@@ -7300,7 +7847,7 @@ var rule111 = ruleCreator({
|
|
|
7300
7847
|
},
|
|
7301
7848
|
name: "typescript/require-readonly-array-return-type"
|
|
7302
7849
|
});
|
|
7303
|
-
var typescript_require_readonly_array_return_type_default =
|
|
7850
|
+
var typescript_require_readonly_array_return_type_default = rule114;
|
|
7304
7851
|
|
|
7305
7852
|
// dist/rules/typescript-require-readonly-array-type-alias.js
|
|
7306
7853
|
var isArrayTypeReference4 = (node) => node.typeName.type === "Identifier" && node.typeName.name === "Array";
|
|
@@ -7325,7 +7872,7 @@ var buildReadonlyArrayLikeFix4 = (node, sourceCode) => {
|
|
|
7325
7872
|
}
|
|
7326
7873
|
return (fixer) => fixer.replaceText(node, `readonly ${sourceCode.getText(node)}`);
|
|
7327
7874
|
};
|
|
7328
|
-
var
|
|
7875
|
+
var rule115 = ruleCreator({
|
|
7329
7876
|
create: (context) => {
|
|
7330
7877
|
const sourceCode = context.sourceCode;
|
|
7331
7878
|
return {
|
|
@@ -7368,7 +7915,7 @@ var rule112 = ruleCreator({
|
|
|
7368
7915
|
},
|
|
7369
7916
|
name: "typescript/require-readonly-array-type-alias"
|
|
7370
7917
|
});
|
|
7371
|
-
var typescript_require_readonly_array_type_alias_default =
|
|
7918
|
+
var typescript_require_readonly_array_type_alias_default = rule115;
|
|
7372
7919
|
|
|
7373
7920
|
// dist/rules/typescript-require-readonly-map-parameter-type.js
|
|
7374
7921
|
var functionLikeNodeSelector4 = ":matches(ArrowFunctionExpression, FunctionDeclaration, FunctionExpression, TSCallSignatureDeclaration, TSConstructSignatureDeclaration, TSConstructorType, TSDeclareFunction, TSEmptyBodyFunctionExpression, TSFunctionType, TSMethodSignature)";
|
|
@@ -7411,7 +7958,7 @@ var collectMutableMapTypeNodes = (typeNode) => {
|
|
|
7411
7958
|
return [typeNode.typeName];
|
|
7412
7959
|
};
|
|
7413
7960
|
var buildReadonlyMapFix = (node) => (fixer) => fixer.replaceText(node, "ReadonlyMap");
|
|
7414
|
-
var
|
|
7961
|
+
var rule116 = ruleCreator({
|
|
7415
7962
|
create: (context) => ({
|
|
7416
7963
|
[functionLikeNodeSelector4]: (node) => {
|
|
7417
7964
|
const parameters = getParametersFromFunctionLikeNode3(node);
|
|
@@ -7461,7 +8008,7 @@ var rule113 = ruleCreator({
|
|
|
7461
8008
|
},
|
|
7462
8009
|
name: "typescript/require-readonly-map-parameter-type"
|
|
7463
8010
|
});
|
|
7464
|
-
var typescript_require_readonly_map_parameter_type_default =
|
|
8011
|
+
var typescript_require_readonly_map_parameter_type_default = rule116;
|
|
7465
8012
|
|
|
7466
8013
|
// dist/rules/typescript-require-readonly-map-property-type.js
|
|
7467
8014
|
var isMapTypeReference2 = (node) => node.typeName.type === "Identifier" && node.typeName.name === "Map";
|
|
@@ -7486,7 +8033,7 @@ var isTopLevelPropertySignature2 = (node) => {
|
|
|
7486
8033
|
const maybeTypeAliasDeclaration = parent.parent;
|
|
7487
8034
|
return maybeTypeAliasDeclaration?.type === "TSTypeAliasDeclaration";
|
|
7488
8035
|
};
|
|
7489
|
-
var
|
|
8036
|
+
var rule117 = ruleCreator({
|
|
7490
8037
|
create: (context) => ({
|
|
7491
8038
|
"TSPropertySignature[typeAnnotation!=null]": (node) => {
|
|
7492
8039
|
if (!isTopLevelPropertySignature2(node)) {
|
|
@@ -7533,7 +8080,7 @@ var rule114 = ruleCreator({
|
|
|
7533
8080
|
},
|
|
7534
8081
|
name: "typescript/require-readonly-map-property-type"
|
|
7535
8082
|
});
|
|
7536
|
-
var typescript_require_readonly_map_property_type_default =
|
|
8083
|
+
var typescript_require_readonly_map_property_type_default = rule117;
|
|
7537
8084
|
|
|
7538
8085
|
// dist/rules/typescript-require-readonly-map-return-type.js
|
|
7539
8086
|
var functionLikeNodeSelector5 = ":matches(ArrowFunctionExpression, FunctionDeclaration, FunctionExpression, TSCallSignatureDeclaration, TSConstructSignatureDeclaration, TSConstructorType, TSDeclareFunction, TSEmptyBodyFunctionExpression, TSFunctionType, TSMethodSignature)";
|
|
@@ -7554,7 +8101,7 @@ var collectMutableMapTypeNodes3 = (typeNode) => {
|
|
|
7554
8101
|
return [typeNode.typeName];
|
|
7555
8102
|
};
|
|
7556
8103
|
var buildReadonlyMapFix3 = (node) => (fixer) => fixer.replaceText(node, "ReadonlyMap");
|
|
7557
|
-
var
|
|
8104
|
+
var rule118 = ruleCreator({
|
|
7558
8105
|
create: (context) => ({
|
|
7559
8106
|
[functionLikeNodeSelector5]: (node) => {
|
|
7560
8107
|
const returnTypeAnnotation = getReturnTypeAnnotationFromFunctionLikeNode2(node);
|
|
@@ -7598,7 +8145,7 @@ var rule115 = ruleCreator({
|
|
|
7598
8145
|
},
|
|
7599
8146
|
name: "typescript/require-readonly-map-return-type"
|
|
7600
8147
|
});
|
|
7601
|
-
var typescript_require_readonly_map_return_type_default =
|
|
8148
|
+
var typescript_require_readonly_map_return_type_default = rule118;
|
|
7602
8149
|
|
|
7603
8150
|
// dist/rules/typescript-require-readonly-map-type-alias.js
|
|
7604
8151
|
var isMapTypeReference4 = (node) => node.typeName.type === "Identifier" && node.typeName.name === "Map";
|
|
@@ -7612,7 +8159,7 @@ var collectMutableMapTypeNodes4 = (typeNode) => {
|
|
|
7612
8159
|
return [typeNode.typeName];
|
|
7613
8160
|
};
|
|
7614
8161
|
var buildReadonlyMapFix4 = (node) => (fixer) => fixer.replaceText(node, "ReadonlyMap");
|
|
7615
|
-
var
|
|
8162
|
+
var rule119 = ruleCreator({
|
|
7616
8163
|
create: (context) => ({
|
|
7617
8164
|
TSTypeAliasDeclaration: (node) => {
|
|
7618
8165
|
const mutableMapTypeNodes = collectMutableMapTypeNodes4(node.typeAnnotation);
|
|
@@ -7652,7 +8199,7 @@ var rule116 = ruleCreator({
|
|
|
7652
8199
|
},
|
|
7653
8200
|
name: "typescript/require-readonly-map-type-alias"
|
|
7654
8201
|
});
|
|
7655
|
-
var typescript_require_readonly_map_type_alias_default =
|
|
8202
|
+
var typescript_require_readonly_map_type_alias_default = rule119;
|
|
7656
8203
|
|
|
7657
8204
|
// dist/rules/typescript-require-readonly-record-parameter-type.js
|
|
7658
8205
|
var functionLikeNodeSelector6 = ":matches(ArrowFunctionExpression, FunctionDeclaration, FunctionExpression, TSCallSignatureDeclaration, TSConstructSignatureDeclaration, TSConstructorType, TSDeclareFunction, TSEmptyBodyFunctionExpression, TSFunctionType, TSMethodSignature)";
|
|
@@ -7706,7 +8253,7 @@ var buildReadonlyRecordFix = (node) => (fixer) => [
|
|
|
7706
8253
|
fixer.replaceText(node.typeName, "Readonly<Record"),
|
|
7707
8254
|
fixer.insertTextAfter(node, ">")
|
|
7708
8255
|
];
|
|
7709
|
-
var
|
|
8256
|
+
var rule120 = ruleCreator({
|
|
7710
8257
|
create: (context) => ({
|
|
7711
8258
|
[functionLikeNodeSelector6]: (node) => {
|
|
7712
8259
|
const parameters = getParametersFromFunctionLikeNode4(node);
|
|
@@ -7756,7 +8303,7 @@ var rule117 = ruleCreator({
|
|
|
7756
8303
|
},
|
|
7757
8304
|
name: "typescript/require-readonly-record-parameter-type"
|
|
7758
8305
|
});
|
|
7759
|
-
var typescript_require_readonly_record_parameter_type_default =
|
|
8306
|
+
var typescript_require_readonly_record_parameter_type_default = rule120;
|
|
7760
8307
|
|
|
7761
8308
|
// dist/rules/typescript-require-readonly-record-property-type.js
|
|
7762
8309
|
var isRecordTypeReference2 = (typeNode) => typeNode.type === "TSTypeReference" && typeNode.typeName.type === "Identifier" && typeNode.typeName.name === "Record";
|
|
@@ -7792,7 +8339,7 @@ var isTopLevelPropertySignature3 = (node) => {
|
|
|
7792
8339
|
const maybeTypeAliasDeclaration = parent.parent;
|
|
7793
8340
|
return maybeTypeAliasDeclaration?.type === "TSTypeAliasDeclaration";
|
|
7794
8341
|
};
|
|
7795
|
-
var
|
|
8342
|
+
var rule121 = ruleCreator({
|
|
7796
8343
|
create: (context) => ({
|
|
7797
8344
|
"TSPropertySignature[typeAnnotation!=null]": (node) => {
|
|
7798
8345
|
if (!isTopLevelPropertySignature3(node)) {
|
|
@@ -7839,7 +8386,7 @@ var rule118 = ruleCreator({
|
|
|
7839
8386
|
},
|
|
7840
8387
|
name: "typescript/require-readonly-record-property-type"
|
|
7841
8388
|
});
|
|
7842
|
-
var typescript_require_readonly_record_property_type_default =
|
|
8389
|
+
var typescript_require_readonly_record_property_type_default = rule121;
|
|
7843
8390
|
|
|
7844
8391
|
// dist/rules/typescript-require-readonly-record-return-type.js
|
|
7845
8392
|
var functionLikeNodeSelector7 = ":matches(ArrowFunctionExpression, FunctionDeclaration, FunctionExpression, TSCallSignatureDeclaration, TSConstructSignatureDeclaration, TSConstructorType, TSDeclareFunction, TSEmptyBodyFunctionExpression, TSFunctionType, TSMethodSignature)";
|
|
@@ -7871,7 +8418,7 @@ var buildReadonlyRecordFix3 = (node) => (fixer) => [
|
|
|
7871
8418
|
fixer.replaceText(node.typeName, "Readonly<Record"),
|
|
7872
8419
|
fixer.insertTextAfter(node, ">")
|
|
7873
8420
|
];
|
|
7874
|
-
var
|
|
8421
|
+
var rule122 = ruleCreator({
|
|
7875
8422
|
create: (context) => ({
|
|
7876
8423
|
[functionLikeNodeSelector7]: (node) => {
|
|
7877
8424
|
const returnTypeAnnotation = getReturnTypeAnnotationFromFunctionLikeNode3(node);
|
|
@@ -7915,7 +8462,7 @@ var rule119 = ruleCreator({
|
|
|
7915
8462
|
},
|
|
7916
8463
|
name: "typescript/require-readonly-record-return-type"
|
|
7917
8464
|
});
|
|
7918
|
-
var typescript_require_readonly_record_return_type_default =
|
|
8465
|
+
var typescript_require_readonly_record_return_type_default = rule122;
|
|
7919
8466
|
|
|
7920
8467
|
// dist/rules/typescript-require-readonly-record-type-alias.js
|
|
7921
8468
|
var isRecordTypeReference4 = (typeNode) => typeNode.type === "TSTypeReference" && typeNode.typeName.type === "Identifier" && typeNode.typeName.name === "Record";
|
|
@@ -7940,7 +8487,7 @@ var buildReadonlyRecordFix4 = (node) => (fixer) => [
|
|
|
7940
8487
|
fixer.replaceText(node.typeName, "Readonly<Record"),
|
|
7941
8488
|
fixer.insertTextAfter(node, ">")
|
|
7942
8489
|
];
|
|
7943
|
-
var
|
|
8490
|
+
var rule123 = ruleCreator({
|
|
7944
8491
|
create: (context) => ({
|
|
7945
8492
|
TSTypeAliasDeclaration: (node) => {
|
|
7946
8493
|
const mutableRecordTypeNodes = collectMutableRecordTypeNodes4(node.typeAnnotation);
|
|
@@ -7980,7 +8527,7 @@ var rule120 = ruleCreator({
|
|
|
7980
8527
|
},
|
|
7981
8528
|
name: "typescript/require-readonly-record-type-alias"
|
|
7982
8529
|
});
|
|
7983
|
-
var typescript_require_readonly_record_type_alias_default =
|
|
8530
|
+
var typescript_require_readonly_record_type_alias_default = rule123;
|
|
7984
8531
|
|
|
7985
8532
|
// dist/rules/typescript-require-readonly-set-parameter-type.js
|
|
7986
8533
|
var functionLikeNodeSelector8 = ":matches(ArrowFunctionExpression, FunctionDeclaration, FunctionExpression, TSCallSignatureDeclaration, TSConstructSignatureDeclaration, TSConstructorType, TSDeclareFunction, TSEmptyBodyFunctionExpression, TSFunctionType, TSMethodSignature)";
|
|
@@ -8023,7 +8570,7 @@ var collectMutableSetTypeNodes = (typeNode) => {
|
|
|
8023
8570
|
return [typeNode.typeName];
|
|
8024
8571
|
};
|
|
8025
8572
|
var buildReadonlySetFix = (node) => (fixer) => fixer.replaceText(node, "ReadonlySet");
|
|
8026
|
-
var
|
|
8573
|
+
var rule124 = ruleCreator({
|
|
8027
8574
|
create: (context) => ({
|
|
8028
8575
|
[functionLikeNodeSelector8]: (node) => {
|
|
8029
8576
|
const parameters = getParametersFromFunctionLikeNode5(node);
|
|
@@ -8073,7 +8620,7 @@ var rule121 = ruleCreator({
|
|
|
8073
8620
|
},
|
|
8074
8621
|
name: "typescript/require-readonly-set-parameter-type"
|
|
8075
8622
|
});
|
|
8076
|
-
var typescript_require_readonly_set_parameter_type_default =
|
|
8623
|
+
var typescript_require_readonly_set_parameter_type_default = rule124;
|
|
8077
8624
|
|
|
8078
8625
|
// dist/rules/typescript-require-readonly-set-property-type.js
|
|
8079
8626
|
var isSetTypeReference2 = (node) => node.typeName.type === "Identifier" && node.typeName.name === "Set";
|
|
@@ -8098,7 +8645,7 @@ var isTopLevelPropertySignature4 = (node) => {
|
|
|
8098
8645
|
const maybeTypeAliasDeclaration = parent.parent;
|
|
8099
8646
|
return maybeTypeAliasDeclaration?.type === "TSTypeAliasDeclaration";
|
|
8100
8647
|
};
|
|
8101
|
-
var
|
|
8648
|
+
var rule125 = ruleCreator({
|
|
8102
8649
|
create: (context) => ({
|
|
8103
8650
|
"TSPropertySignature[typeAnnotation!=null]": (node) => {
|
|
8104
8651
|
if (!isTopLevelPropertySignature4(node)) {
|
|
@@ -8145,7 +8692,7 @@ var rule122 = ruleCreator({
|
|
|
8145
8692
|
},
|
|
8146
8693
|
name: "typescript/require-readonly-set-property-type"
|
|
8147
8694
|
});
|
|
8148
|
-
var typescript_require_readonly_set_property_type_default =
|
|
8695
|
+
var typescript_require_readonly_set_property_type_default = rule125;
|
|
8149
8696
|
|
|
8150
8697
|
// dist/rules/typescript-require-readonly-set-return-type.js
|
|
8151
8698
|
var functionLikeNodeSelector9 = ":matches(ArrowFunctionExpression, FunctionDeclaration, FunctionExpression, TSCallSignatureDeclaration, TSConstructSignatureDeclaration, TSConstructorType, TSDeclareFunction, TSEmptyBodyFunctionExpression, TSFunctionType, TSMethodSignature)";
|
|
@@ -8166,7 +8713,7 @@ var collectMutableSetTypeNodes3 = (typeNode) => {
|
|
|
8166
8713
|
return [typeNode.typeName];
|
|
8167
8714
|
};
|
|
8168
8715
|
var buildReadonlySetFix3 = (node) => (fixer) => fixer.replaceText(node, "ReadonlySet");
|
|
8169
|
-
var
|
|
8716
|
+
var rule126 = ruleCreator({
|
|
8170
8717
|
create: (context) => ({
|
|
8171
8718
|
[functionLikeNodeSelector9]: (node) => {
|
|
8172
8719
|
const returnTypeAnnotation = getReturnTypeAnnotationFromFunctionLikeNode4(node);
|
|
@@ -8210,7 +8757,7 @@ var rule123 = ruleCreator({
|
|
|
8210
8757
|
},
|
|
8211
8758
|
name: "typescript/require-readonly-set-return-type"
|
|
8212
8759
|
});
|
|
8213
|
-
var typescript_require_readonly_set_return_type_default =
|
|
8760
|
+
var typescript_require_readonly_set_return_type_default = rule126;
|
|
8214
8761
|
|
|
8215
8762
|
// dist/rules/typescript-require-readonly-set-type-alias.js
|
|
8216
8763
|
var isSetTypeReference4 = (node) => node.typeName.type === "Identifier" && node.typeName.name === "Set";
|
|
@@ -8224,7 +8771,7 @@ var collectMutableSetTypeNodes4 = (typeNode) => {
|
|
|
8224
8771
|
return [typeNode.typeName];
|
|
8225
8772
|
};
|
|
8226
8773
|
var buildReadonlySetFix4 = (node) => (fixer) => fixer.replaceText(node, "ReadonlySet");
|
|
8227
|
-
var
|
|
8774
|
+
var rule127 = ruleCreator({
|
|
8228
8775
|
create: (context) => ({
|
|
8229
8776
|
TSTypeAliasDeclaration: (node) => {
|
|
8230
8777
|
const mutableSetTypeNodes = collectMutableSetTypeNodes4(node.typeAnnotation);
|
|
@@ -8264,13 +8811,13 @@ var rule124 = ruleCreator({
|
|
|
8264
8811
|
},
|
|
8265
8812
|
name: "typescript/require-readonly-set-type-alias"
|
|
8266
8813
|
});
|
|
8267
|
-
var typescript_require_readonly_set_type_alias_default =
|
|
8814
|
+
var typescript_require_readonly_set_type_alias_default = rule127;
|
|
8268
8815
|
|
|
8269
8816
|
// dist/rules/typescript-require-this-void.js
|
|
8270
|
-
var
|
|
8817
|
+
var import_ts_extras67 = require("ts-extras");
|
|
8271
8818
|
var selector24 = "MethodDefinition[static=true] > FunctionExpression:not([params.0.name='this'][params.0.typeAnnotation.typeAnnotation.type='TSVoidKeyword'])";
|
|
8272
8819
|
var createThisVoidSuggestionFix = (sourceCode, functionExpression) => {
|
|
8273
|
-
const firstParameter = (0,
|
|
8820
|
+
const firstParameter = (0, import_ts_extras67.arrayFirst)(functionExpression.params);
|
|
8274
8821
|
if (firstParameter?.type === "Identifier" && firstParameter.name === "this") {
|
|
8275
8822
|
const existingTypeAnnotation = firstParameter.typeAnnotation;
|
|
8276
8823
|
if (existingTypeAnnotation === void 0) {
|
|
@@ -8284,7 +8831,7 @@ var createThisVoidSuggestionFix = (sourceCode, functionExpression) => {
|
|
|
8284
8831
|
}
|
|
8285
8832
|
return (fixer) => fixer.insertTextAfter(openingParenthesisToken, firstParameter === void 0 ? "this: void" : "this: void, ");
|
|
8286
8833
|
};
|
|
8287
|
-
var
|
|
8834
|
+
var rule128 = ruleCreator({
|
|
8288
8835
|
create: (context) => {
|
|
8289
8836
|
const sourceCode = context.sourceCode;
|
|
8290
8837
|
return {
|
|
@@ -8329,13 +8876,13 @@ var rule125 = ruleCreator({
|
|
|
8329
8876
|
},
|
|
8330
8877
|
name: "typescript/require-this-void"
|
|
8331
8878
|
});
|
|
8332
|
-
var typescript_require_this_void_default =
|
|
8879
|
+
var typescript_require_this_void_default = rule128;
|
|
8333
8880
|
|
|
8334
8881
|
// dist/rules/underscore-internal.js
|
|
8335
8882
|
var internalTagPattern = /@internal\b/u;
|
|
8336
8883
|
var isNonUnderscoreIdentifier = (identifier) => !identifier.name.startsWith("_");
|
|
8337
8884
|
var isExportDeclaration = (node) => node?.type === "ExportDefaultDeclaration" || node?.type === "ExportNamedDeclaration";
|
|
8338
|
-
var
|
|
8885
|
+
var rule129 = ruleCreator({
|
|
8339
8886
|
create: (context) => {
|
|
8340
8887
|
const hasInternalTag = (node) => {
|
|
8341
8888
|
let commentTargets = [node];
|
|
@@ -8438,12 +8985,12 @@ var rule126 = ruleCreator({
|
|
|
8438
8985
|
},
|
|
8439
8986
|
name: "underscore-internal"
|
|
8440
8987
|
});
|
|
8441
|
-
var underscore_internal_default =
|
|
8988
|
+
var underscore_internal_default = rule129;
|
|
8442
8989
|
|
|
8443
8990
|
// dist/rules/unused-internal-properties.js
|
|
8444
8991
|
var import_eslint_plugin_unicorn3 = __toESM(require("eslint-plugin-unicorn"), 1);
|
|
8445
|
-
var
|
|
8446
|
-
var deprecatedRule27 = withDeprecatedRuleLifecycle(
|
|
8992
|
+
var rule130 = adaptExternalRule(getExternalRuleFromPlugin(import_eslint_plugin_unicorn3.default, "no-unused-properties", "eslint-plugin-unicorn"), "https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/unused-internal-properties");
|
|
8993
|
+
var deprecatedRule27 = withDeprecatedRuleLifecycle(rule130, {
|
|
8447
8994
|
message: "Deprecated in favor of unicorn/no-unused-properties.",
|
|
8448
8995
|
replacedBy: [
|
|
8449
8996
|
createReplacementRuleInfo({
|
|
@@ -8463,8 +9010,8 @@ var unused_internal_properties_default = deprecatedRule27;
|
|
|
8463
9010
|
|
|
8464
9011
|
// dist/rules/uppercase-iife.js
|
|
8465
9012
|
var import_eslint_plugin_unicorn4 = __toESM(require("eslint-plugin-unicorn"), 1);
|
|
8466
|
-
var
|
|
8467
|
-
var deprecatedRule28 = withDeprecatedRuleLifecycle(
|
|
9013
|
+
var rule131 = adaptExternalRule(getExternalRuleFromPlugin(import_eslint_plugin_unicorn4.default, "no-unreadable-iife", "eslint-plugin-unicorn"), "https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/uppercase-iife");
|
|
9014
|
+
var deprecatedRule28 = withDeprecatedRuleLifecycle(rule131, {
|
|
8468
9015
|
message: "Deprecated in favor of unicorn/no-unreadable-iife.",
|
|
8469
9016
|
replacedBy: [
|
|
8470
9017
|
createReplacementRuleInfo({
|
|
@@ -8484,8 +9031,8 @@ var uppercase_iife_default = deprecatedRule28;
|
|
|
8484
9031
|
|
|
8485
9032
|
// dist/rules/words.js
|
|
8486
9033
|
var import_eslint_plugin_write_good_comments_2 = __toESM(require("eslint-plugin-write-good-comments-2"), 1);
|
|
8487
|
-
var
|
|
8488
|
-
var deprecatedRule29 = withDeprecatedRuleLifecycle(
|
|
9034
|
+
var rule132 = adaptExternalRule(getExternalRuleFromPlugin(import_eslint_plugin_write_good_comments_2.default, "write-good-comments", "eslint-plugin-write-good-comments-2"), "https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/words");
|
|
9035
|
+
var deprecatedRule29 = withDeprecatedRuleLifecycle(rule132, {
|
|
8489
9036
|
message: "Deprecated in favor of write-good-comments/write-good-comments.",
|
|
8490
9037
|
replacedBy: [
|
|
8491
9038
|
createReplacementRuleInfo({
|
|
@@ -8521,6 +9068,7 @@ var recommendedRuleNames = /* @__PURE__ */ new Set([
|
|
|
8521
9068
|
"consistent-optional-props",
|
|
8522
9069
|
"no-assign-mutated-array",
|
|
8523
9070
|
"no-const-enum",
|
|
9071
|
+
"no-function-declare-after-return",
|
|
8524
9072
|
"no-implicit-any-catch",
|
|
8525
9073
|
"no-internal",
|
|
8526
9074
|
"no-t",
|
|
@@ -8528,6 +9076,7 @@ var recommendedRuleNames = /* @__PURE__ */ new Set([
|
|
|
8528
9076
|
"no-unnecessary-break",
|
|
8529
9077
|
"no-unnecessary-initialization",
|
|
8530
9078
|
"no-unnecessary-template-literal",
|
|
9079
|
+
"no-vulnerable",
|
|
8531
9080
|
"throw-error",
|
|
8532
9081
|
"typescript/no-boolean-literal-type",
|
|
8533
9082
|
"typescript/prefer-readonly-array",
|
|
@@ -8566,6 +9115,7 @@ var baseRules = {
|
|
|
8566
9115
|
"no-enum": no_enum_default,
|
|
8567
9116
|
"no-expression-empty-lines": no_expression_empty_lines_default,
|
|
8568
9117
|
"no-foreach": no_foreach_default,
|
|
9118
|
+
"no-function-declare-after-return": no_function_declare_after_return_default,
|
|
8569
9119
|
"no-implicit-any-catch": no_implicit_any_catch_default,
|
|
8570
9120
|
"no-index-import": no_index_import_default,
|
|
8571
9121
|
"no-internal": no_internal_default,
|
|
@@ -8590,8 +9140,10 @@ var baseRules = {
|
|
|
8590
9140
|
"no-unnecessary-initialization": no_unnecessary_initialization_default,
|
|
8591
9141
|
"no-unnecessary-template-literal": no_unnecessary_template_literal_default,
|
|
8592
9142
|
"no-unused-disable": no_unused_disable_default,
|
|
9143
|
+
"no-use-extend-native": no_use_extend_native_default,
|
|
8593
9144
|
"no-useless-generics": no_useless_generics_default,
|
|
8594
9145
|
"no-value-tostring": no_value_tostring_default,
|
|
9146
|
+
"no-vulnerable": no_vulnerable_default,
|
|
8595
9147
|
"no-writeonly": no_writeonly_default,
|
|
8596
9148
|
"object-format": object_format_default,
|
|
8597
9149
|
"only-export-name": only_export_name_default,
|
|
@@ -8672,7 +9224,7 @@ var baseRules = {
|
|
|
8672
9224
|
"uppercase-iife": uppercase_iife_default,
|
|
8673
9225
|
words: words_default
|
|
8674
9226
|
};
|
|
8675
|
-
var ruleCatalog = buildRuleCatalog((0,
|
|
9227
|
+
var ruleCatalog = buildRuleCatalog((0, import_ts_extras68.objectKeys)(baseRules));
|
|
8676
9228
|
var ruleCatalogEntries = ruleCatalog.ordered;
|
|
8677
9229
|
var ruleCatalogByRuleName = ruleCatalog.byRuleName;
|
|
8678
9230
|
var ruleCatalogByDocId = ruleCatalog.byDocId;
|
|
@@ -8681,8 +9233,8 @@ var withCatalogDocsMetadata = (ruleName, ruleModule) => {
|
|
|
8681
9233
|
if (!catalogEntry) {
|
|
8682
9234
|
throw new Error(`Missing rule catalog entry for rule "${ruleName}".`);
|
|
8683
9235
|
}
|
|
8684
|
-
const currentDocsMetadata = (0,
|
|
8685
|
-
const hasRequiredTypeChecking = (0,
|
|
9236
|
+
const currentDocsMetadata = (0, import_ts_extras68.safeCastTo)(ruleModule.meta.docs ?? {});
|
|
9237
|
+
const hasRequiredTypeChecking = (0, import_ts_extras68.setHas)(rulesWithRequiredTypeChecking, ruleName);
|
|
8686
9238
|
const deprecatedMetadata = ruleModule.meta.deprecated ?? false;
|
|
8687
9239
|
const isDeprecatedRule = deprecatedMetadata !== false;
|
|
8688
9240
|
const docsWithCatalogMetadata = {
|
|
@@ -8691,7 +9243,7 @@ var withCatalogDocsMetadata = (ruleName, ruleModule) => {
|
|
|
8691
9243
|
catalogIndex: catalogEntry.catalogIndex,
|
|
8692
9244
|
deprecated: currentDocsMetadata.deprecated ?? isDeprecatedRule,
|
|
8693
9245
|
frozen: currentDocsMetadata.frozen ?? currentDocsMetadata.deprecated ?? isDeprecatedRule,
|
|
8694
|
-
recommended: (0,
|
|
9246
|
+
recommended: (0, import_ts_extras68.setHas)(recommendedRuleNames, ruleName),
|
|
8695
9247
|
requiresTypeChecking: currentDocsMetadata.requiresTypeChecking ?? hasRequiredTypeChecking,
|
|
8696
9248
|
ruleName
|
|
8697
9249
|
};
|
|
@@ -8704,7 +9256,7 @@ var withCatalogDocsMetadata = (ruleName, ruleModule) => {
|
|
|
8704
9256
|
}
|
|
8705
9257
|
};
|
|
8706
9258
|
};
|
|
8707
|
-
var decoratedRuleEntries = (0,
|
|
9259
|
+
var decoratedRuleEntries = (0, import_ts_extras68.objectEntries)(baseRules).map(([ruleName, ruleModule]) => [ruleName, withCatalogDocsMetadata(ruleName, ruleModule)]);
|
|
8708
9260
|
var decoratedRulesAccumulator = {};
|
|
8709
9261
|
for (const [ruleName, ruleModule] of decoratedRuleEntries) {
|
|
8710
9262
|
decoratedRulesAccumulator = {
|
|
@@ -8716,35 +9268,39 @@ var decoratedRules = decoratedRulesAccumulator;
|
|
|
8716
9268
|
var rules = Object.freeze(decoratedRules);
|
|
8717
9269
|
|
|
8718
9270
|
// dist/configs/all-strict.js
|
|
8719
|
-
var allStrictRuleEntries = (0,
|
|
9271
|
+
var allStrictRuleEntries = (0, import_ts_extras69.objectEntries)(rules).map(([ruleName, ruleModule]) => [
|
|
8720
9272
|
`etc-misc/${ruleName}`,
|
|
8721
9273
|
ruleModule.meta.deprecated === false ? "error" : "warn"
|
|
8722
9274
|
]);
|
|
8723
|
-
var allStrictRules = (0,
|
|
9275
|
+
var allStrictRules = (0, import_ts_extras69.objectFromEntries)(allStrictRuleEntries);
|
|
8724
9276
|
var allStrict = {
|
|
9277
|
+
name: "etc-misc/all-strict",
|
|
8725
9278
|
rules: allStrictRules
|
|
8726
9279
|
};
|
|
8727
9280
|
|
|
8728
9281
|
// dist/configs/all.js
|
|
8729
|
-
var
|
|
9282
|
+
var import_ts_extras70 = require("ts-extras");
|
|
8730
9283
|
var getAllPresetSeverity = (ruleModule) => {
|
|
8731
9284
|
if (ruleModule.meta.deprecated !== false) {
|
|
8732
9285
|
return "warn";
|
|
8733
9286
|
}
|
|
8734
9287
|
return ruleModule.meta.type === "problem" ? "error" : "warn";
|
|
8735
9288
|
};
|
|
8736
|
-
var allRuleEntries = (0,
|
|
8737
|
-
var allRules = (0,
|
|
9289
|
+
var allRuleEntries = (0, import_ts_extras70.objectEntries)(rules).map(([ruleName, ruleModule]) => [`etc-misc/${ruleName}`, getAllPresetSeverity(ruleModule)]);
|
|
9290
|
+
var allRules = (0, import_ts_extras70.objectFromEntries)(allRuleEntries);
|
|
8738
9291
|
var all = {
|
|
9292
|
+
name: "etc-misc/all",
|
|
8739
9293
|
rules: allRules
|
|
8740
9294
|
};
|
|
8741
9295
|
|
|
8742
9296
|
// dist/configs/minimal.js
|
|
8743
9297
|
var minimal = {
|
|
9298
|
+
name: "etc-misc/minimal",
|
|
8744
9299
|
rules: {
|
|
8745
9300
|
"etc-misc/consistent-optional-props": "warn",
|
|
8746
9301
|
"etc-misc/no-assign-mutated-array": "error",
|
|
8747
9302
|
"etc-misc/no-const-enum": "warn",
|
|
9303
|
+
"etc-misc/no-function-declare-after-return": "warn",
|
|
8748
9304
|
"etc-misc/no-implicit-any-catch": "error",
|
|
8749
9305
|
"etc-misc/no-internal": "error",
|
|
8750
9306
|
"etc-misc/no-t": "error",
|
|
@@ -8752,6 +9308,7 @@ var minimal = {
|
|
|
8752
9308
|
"etc-misc/no-unnecessary-break": "warn",
|
|
8753
9309
|
"etc-misc/no-unnecessary-initialization": "warn",
|
|
8754
9310
|
"etc-misc/no-unnecessary-template-literal": "warn",
|
|
9311
|
+
"etc-misc/no-vulnerable": "error",
|
|
8755
9312
|
"etc-misc/throw-error": "error",
|
|
8756
9313
|
"etc-misc/typescript/no-boolean-literal-type": "error",
|
|
8757
9314
|
"etc-misc/typescript/require-readonly-array-return-type": "warn",
|
|
@@ -8761,10 +9318,12 @@ var minimal = {
|
|
|
8761
9318
|
|
|
8762
9319
|
// dist/configs/recommended.js
|
|
8763
9320
|
var recommended = {
|
|
9321
|
+
name: "etc-misc/recommended",
|
|
8764
9322
|
rules: {
|
|
8765
9323
|
"etc-misc/consistent-optional-props": "warn",
|
|
8766
9324
|
"etc-misc/no-assign-mutated-array": "error",
|
|
8767
9325
|
"etc-misc/no-const-enum": "warn",
|
|
9326
|
+
"etc-misc/no-function-declare-after-return": "warn",
|
|
8768
9327
|
"etc-misc/no-implicit-any-catch": "error",
|
|
8769
9328
|
"etc-misc/no-internal": "error",
|
|
8770
9329
|
"etc-misc/no-t": "error",
|
|
@@ -8772,6 +9331,7 @@ var recommended = {
|
|
|
8772
9331
|
"etc-misc/no-unnecessary-break": "warn",
|
|
8773
9332
|
"etc-misc/no-unnecessary-initialization": "warn",
|
|
8774
9333
|
"etc-misc/no-unnecessary-template-literal": "warn",
|
|
9334
|
+
"etc-misc/no-vulnerable": "error",
|
|
8775
9335
|
"etc-misc/throw-error": "error",
|
|
8776
9336
|
"etc-misc/typescript/no-boolean-literal-type": "error",
|
|
8777
9337
|
"etc-misc/typescript/prefer-readonly-array": "warn",
|
|
@@ -8787,18 +9347,19 @@ var recommended = {
|
|
|
8787
9347
|
};
|
|
8788
9348
|
|
|
8789
9349
|
// dist/configs/strict-type-checked.js
|
|
8790
|
-
var
|
|
9350
|
+
var import_ts_extras72 = require("ts-extras");
|
|
8791
9351
|
|
|
8792
9352
|
// dist/configs/strict.js
|
|
8793
|
-
var
|
|
8794
|
-
var recommendedRuleNames2 = (0,
|
|
8795
|
-
var strictRules = (0,
|
|
9353
|
+
var import_ts_extras71 = require("ts-extras");
|
|
9354
|
+
var recommendedRuleNames2 = (0, import_ts_extras71.safeCastTo)((0, import_ts_extras71.objectKeys)(recommended.rules));
|
|
9355
|
+
var strictRules = (0, import_ts_extras71.objectFromEntries)(recommendedRuleNames2.map((ruleName) => [ruleName, "error"]));
|
|
8796
9356
|
var strict = {
|
|
9357
|
+
name: "etc-misc/strict",
|
|
8797
9358
|
rules: strictRules
|
|
8798
9359
|
};
|
|
8799
9360
|
|
|
8800
9361
|
// dist/configs/strict-type-checked.js
|
|
8801
|
-
var additionalTypeCheckedRuleEntries = (0,
|
|
9362
|
+
var additionalTypeCheckedRuleEntries = (0, import_ts_extras72.objectEntries)(rules).flatMap(([ruleName, ruleModule]) => {
|
|
8802
9363
|
if (ruleModule.meta.deprecated !== false) {
|
|
8803
9364
|
return [];
|
|
8804
9365
|
}
|
|
@@ -8807,14 +9368,14 @@ var additionalTypeCheckedRuleEntries = (0, import_ts_extras69.objectEntries)(rul
|
|
|
8807
9368
|
return [];
|
|
8808
9369
|
}
|
|
8809
9370
|
const qualifiedRuleName = `etc-misc/${ruleName}`;
|
|
8810
|
-
if ((0,
|
|
9371
|
+
if ((0, import_ts_extras72.keyIn)(strict.rules, qualifiedRuleName)) {
|
|
8811
9372
|
return [];
|
|
8812
9373
|
}
|
|
8813
9374
|
return [[qualifiedRuleName, "error"]];
|
|
8814
9375
|
});
|
|
8815
9376
|
var strictTypeCheckedRules = {
|
|
8816
9377
|
...strict.rules,
|
|
8817
|
-
...(0,
|
|
9378
|
+
...(0, import_ts_extras72.objectFromEntries)(additionalTypeCheckedRuleEntries)
|
|
8818
9379
|
};
|
|
8819
9380
|
var strictTypeChecked = {
|
|
8820
9381
|
languageOptions: {
|
|
@@ -8822,6 +9383,7 @@ var strictTypeChecked = {
|
|
|
8822
9383
|
projectService: true
|
|
8823
9384
|
}
|
|
8824
9385
|
},
|
|
9386
|
+
name: "etc-misc/strict-type-checked",
|
|
8825
9387
|
rules: strictTypeCheckedRules
|
|
8826
9388
|
};
|
|
8827
9389
|
|
|
@@ -8831,6 +9393,7 @@ var pluginReference = {
|
|
|
8831
9393
|
rules
|
|
8832
9394
|
};
|
|
8833
9395
|
var withPluginReference = (config) => ({
|
|
9396
|
+
name: config.name,
|
|
8834
9397
|
plugins: {
|
|
8835
9398
|
[pluginMeta.namespace]: pluginReference
|
|
8836
9399
|
},
|