Comparing version 8.44.0 to 8.45.0
@@ -579,3 +579,2 @@ /** | ||
defaultConfigs, | ||
defaultIgnores: () => false, | ||
configs: null | ||
@@ -582,0 +581,0 @@ }); |
@@ -104,2 +104,18 @@ /** | ||
/** | ||
* Clones the given fix object. | ||
* @param {Fix|null} fix The fix to clone. | ||
* @returns {Fix|null} Deep cloned fix object or `null` if `null` or `undefined` was passed in. | ||
*/ | ||
function cloneFix(fix) { | ||
if (!fix) { | ||
return null; | ||
} | ||
return { | ||
range: [fix.range[0], fix.range[1]], | ||
text: fix.text | ||
}; | ||
} | ||
/** | ||
* Check that a fix has a valid range. | ||
@@ -141,3 +157,3 @@ * @param {Fix|null} fix The fix to validate. | ||
if (fixes.length === 1) { | ||
return fixes[0]; | ||
return cloneFix(fixes[0]); | ||
} | ||
@@ -188,3 +204,3 @@ | ||
assertValidFix(fix); | ||
return fix; | ||
return cloneFix(fix); | ||
} | ||
@@ -191,0 +207,0 @@ |
@@ -97,2 +97,3 @@ /** | ||
removeEscape: "Remove the `\\`. This maintains the current functionality.", | ||
removeEscapeDoNotKeepSemantics: "Remove the `\\` if it was inserted by mistake.", | ||
escapeBackslash: "Replace the `\\` with `\\\\` to include the actual backslash character." | ||
@@ -129,3 +130,6 @@ }, | ||
{ | ||
messageId: "removeEscape", | ||
// Removing unnecessary `\` characters in a directive is not guaranteed to maintain functionality. | ||
messageId: astUtils.isDirective(node.parent) | ||
? "removeEscapeDoNotKeepSemantics" : "removeEscape", | ||
fix(fixer) { | ||
@@ -132,0 +136,0 @@ return fixer.removeRange(range); |
@@ -134,38 +134,2 @@ /** | ||
/** | ||
* Check whether the given node is a directive or not. | ||
* @param {ASTNode} node The node to check. | ||
* @param {SourceCode} sourceCode The source code object to get tokens. | ||
* @returns {boolean} `true` if the node is a directive. | ||
*/ | ||
function isDirective(node, sourceCode) { | ||
return ( | ||
astUtils.isTopLevelExpressionStatement(node) && | ||
node.expression.type === "Literal" && | ||
typeof node.expression.value === "string" && | ||
!astUtils.isParenthesised(sourceCode, node.expression) | ||
); | ||
} | ||
/** | ||
* Check whether the given node is a part of directive prologue or not. | ||
* @param {ASTNode} node The node to check. | ||
* @param {SourceCode} sourceCode The source code object to get tokens. | ||
* @returns {boolean} `true` if the node is a part of directive prologue. | ||
*/ | ||
function isDirectivePrologue(node, sourceCode) { | ||
if (isDirective(node, sourceCode)) { | ||
for (const sibling of node.parent.body) { | ||
if (sibling === node) { | ||
break; | ||
} | ||
if (!isDirective(sibling, sourceCode)) { | ||
return false; | ||
} | ||
} | ||
return true; | ||
} | ||
return false; | ||
} | ||
/** | ||
* Gets the actual last token. | ||
@@ -363,8 +327,6 @@ * | ||
directive: { | ||
test: isDirectivePrologue | ||
test: astUtils.isDirective | ||
}, | ||
expression: { | ||
test: (node, sourceCode) => | ||
node.type === "ExpressionStatement" && | ||
!isDirectivePrologue(node, sourceCode) | ||
test: node => node.type === "ExpressionStatement" && !astUtils.isDirective(node) | ||
}, | ||
@@ -380,6 +342,6 @@ iife: { | ||
"multiline-expression": { | ||
test: (node, sourceCode) => | ||
test: node => | ||
node.loc.start.line !== node.loc.end.line && | ||
node.type === "ExpressionStatement" && | ||
!isDirectivePrologue(node, sourceCode) | ||
!astUtils.isDirective(node) | ||
}, | ||
@@ -386,0 +348,0 @@ |
@@ -17,2 +17,3 @@ /** | ||
const FlatRuleTester = require("./rule-tester/flat-rule-tester"); | ||
const { ESLint } = require("./eslint/eslint"); | ||
@@ -28,3 +29,4 @@ //----------------------------------------------------------------------------- | ||
FlatRuleTester, | ||
FileEnumerator | ||
FileEnumerator, | ||
LegacyESLint: ESLint | ||
}; |
{ | ||
"name": "eslint", | ||
"version": "8.44.0", | ||
"version": "8.45.0", | ||
"author": "Nicholas C. Zakas <nicholas+npm@nczconsulting.com>", | ||
@@ -88,3 +88,2 @@ "description": "An AST-based pattern checker for JavaScript.", | ||
"ignore": "^5.2.0", | ||
"import-fresh": "^3.0.0", | ||
"imurmurhash": "^0.1.4", | ||
@@ -101,3 +100,2 @@ "is-glob": "^4.0.0", | ||
"strip-ansi": "^6.0.1", | ||
"strip-json-comments": "^3.1.0", | ||
"text-table": "^0.2.0" | ||
@@ -161,3 +159,2 @@ }, | ||
"sinon": "^11.0.0", | ||
"temp": "^0.9.0", | ||
"webpack": "^5.23.0", | ||
@@ -164,0 +161,0 @@ "webpack-cli": "^4.5.0", |
@@ -287,3 +287,3 @@ [![npm version](https://img.shields.io/npm/v/eslint.svg)](https://www.npmjs.com/package/eslint) | ||
<p><a href="https://sentry.io"><img src="https://avatars.githubusercontent.com/u/1396951?v=4" alt="Sentry" height="64"></a> <a href="https://liftoff.io/"><img src="https://images.opencollective.com/liftoff/5c4fa84/logo.png" alt="Liftoff" height="64"></a> <a href="https://americanexpress.io"><img src="https://avatars.githubusercontent.com/u/3853301?v=4" alt="American Express" height="64"></a></p><h3>Bronze Sponsors</h3> | ||
<p><a href="https://themeisle.com"><img src="https://images.opencollective.com/themeisle/d5592fe/logo.png" alt="ThemeIsle" height="32"></a> <a href="https://nx.dev"><img src="https://images.opencollective.com/nx/0efbe42/logo.png" alt="Nx (by Nrwl)" height="32"></a> <a href="https://www.crosswordsolver.org/anagram-solver/"><img src="https://images.opencollective.com/anagram-solver/2666271/logo.png" alt="Anagram Solver" height="32"></a> <a href="https://icons8.com"><img src="https://images.opencollective.com/icons8/7fa1641/logo.png" alt="Icons8: free icons, photos, illustrations, and music" height="32"></a> <a href="https://discord.com"><img src="https://images.opencollective.com/discordapp/f9645d9/logo.png" alt="Discord" height="32"></a> <a href="https://transloadit.com/"><img src="https://avatars.githubusercontent.com/u/125754?v=4" alt="Transloadit" height="32"></a> <a href="https://www.ignitionapp.com"><img src="https://avatars.githubusercontent.com/u/5753491?v=4" alt="Ignition" height="32"></a> <a href="https://opensource.mercedes-benz.com/"><img src="https://avatars.githubusercontent.com/u/34240465?v=4" alt="Mercedes-Benz Group" height="32"></a> <a href="https://herocoders.com"><img src="https://avatars.githubusercontent.com/u/37549774?v=4" alt="HeroCoders" height="32"></a> <a href="https://quickbookstoolhub.com"><img src="https://avatars.githubusercontent.com/u/95090305?u=e5bc398ef775c9ed19f955c675cdc1fb6abf01df&v=4" alt="QuickBooks Tool hub" height="32"></a></p> | ||
<p><a href="https://iboysoft.com/"><img src="https://images.opencollective.com/iboysoft-software/7f9d60e/avatar.png" alt="iBoysoft" height="32"></a> <a href="https://themeisle.com"><img src="https://images.opencollective.com/themeisle/d5592fe/logo.png" alt="ThemeIsle" height="32"></a> <a href="https://nx.dev"><img src="https://images.opencollective.com/nx/0efbe42/logo.png" alt="Nx (by Nrwl)" height="32"></a> <a href="https://www.crosswordsolver.org/anagram-solver/"><img src="https://images.opencollective.com/anagram-solver/2666271/logo.png" alt="Anagram Solver" height="32"></a> <a href="https://icons8.com"><img src="https://images.opencollective.com/icons8/7fa1641/logo.png" alt="Icons8: free icons, photos, illustrations, and music" height="32"></a> <a href="https://discord.com"><img src="https://images.opencollective.com/discordapp/f9645d9/logo.png" alt="Discord" height="32"></a> <a href="https://transloadit.com/"><img src="https://avatars.githubusercontent.com/u/125754?v=4" alt="Transloadit" height="32"></a> <a href="https://www.ignitionapp.com"><img src="https://avatars.githubusercontent.com/u/5753491?v=4" alt="Ignition" height="32"></a> <a href="https://opensource.mercedes-benz.com/"><img src="https://avatars.githubusercontent.com/u/34240465?v=4" alt="Mercedes-Benz Group" height="32"></a> <a href="https://herocoders.com"><img src="https://avatars.githubusercontent.com/u/37549774?v=4" alt="HeroCoders" height="32"></a> <a href="https://quickbookstoolhub.com"><img src="https://avatars.githubusercontent.com/u/95090305?u=e5bc398ef775c9ed19f955c675cdc1fb6abf01df&v=4" alt="QuickBooks Tool hub" height="32"></a></p> | ||
<!--sponsorsend--> | ||
@@ -290,0 +290,0 @@ |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
37
58
7
2886975
68274
- Removedimport-fresh@^3.0.0
- Removedstrip-json-comments@^3.1.0