eslint 9.4.0 → 9.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/conf/ecma-version.js +1 -1
- package/conf/globals.js +6 -1
- package/lib/api.js +1 -1
- package/lib/cli.js +23 -2
- package/lib/config/default-config.js +5 -0
- package/lib/config/flat-config-array.js +71 -8
- package/lib/config/flat-config-schema.js +46 -62
- package/lib/eslint/eslint-helpers.js +32 -17
- package/lib/eslint/eslint.js +30 -12
- package/lib/eslint/legacy-eslint.js +14 -0
- package/lib/languages/js/index.js +247 -0
- package/lib/{source-code → languages/js/source-code}/source-code.js +46 -22
- package/lib/languages/js/validate-language-options.js +181 -0
- package/lib/linter/apply-disable-directives.js +8 -3
- package/lib/linter/config-comment-parser.js +3 -16
- package/lib/linter/linter.js +291 -249
- package/lib/linter/report-translator.js +14 -7
- package/lib/linter/vfile.js +104 -0
- package/lib/options.js +13 -1
- package/lib/rule-tester/rule-tester.js +5 -2
- package/lib/rules/no-sparse-arrays.js +26 -3
- package/lib/rules/no-unused-vars.js +33 -31
- package/lib/shared/flags.js +26 -0
- package/lib/shared/logging.js +10 -1
- package/lib/shared/types.js +1 -1
- package/messages/all-matched-files-ignored.js +21 -0
- package/package.json +13 -18
- /package/lib/{source-code → languages/js/source-code}/index.js +0 -0
- /package/lib/{source-code → languages/js/source-code}/token-store/backward-token-comment-cursor.js +0 -0
- /package/lib/{source-code → languages/js/source-code}/token-store/backward-token-cursor.js +0 -0
- /package/lib/{source-code → languages/js/source-code}/token-store/cursor.js +0 -0
- /package/lib/{source-code → languages/js/source-code}/token-store/cursors.js +0 -0
- /package/lib/{source-code → languages/js/source-code}/token-store/decorative-cursor.js +0 -0
- /package/lib/{source-code → languages/js/source-code}/token-store/filter-cursor.js +0 -0
- /package/lib/{source-code → languages/js/source-code}/token-store/forward-token-comment-cursor.js +0 -0
- /package/lib/{source-code → languages/js/source-code}/token-store/forward-token-cursor.js +0 -0
- /package/lib/{source-code → languages/js/source-code}/token-store/index.js +0 -0
- /package/lib/{source-code → languages/js/source-code}/token-store/limit-cursor.js +0 -0
- /package/lib/{source-code → languages/js/source-code}/token-store/padded-token-cursor.js +0 -0
- /package/lib/{source-code → languages/js/source-code}/token-store/skip-cursor.js +0 -0
- /package/lib/{source-code → languages/js/source-code}/token-store/utils.js +0 -0
@@ -240,15 +240,22 @@ function mapSuggestions(descriptor, sourceCode, messages) {
|
|
240
240
|
* @param {{start: SourceLocation, end: (SourceLocation|null)}} options.loc Start and end location
|
241
241
|
* @param {{text: string, range: (number[]|null)}} options.fix The fix object
|
242
242
|
* @param {Array<{text: string, range: (number[]|null)}>} options.suggestions The array of suggestions objects
|
243
|
+
* @param {Language} [options.language] The language to use to adjust line and column offsets.
|
243
244
|
* @returns {LintMessage} Information about the report
|
244
245
|
*/
|
245
246
|
function createProblem(options) {
|
247
|
+
const { language } = options;
|
248
|
+
|
249
|
+
// calculate offsets based on the language in use
|
250
|
+
const columnOffset = language.columnStart === 1 ? 0 : 1;
|
251
|
+
const lineOffset = language.lineStart === 1 ? 0 : 1;
|
252
|
+
|
246
253
|
const problem = {
|
247
254
|
ruleId: options.ruleId,
|
248
255
|
severity: options.severity,
|
249
256
|
message: options.message,
|
250
|
-
line: options.loc.start.line,
|
251
|
-
column: options.loc.start.column +
|
257
|
+
line: options.loc.start.line + lineOffset,
|
258
|
+
column: options.loc.start.column + columnOffset,
|
252
259
|
nodeType: options.node && options.node.type || null
|
253
260
|
};
|
254
261
|
|
@@ -261,8 +268,8 @@ function createProblem(options) {
|
|
261
268
|
}
|
262
269
|
|
263
270
|
if (options.loc.end) {
|
264
|
-
problem.endLine = options.loc.end.line;
|
265
|
-
problem.endColumn = options.loc.end.column +
|
271
|
+
problem.endLine = options.loc.end.line + lineOffset;
|
272
|
+
problem.endColumn = options.loc.end.column + columnOffset;
|
266
273
|
}
|
267
274
|
|
268
275
|
if (options.fix) {
|
@@ -313,8 +320,7 @@ function validateSuggestions(suggest, messages) {
|
|
313
320
|
/**
|
314
321
|
* Returns a function that converts the arguments of a `context.report` call from a rule into a reported
|
315
322
|
* problem for the Node.js API.
|
316
|
-
* @param {{ruleId: string, severity: number, sourceCode: SourceCode, messageIds: Object, disableFixes: boolean}} metadata Metadata for the reported problem
|
317
|
-
* @param {SourceCode} sourceCode The `SourceCode` instance for the text being linted
|
323
|
+
* @param {{ruleId: string, severity: number, sourceCode: SourceCode, messageIds: Object, disableFixes: boolean, language:Language}} metadata Metadata for the reported problem
|
318
324
|
* @returns {function(...args): LintMessage} Function that returns information about the report
|
319
325
|
*/
|
320
326
|
|
@@ -363,7 +369,8 @@ module.exports = function createReportTranslator(metadata) {
|
|
363
369
|
messageId: descriptor.messageId,
|
364
370
|
loc: normalizeReportLoc(descriptor),
|
365
371
|
fix: metadata.disableFixes ? null : normalizeFixes(descriptor, metadata.sourceCode),
|
366
|
-
suggestions: metadata.disableFixes ? [] : mapSuggestions(descriptor, metadata.sourceCode, messages)
|
372
|
+
suggestions: metadata.disableFixes ? [] : mapSuggestions(descriptor, metadata.sourceCode, messages),
|
373
|
+
language: metadata.language
|
367
374
|
});
|
368
375
|
};
|
369
376
|
};
|
@@ -0,0 +1,104 @@
|
|
1
|
+
/**
|
2
|
+
* @fileoverview Virtual file
|
3
|
+
* @author Nicholas C. Zakas
|
4
|
+
*/
|
5
|
+
|
6
|
+
"use strict";
|
7
|
+
|
8
|
+
//------------------------------------------------------------------------------
|
9
|
+
// Helpers
|
10
|
+
//------------------------------------------------------------------------------
|
11
|
+
|
12
|
+
/**
|
13
|
+
* Determines if a given value has a byte order mark (BOM).
|
14
|
+
* @param {string|Uint8Array} value The value to check.
|
15
|
+
* @returns {boolean} `true` if the value has a BOM, `false` otherwise.
|
16
|
+
*/
|
17
|
+
function hasUnicodeBOM(value) {
|
18
|
+
return typeof value === "string"
|
19
|
+
? value.charCodeAt(0) === 0xFEFF
|
20
|
+
: value[0] === 0xEF && value[1] === 0xBB && value[2] === 0xBF;
|
21
|
+
}
|
22
|
+
|
23
|
+
/**
|
24
|
+
* Strips Unicode BOM from the given value.
|
25
|
+
* @param {string|Uint8Array} value The value to remove the BOM from.
|
26
|
+
* @returns {string|Uint8Array} The stripped value.
|
27
|
+
*/
|
28
|
+
function stripUnicodeBOM(value) {
|
29
|
+
|
30
|
+
if (!hasUnicodeBOM(value)) {
|
31
|
+
return value;
|
32
|
+
}
|
33
|
+
|
34
|
+
if (typeof value === "string") {
|
35
|
+
|
36
|
+
/*
|
37
|
+
* Check Unicode BOM.
|
38
|
+
* In JavaScript, string data is stored as UTF-16, so BOM is 0xFEFF.
|
39
|
+
* http://www.ecma-international.org/ecma-262/6.0/#sec-unicode-format-control-characters
|
40
|
+
*/
|
41
|
+
return value.slice(1);
|
42
|
+
}
|
43
|
+
|
44
|
+
/*
|
45
|
+
* In a Uint8Array, the BOM is represented by three bytes: 0xEF, 0xBB, and 0xBF,
|
46
|
+
* so we can just remove the first three bytes.
|
47
|
+
*/
|
48
|
+
return value.slice(3);
|
49
|
+
}
|
50
|
+
|
51
|
+
//------------------------------------------------------------------------------
|
52
|
+
// Exports
|
53
|
+
//------------------------------------------------------------------------------
|
54
|
+
|
55
|
+
/**
|
56
|
+
* Represents a virtual file inside of ESLint.
|
57
|
+
*/
|
58
|
+
class VFile {
|
59
|
+
|
60
|
+
/**
|
61
|
+
* The file path including any processor-created virtual path.
|
62
|
+
* @type {string}
|
63
|
+
* @readonly
|
64
|
+
*/
|
65
|
+
path;
|
66
|
+
|
67
|
+
/**
|
68
|
+
* The file path on disk.
|
69
|
+
* @type {string}
|
70
|
+
* @readonly
|
71
|
+
*/
|
72
|
+
physicalPath;
|
73
|
+
|
74
|
+
/**
|
75
|
+
* The file contents.
|
76
|
+
* @type {string|Uint8Array}
|
77
|
+
* @readonly
|
78
|
+
*/
|
79
|
+
body;
|
80
|
+
|
81
|
+
/**
|
82
|
+
* Indicates whether the file has a byte order mark (BOM).
|
83
|
+
* @type {boolean}
|
84
|
+
* @readonly
|
85
|
+
*/
|
86
|
+
bom;
|
87
|
+
|
88
|
+
/**
|
89
|
+
* Creates a new instance.
|
90
|
+
* @param {string} path The file path.
|
91
|
+
* @param {string|Uint8Array} body The file contents.
|
92
|
+
* @param {Object} [options] Additional options.
|
93
|
+
* @param {string} [options.physicalPath] The file path on disk.
|
94
|
+
*/
|
95
|
+
constructor(path, body, { physicalPath } = {}) {
|
96
|
+
this.path = path;
|
97
|
+
this.physicalPath = physicalPath ?? path;
|
98
|
+
this.bom = hasUnicodeBOM(body);
|
99
|
+
this.body = stripUnicodeBOM(body);
|
100
|
+
}
|
101
|
+
|
102
|
+
}
|
103
|
+
|
104
|
+
module.exports = { VFile };
|
package/lib/options.js
CHANGED
@@ -30,6 +30,7 @@ const optionator = require("optionator");
|
|
30
30
|
* @property {boolean} errorOnUnmatchedPattern Prevent errors when pattern is unmatched
|
31
31
|
* @property {boolean} eslintrc Disable use of configuration from .eslintrc.*
|
32
32
|
* @property {string[]} [ext] Specify JavaScript file extensions
|
33
|
+
* @property {string[]} [flag] Feature flags
|
33
34
|
* @property {boolean} fix Automatically fix problems
|
34
35
|
* @property {boolean} fixDryRun Automatically fix problems without saving the changes to the file system
|
35
36
|
* @property {("directive" | "problem" | "suggestion" | "layout")[]} [fixType] Specify the types of fixes to apply (directive, problem, suggestion, layout)
|
@@ -176,6 +177,16 @@ module.exports = function(usingFlatConfig) {
|
|
176
177
|
};
|
177
178
|
}
|
178
179
|
|
180
|
+
let flagFlag;
|
181
|
+
|
182
|
+
if (usingFlatConfig) {
|
183
|
+
flagFlag = {
|
184
|
+
option: "flag",
|
185
|
+
type: "[String]",
|
186
|
+
description: "Enable a feature flag"
|
187
|
+
};
|
188
|
+
}
|
189
|
+
|
179
190
|
return optionator({
|
180
191
|
prepend: "eslint [options] file.js [file.js] [dir]",
|
181
192
|
defaults: {
|
@@ -424,7 +435,8 @@ module.exports = function(usingFlatConfig) {
|
|
424
435
|
type: "path::String",
|
425
436
|
description: "Print the configuration for the given file"
|
426
437
|
},
|
427
|
-
statsFlag
|
438
|
+
statsFlag,
|
439
|
+
flagFlag
|
428
440
|
].filter(value => !!value)
|
429
441
|
});
|
430
442
|
};
|
@@ -27,10 +27,11 @@ const { defaultConfig } = require("../config/default-config");
|
|
27
27
|
const ajv = require("../shared/ajv")({ strictDefaults: true });
|
28
28
|
|
29
29
|
const parserSymbol = Symbol.for("eslint.RuleTester.parser");
|
30
|
-
const { SourceCode } = require("../source-code");
|
31
30
|
const { ConfigArraySymbol } = require("@eslint/config-array");
|
32
31
|
const { isSerializable } = require("../shared/serialization");
|
33
32
|
|
33
|
+
const { SourceCode } = require("../languages/js/source-code");
|
34
|
+
|
34
35
|
//------------------------------------------------------------------------------
|
35
36
|
// Typedefs
|
36
37
|
//------------------------------------------------------------------------------
|
@@ -591,7 +592,8 @@ class RuleTester {
|
|
591
592
|
* here, just use the default one to keep that performance
|
592
593
|
* enhancement.
|
593
594
|
*/
|
594
|
-
rules: defaultConfig[0].plugins["@"].rules
|
595
|
+
rules: defaultConfig[0].plugins["@"].rules,
|
596
|
+
languages: defaultConfig[0].plugins["@"].languages
|
595
597
|
},
|
596
598
|
"rule-to-test": {
|
597
599
|
rules: {
|
@@ -611,6 +613,7 @@ class RuleTester {
|
|
611
613
|
}
|
612
614
|
}
|
613
615
|
},
|
616
|
+
language: defaultConfig[0].language,
|
614
617
|
languageOptions: {
|
615
618
|
...defaultConfig[0].languageOptions
|
616
619
|
}
|
@@ -4,6 +4,8 @@
|
|
4
4
|
*/
|
5
5
|
"use strict";
|
6
6
|
|
7
|
+
const astUtils = require("./utils/ast-utils");
|
8
|
+
|
7
9
|
//------------------------------------------------------------------------------
|
8
10
|
// Rule Definition
|
9
11
|
//------------------------------------------------------------------------------
|
@@ -36,11 +38,32 @@ module.exports = {
|
|
36
38
|
return {
|
37
39
|
|
38
40
|
ArrayExpression(node) {
|
41
|
+
if (!node.elements.includes(null)) {
|
42
|
+
return;
|
43
|
+
}
|
44
|
+
|
45
|
+
const { sourceCode } = context;
|
46
|
+
let commaToken;
|
47
|
+
|
48
|
+
for (const [index, element] of node.elements.entries()) {
|
49
|
+
if (index === node.elements.length - 1 && element) {
|
50
|
+
return;
|
51
|
+
}
|
52
|
+
|
53
|
+
commaToken = sourceCode.getTokenAfter(
|
54
|
+
element ?? commaToken ?? sourceCode.getFirstToken(node),
|
55
|
+
astUtils.isCommaToken
|
56
|
+
);
|
39
57
|
|
40
|
-
|
58
|
+
if (element) {
|
59
|
+
continue;
|
60
|
+
}
|
41
61
|
|
42
|
-
|
43
|
-
|
62
|
+
context.report({
|
63
|
+
node,
|
64
|
+
loc: commaToken.loc,
|
65
|
+
messageId: "unexpectedSparseArray"
|
66
|
+
});
|
44
67
|
}
|
45
68
|
}
|
46
69
|
|
@@ -147,6 +147,36 @@ module.exports = {
|
|
147
147
|
}
|
148
148
|
}
|
149
149
|
|
150
|
+
/**
|
151
|
+
* Determines what variable type a def is.
|
152
|
+
* @param {Object} def the declaration to check
|
153
|
+
* @returns {VariableType} a simple name for the types of variables that this rule supports
|
154
|
+
*/
|
155
|
+
function defToVariableType(def) {
|
156
|
+
|
157
|
+
/*
|
158
|
+
* This `destructuredArrayIgnorePattern` error report works differently from the catch
|
159
|
+
* clause and parameter error reports. _Both_ the `varsIgnorePattern` and the
|
160
|
+
* `destructuredArrayIgnorePattern` will be checked for array destructuring. However,
|
161
|
+
* for the purposes of the report, the currently defined behavior is to only inform the
|
162
|
+
* user of the `destructuredArrayIgnorePattern` if it's present (regardless of the fact
|
163
|
+
* that the `varsIgnorePattern` would also apply). If it's not present, the user will be
|
164
|
+
* informed of the `varsIgnorePattern`, assuming that's present.
|
165
|
+
*/
|
166
|
+
if (config.destructuredArrayIgnorePattern && def.name.parent.type === "ArrayPattern") {
|
167
|
+
return "array-destructure";
|
168
|
+
}
|
169
|
+
|
170
|
+
switch (def.type) {
|
171
|
+
case "CatchClause":
|
172
|
+
return "catch-clause";
|
173
|
+
case "Parameter":
|
174
|
+
return "parameter";
|
175
|
+
default:
|
176
|
+
return "variable";
|
177
|
+
}
|
178
|
+
}
|
179
|
+
|
150
180
|
/**
|
151
181
|
* Gets a given variable's description and configured ignore pattern
|
152
182
|
* based on the provided variableType
|
@@ -167,7 +197,7 @@ module.exports = {
|
|
167
197
|
|
168
198
|
case "catch-clause":
|
169
199
|
pattern = config.caughtErrorsIgnorePattern;
|
170
|
-
variableDescription = "
|
200
|
+
variableDescription = "caught errors";
|
171
201
|
break;
|
172
202
|
|
173
203
|
case "parameter":
|
@@ -202,28 +232,7 @@ module.exports = {
|
|
202
232
|
let additionalMessageData = "";
|
203
233
|
|
204
234
|
if (def) {
|
205
|
-
|
206
|
-
let variableDescription;
|
207
|
-
|
208
|
-
switch (def.type) {
|
209
|
-
case "CatchClause":
|
210
|
-
if (config.caughtErrorsIgnorePattern) {
|
211
|
-
[variableDescription, pattern] = getVariableDescription("catch-clause");
|
212
|
-
}
|
213
|
-
break;
|
214
|
-
|
215
|
-
case "Parameter":
|
216
|
-
if (config.argsIgnorePattern) {
|
217
|
-
[variableDescription, pattern] = getVariableDescription("parameter");
|
218
|
-
}
|
219
|
-
break;
|
220
|
-
|
221
|
-
default:
|
222
|
-
if (config.varsIgnorePattern) {
|
223
|
-
[variableDescription, pattern] = getVariableDescription("variable");
|
224
|
-
}
|
225
|
-
break;
|
226
|
-
}
|
235
|
+
const [variableDescription, pattern] = getVariableDescription(defToVariableType(def));
|
227
236
|
|
228
237
|
if (pattern && variableDescription) {
|
229
238
|
additionalMessageData = `. Allowed unused ${variableDescription} must match ${pattern}`;
|
@@ -248,14 +257,7 @@ module.exports = {
|
|
248
257
|
let additionalMessageData = "";
|
249
258
|
|
250
259
|
if (def) {
|
251
|
-
|
252
|
-
let variableDescription;
|
253
|
-
|
254
|
-
if (def.name.parent.type === "ArrayPattern" && config.destructuredArrayIgnorePattern) {
|
255
|
-
[variableDescription, pattern] = getVariableDescription("array-destructure");
|
256
|
-
} else if (config.varsIgnorePattern) {
|
257
|
-
[variableDescription, pattern] = getVariableDescription("variable");
|
258
|
-
}
|
260
|
+
const [variableDescription, pattern] = getVariableDescription(defToVariableType(def));
|
259
261
|
|
260
262
|
if (pattern && variableDescription) {
|
261
263
|
additionalMessageData = `. Allowed unused ${variableDescription} must match ${pattern}`;
|
@@ -0,0 +1,26 @@
|
|
1
|
+
/**
|
2
|
+
* @fileoverview Shared flags for ESLint.
|
3
|
+
*/
|
4
|
+
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
/**
|
8
|
+
* The set of flags that change ESLint behavior with a description.
|
9
|
+
* @type {Map<string, string>}
|
10
|
+
*/
|
11
|
+
const activeFlags = new Map([
|
12
|
+
["test_only", "This flag is only used for testing."]
|
13
|
+
]);
|
14
|
+
|
15
|
+
/**
|
16
|
+
* The set of flags that used to be active but no longer have an effect.
|
17
|
+
* @type {Map<string, string>}
|
18
|
+
*/
|
19
|
+
const inactiveFlags = new Map([
|
20
|
+
["test_only_old", "This flag is no longer used for testing."]
|
21
|
+
]);
|
22
|
+
|
23
|
+
module.exports = {
|
24
|
+
activeFlags,
|
25
|
+
inactiveFlags
|
26
|
+
};
|
package/lib/shared/logging.js
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
module.exports = {
|
12
12
|
|
13
13
|
/**
|
14
|
-
* Cover for console.
|
14
|
+
* Cover for console.info
|
15
15
|
* @param {...any} args The elements to log.
|
16
16
|
* @returns {void}
|
17
17
|
*/
|
@@ -19,6 +19,15 @@ module.exports = {
|
|
19
19
|
console.log(...args);
|
20
20
|
},
|
21
21
|
|
22
|
+
/**
|
23
|
+
* Cover for console.warn
|
24
|
+
* @param {...any} args The elements to log.
|
25
|
+
* @returns {void}
|
26
|
+
*/
|
27
|
+
warn(...args) {
|
28
|
+
console.warn(...args);
|
29
|
+
},
|
30
|
+
|
22
31
|
/**
|
23
32
|
* Cover for console.error
|
24
33
|
* @param {...any} args The elements to log.
|
package/lib/shared/types.js
CHANGED
@@ -21,7 +21,7 @@ module.exports = {};
|
|
21
21
|
/**
|
22
22
|
* @typedef {Object} ParserOptions
|
23
23
|
* @property {EcmaFeatures} [ecmaFeatures] The optional features.
|
24
|
-
* @property {3|5|6|7|8|9|10|11|12|13|14|15|2015|2016|2017|2018|2019|2020|2021|2022|2023|2024} [ecmaVersion] The ECMAScript version (or revision number).
|
24
|
+
* @property {3|5|6|7|8|9|10|11|12|13|14|15|16|2015|2016|2017|2018|2019|2020|2021|2022|2023|2024|2025} [ecmaVersion] The ECMAScript version (or revision number).
|
25
25
|
* @property {"script"|"module"} [sourceType] The source code type.
|
26
26
|
* @property {boolean} [allowReserved] Allowing the use of reserved words as identifiers in ES3.
|
27
27
|
*/
|
@@ -0,0 +1,21 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
module.exports = function(it) {
|
4
|
+
const { pattern } = it;
|
5
|
+
|
6
|
+
return `
|
7
|
+
You are linting "${pattern}", but all of the files matching the glob pattern "${pattern}" are ignored.
|
8
|
+
|
9
|
+
If you don't want to lint these files, remove the pattern "${pattern}" from the list of arguments passed to ESLint.
|
10
|
+
|
11
|
+
If you do want to lint these files, explicitly list one or more of the files from this glob that you'd like to lint to see more details about why they are ignored.
|
12
|
+
|
13
|
+
* If the file is ignored because of a matching ignore pattern, check global ignores in your config file.
|
14
|
+
https://eslint.org/docs/latest/use/configure/ignore
|
15
|
+
|
16
|
+
* If the file is ignored because no matching configuration was supplied, check file patterns in your config file.
|
17
|
+
https://eslint.org/docs/latest/use/configure/configuration-files#specifying-files-with-arbitrary-extensions
|
18
|
+
|
19
|
+
* If the file is ignored because it is located outside of the base path, change the location of your config file to be in a parent directory.
|
20
|
+
`.trimStart();
|
21
|
+
};
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "eslint",
|
3
|
-
"version": "9.
|
3
|
+
"version": "9.6.0",
|
4
4
|
"author": "Nicholas C. Zakas <nicholas+npm@nczconsulting.com>",
|
5
5
|
"description": "An AST-based pattern checker for JavaScript.",
|
6
6
|
"bin": {
|
@@ -62,15 +62,15 @@
|
|
62
62
|
"messages"
|
63
63
|
],
|
64
64
|
"repository": "eslint/eslint",
|
65
|
-
"funding": "https://
|
65
|
+
"funding": "https://eslint.org/donate",
|
66
66
|
"homepage": "https://eslint.org",
|
67
67
|
"bugs": "https://github.com/eslint/eslint/issues/",
|
68
68
|
"dependencies": {
|
69
69
|
"@eslint-community/eslint-utils": "^4.2.0",
|
70
70
|
"@eslint-community/regexpp": "^4.6.1",
|
71
|
-
"@eslint/config-array": "^0.
|
71
|
+
"@eslint/config-array": "^0.17.0",
|
72
72
|
"@eslint/eslintrc": "^3.1.0",
|
73
|
-
"@eslint/js": "9.
|
73
|
+
"@eslint/js": "9.6.0",
|
74
74
|
"@humanwhocodes/module-importer": "^1.0.1",
|
75
75
|
"@humanwhocodes/retry": "^0.3.0",
|
76
76
|
"@nodelib/fs.walk": "^1.2.8",
|
@@ -81,8 +81,8 @@
|
|
81
81
|
"escape-string-regexp": "^4.0.0",
|
82
82
|
"eslint-scope": "^8.0.1",
|
83
83
|
"eslint-visitor-keys": "^4.0.0",
|
84
|
-
"espree": "^10.0
|
85
|
-
"esquery": "^1.
|
84
|
+
"espree": "^10.1.0",
|
85
|
+
"esquery": "^1.5.0",
|
86
86
|
"esutils": "^2.0.2",
|
87
87
|
"fast-deep-equal": "^3.1.3",
|
88
88
|
"file-entry-cache": "^8.0.0",
|
@@ -104,14 +104,12 @@
|
|
104
104
|
"devDependencies": {
|
105
105
|
"@babel/core": "^7.4.3",
|
106
106
|
"@babel/preset-env": "^7.4.3",
|
107
|
-
"@eslint-community/eslint-plugin-eslint-comments": "^4.3.0",
|
108
107
|
"@types/estree": "^1.0.5",
|
109
108
|
"@types/node": "^20.11.5",
|
110
|
-
"@wdio/browser-runner": "^8.
|
111
|
-
"@wdio/cli": "^8.
|
112
|
-
"@wdio/concise-reporter": "^8.
|
113
|
-
"@wdio/
|
114
|
-
"@wdio/mocha-framework": "^8.14.0",
|
109
|
+
"@wdio/browser-runner": "^8.38.3",
|
110
|
+
"@wdio/cli": "^8.38.2",
|
111
|
+
"@wdio/concise-reporter": "^8.38.2",
|
112
|
+
"@wdio/mocha-framework": "^8.38.2",
|
115
113
|
"babel-loader": "^8.0.5",
|
116
114
|
"c8": "^7.12.0",
|
117
115
|
"chai": "^4.0.1",
|
@@ -122,11 +120,8 @@
|
|
122
120
|
"eslint": "file:.",
|
123
121
|
"eslint-config-eslint": "file:packages/eslint-config-eslint",
|
124
122
|
"eslint-plugin-eslint-plugin": "^6.0.0",
|
125
|
-
"eslint-plugin-internal-rules": "file:tools/internal-rules",
|
126
|
-
"eslint-plugin-jsdoc": "^48.2.3",
|
127
|
-
"eslint-plugin-n": "^17.2.0",
|
128
|
-
"eslint-plugin-unicorn": "^52.0.0",
|
129
123
|
"eslint-release": "^3.2.2",
|
124
|
+
"eslint-rule-composer": "^0.3.0",
|
130
125
|
"eslump": "^3.0.0",
|
131
126
|
"esprima": "^4.0.1",
|
132
127
|
"fast-glob": "^3.2.11",
|
@@ -136,13 +131,13 @@
|
|
136
131
|
"got": "^11.8.3",
|
137
132
|
"gray-matter": "^4.0.3",
|
138
133
|
"js-yaml": "^4.1.0",
|
139
|
-
"knip": "^5.
|
134
|
+
"knip": "^5.21.0",
|
140
135
|
"lint-staged": "^11.0.0",
|
141
136
|
"load-perf": "^0.2.0",
|
142
137
|
"markdown-it": "^12.2.0",
|
143
138
|
"markdown-it-container": "^3.0.0",
|
144
139
|
"markdownlint": "^0.34.0",
|
145
|
-
"markdownlint-cli": "^0.
|
140
|
+
"markdownlint-cli": "^0.41.0",
|
146
141
|
"marked": "^4.0.8",
|
147
142
|
"metascraper": "^5.25.7",
|
148
143
|
"metascraper-description": "^5.25.7",
|
File without changes
|
/package/lib/{source-code → languages/js/source-code}/token-store/backward-token-comment-cursor.js
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
/package/lib/{source-code → languages/js/source-code}/token-store/forward-token-comment-cursor.js
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|