chore: improve eslint configuration

This commit is contained in:
alexander.akait 2024-01-13 16:28:53 +03:00
parent 4ac11d0b3e
commit 8273948d9d
53 changed files with 167 additions and 161 deletions

View File

@ -1,15 +1,19 @@
module.exports = {
root: true,
plugins: ["prettier", "node", "jest", "jsdoc"],
reportUnusedDisableDirectives: true,
plugins: ["prettier", "n", "jest", "jsdoc"],
extends: [
"eslint:recommended",
"plugin:node/recommended",
"plugin:n/recommended",
"plugin:prettier/recommended"
],
env: {
node: true,
es6: true
},
globals: {
WebAssembly: true
},
parserOptions: {
ecmaVersion: 2018
},
@ -26,7 +30,7 @@ module.exports = {
"no-use-before-define": "off",
"no-unused-vars": ["error", { args: "none", ignoreRestSiblings: true }],
"no-loop-func": "off",
"node/no-missing-require": ["error", { allowModules: ["webpack"] }],
"n/no-missing-require": ["error", { allowModules: ["webpack"] }],
"jsdoc/check-indentation": "error",
"jsdoc/check-param-names": "error",
"jsdoc/check-property-names": "error",
@ -116,6 +120,13 @@ module.exports = {
nsObj: false,
jasmine: false
}
},
{
files: ["examples/**/*.js"],
rules: {
"n/no-unpublished-require": "off",
"n/no-extraneous-require": "off"
}
}
]
};

View File

@ -76,11 +76,10 @@ const isInstalled = packageName => {
const runCli = cli => {
const path = require("path");
const pkgPath = require.resolve(`${cli.package}/package.json`);
// eslint-disable-next-line node/no-missing-require
const pkg = require(pkgPath);
if (pkg.type === "module" || /\.mjs/i.test(pkg.bin[cli.binName])) {
// eslint-disable-next-line node/no-unsupported-features/es-syntax
// eslint-disable-next-line n/no-unsupported-features/es-syntax
import(path.resolve(path.dirname(pkgPath), pkg.bin[cli.binName])).catch(
error => {
console.error(error);
@ -88,7 +87,6 @@ const runCli = cli => {
}
);
} else {
// eslint-disable-next-line node/no-missing-require
require(path.resolve(path.dirname(pkgPath), pkg.bin[cli.binName]));
}
};

View File

@ -1,5 +1,5 @@
var path = require("path");
var { AggressiveMergingPlugin } = require("../../").optimize;
var { AggressiveMergingPlugin } = require("../..").optimize;
module.exports = {
// mode: "development" || "production",

View File

@ -5,11 +5,11 @@ module.exports = {
plugins: [
new webpack.DllReferencePlugin({
context: path.join(__dirname, "..", "dll"),
manifest: require("../dll/dist/alpha-manifest.json") // eslint-disable-line
manifest: require("../dll/dist/alpha-manifest.json")
}),
new webpack.DllReferencePlugin({
scope: "beta",
manifest: require("../dll/dist/beta-manifest.json"), // eslint-disable-line
manifest: require("../dll/dist/beta-manifest.json"),
extensions: [".js", ".jsx"]
})
]

View File

@ -45,11 +45,9 @@ module.exports = function (level, msg) {
}
};
/* eslint-disable node/no-unsupported-features/node-builtins */
var group = console.group || dummy;
var groupCollapsed = console.groupCollapsed || dummy;
var groupEnd = console.groupEnd || dummy;
/* eslint-enable node/no-unsupported-features/node-builtins */
module.exports.group = logGroup(group);

View File

@ -1178,9 +1178,7 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
};
if (this.hooks.log.call(name, logEntry) === undefined) {
if (logEntry.type === LogType.profileEnd) {
// eslint-disable-next-line node/no-unsupported-features/node-builtins
if (typeof console.profileEnd === "function") {
// eslint-disable-next-line node/no-unsupported-features/node-builtins
console.profileEnd(`[${name}] ${logEntry.args[0]}`);
}
}
@ -1193,9 +1191,7 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
}
logEntries.push(logEntry);
if (logEntry.type === LogType.profile) {
// eslint-disable-next-line node/no-unsupported-features/node-builtins
if (typeof console.profile === "function") {
// eslint-disable-next-line node/no-unsupported-features/node-builtins
console.profile(`[${name}] ${logEntry.args[0]}`);
}
}

View File

@ -463,7 +463,6 @@ const applySnapshotDefaults = (snapshot, { production, futureDefaults }) => {
}
} else {
const match = /^(.+?[\\/]node_modules[\\/])/.exec(
// eslint-disable-next-line node/no-extraneous-require
require.resolve("watchpack")
);
if (match) {

View File

@ -31,7 +31,7 @@ const validate = createSchemaValidation(
let inspector = undefined;
try {
// eslint-disable-next-line node/no-unsupported-features/node-builtins
// eslint-disable-next-line n/no-unsupported-features/node-builtins
inspector = require("inspector");
} catch (e) {
console.log("Unable to CPU profile in < node 8.0");

View File

@ -35,7 +35,6 @@ module.exports = function () {
var currentUpdateApplyHandlers;
var queuedInvalidatedModules;
// eslint-disable-next-line no-unused-vars
$hmrModuleData$ = currentModuleData;
$interceptModuleExecution$.push(function (options) {

View File

@ -45,11 +45,7 @@ const { LogType } = require("./Logger");
const filterToFunction = item => {
if (typeof item === "string") {
const regExp = new RegExp(
`[\\\\/]${item.replace(
// eslint-disable-next-line no-useless-escape
/[-[\]{}()*+?.\\^$|]/g,
"\\$&"
)}([\\\\/]|$|!|\\?)`
`[\\\\/]${item.replace(/[-[\]{}()*+?.\\^$|]/g, "\\$&")}([\\\\/]|$|!|\\?)`
);
return ident => regExp.test(ident);
}
@ -114,9 +110,7 @@ module.exports = ({ level = "info", debug = false, console }) => {
switch (type) {
case LogType.debug:
if (!debug) return;
// eslint-disable-next-line node/no-unsupported-features/node-builtins
if (typeof console.debug === "function") {
// eslint-disable-next-line node/no-unsupported-features/node-builtins
console.debug(...labeledArgs());
} else {
console.log(...labeledArgs());
@ -145,9 +139,7 @@ module.exports = ({ level = "info", debug = false, console }) => {
case LogType.groupCollapsed:
if (!debug && loglevel > LogLevel.log) return;
if (!debug && loglevel > LogLevel.verbose) {
// eslint-disable-next-line node/no-unsupported-features/node-builtins
if (typeof console.groupCollapsed === "function") {
// eslint-disable-next-line node/no-unsupported-features/node-builtins
console.groupCollapsed(...labeledArgs());
} else {
console.log(...labeledArgs());
@ -157,9 +149,7 @@ module.exports = ({ level = "info", debug = false, console }) => {
// falls through
case LogType.group:
if (!debug && loglevel > LogLevel.log) return;
// eslint-disable-next-line node/no-unsupported-features/node-builtins
if (typeof console.group === "function") {
// eslint-disable-next-line node/no-unsupported-features/node-builtins
console.group(...labeledArgs());
} else {
console.log(...labeledArgs());
@ -167,9 +157,7 @@ module.exports = ({ level = "info", debug = false, console }) => {
break;
case LogType.groupEnd:
if (!debug && loglevel > LogLevel.log) return;
// eslint-disable-next-line node/no-unsupported-features/node-builtins
if (typeof console.groupEnd === "function") {
// eslint-disable-next-line node/no-unsupported-features/node-builtins
console.groupEnd();
}
break;
@ -185,24 +173,18 @@ module.exports = ({ level = "info", debug = false, console }) => {
break;
}
case LogType.profile:
// eslint-disable-next-line node/no-unsupported-features/node-builtins
if (typeof console.profile === "function") {
// eslint-disable-next-line node/no-unsupported-features/node-builtins
console.profile(...labeledArgs());
}
break;
case LogType.profileEnd:
// eslint-disable-next-line node/no-unsupported-features/node-builtins
if (typeof console.profileEnd === "function") {
// eslint-disable-next-line node/no-unsupported-features/node-builtins
console.profileEnd(...labeledArgs());
}
break;
case LogType.clear:
if (!debug && loglevel > LogLevel.log) return;
// eslint-disable-next-line node/no-unsupported-features/node-builtins
if (typeof console.clear === "function") {
// eslint-disable-next-line node/no-unsupported-features/node-builtins
console.clear();
}
break;

View File

@ -102,17 +102,13 @@ module.exports = ({ colors, appendOnly, stream }) => {
else if (currentIndent.length >= 2)
currentIndent = currentIndent.slice(0, currentIndent.length - 2);
},
// eslint-disable-next-line node/no-unsupported-features/node-builtins
profile: console.profile && (name => console.profile(name)),
// eslint-disable-next-line node/no-unsupported-features/node-builtins
profileEnd: console.profileEnd && (name => console.profileEnd(name)),
clear:
!appendOnly &&
// eslint-disable-next-line node/no-unsupported-features/node-builtins
console.clear &&
(() => {
clearStatusMessage();
// eslint-disable-next-line node/no-unsupported-features/node-builtins
console.clear();
writeStatusMessage();
}),

View File

@ -238,11 +238,7 @@ const DEFAULTS = {
const normalizeFilter = item => {
if (typeof item === "string") {
const regExp = new RegExp(
`[\\\\/]${item.replace(
// eslint-disable-next-line no-useless-escape
/[-[\]{}()*+?.\\^$|]/g,
"\\$&"
)}([\\\\/]|$|!|\\?)`
`[\\\\/]${item.replace(/[-[\]{}()*+?.\\^$|]/g, "\\$&")}([\\\\/]|$|!|\\?)`
);
return ident => regExp.test(ident);
}

View File

@ -241,7 +241,6 @@ const rangeToString = range => {
? "="
: "!=";
var needDot = 1;
// eslint-disable-next-line no-redeclare
for (var i = 1; i < range.length; i++) {
var item = range[i];
var t = (typeof item)[0];

View File

@ -55,10 +55,10 @@
"es5-ext": "^0.10.53",
"es6-promise-polyfill": "^1.2.0",
"eslint": "^8.48.0",
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-jest": "^27.2.3",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-jest": "^27.6.3",
"eslint-plugin-jsdoc": "^43.0.5",
"eslint-plugin-node": "^11.0.0",
"eslint-plugin-n": "^16.6.2",
"eslint-plugin-prettier": "^4.2.1",
"file-loader": "^6.0.0",
"fork-ts-checker-webpack-plugin": "^8.0.0",

View File

@ -61,10 +61,8 @@ const describeCases = config => {
jest.setTimeout(20000);
for (const category of categories) {
// eslint-disable-next-line no-loop-func
describe(category.name, () => {
for (const testName of category.tests) {
// eslint-disable-next-line no-loop-func
describe(testName, function () {
const testDirectory = path.join(casesPath, category.name, testName);
const filterPath = path.join(testDirectory, "test.filter.js");
@ -458,7 +456,6 @@ const describeCases = config => {
name: "context for esm"
});
// eslint-disable-next-line no-loop-func
const _require = (
currentDirectory,
options,

View File

@ -27,7 +27,7 @@ describe("NodeTemplatePlugin", () => {
if (err) return err;
expect(stats.hasErrors()).toBe(false);
expect(stats.hasWarnings()).toBe(false);
// eslint-disable-next-line node/no-missing-require
// eslint-disable-next-line n/no-missing-require
const result = require("./js/NodeTemplatePlugin/result").abc;
expect(result.nextTick).toBe(process.nextTick);
expect(result.fs).toBe(require("fs"));
@ -69,7 +69,7 @@ describe("NodeTemplatePlugin", () => {
(err, stats) => {
if (err) return err;
expect(stats.hasErrors()).toBe(false);
// eslint-disable-next-line node/no-missing-require
// eslint-disable-next-line n/no-missing-require
const result = require("./js/NodeTemplatePluginSingle/result2");
expect(result.nextTick).toBe(process.nextTick);
expect(result.fs).toBe(require("fs"));

View File

@ -102,7 +102,6 @@ describe("WatchSuspend", () => {
for (const changeBefore of [false, true])
for (const delay of [200, 1500]) {
// eslint-disable-next-line no-loop-func
it(`should not ignore changes during resumed compilation (changeBefore: ${changeBefore}, delay: ${delay}ms)`, async () => {
// aggregateTimeout must be long enough for this test
// So set-up new watcher and wait when initial compilation is done

View File

@ -1,4 +1,3 @@
// eslint-disable-next-line node/no-unpublished-require
const { ModuleFederationPlugin } = require("../../../../").container;
const common = {

View File

@ -1,4 +1,4 @@
// eslint-disable-next-line node/no-unpublished-require
// eslint-disable-next-line n/no-unpublished-require
const { ModuleFederationPlugin } = require("../../../../").container;
/** @type {import("../../../../").Configuration} */

View File

@ -1,4 +1,4 @@
// eslint-disable-next-line node/no-unpublished-require
// eslint-disable-next-line n/no-unpublished-require
const { ModuleFederationPlugin } = require("../../../../").container;
/** @type {import("../../../../").Configuration} */

View File

@ -1,4 +1,4 @@
// eslint-disable-next-line node/no-unpublished-require
// eslint-disable-next-line n/no-unpublished-require
const { ModuleFederationPlugin } = require("../../../../").container;
/** @type {import("../../../../").Configuration} */

View File

@ -1,4 +1,3 @@
// eslint-disable-next-line node/no-unpublished-require
const { ModuleFederationPlugin } = require("../../../../").container;
const common = {

View File

@ -7,7 +7,8 @@ module.exports = {
},
plugins: [
new webpack.DllReferencePlugin({
manifest: require("../../../js/config/dll-plugin-entry/manifest0.json"), // eslint-disable-line node/no-missing-require
// eslint-disable-next-line n/no-missing-require
manifest: require("../../../js/config/dll-plugin-entry/manifest0.json"),
name: "../0-create-dll/dll.js",
scope: "dll",
sourceType: "commonjs2"

View File

@ -7,7 +7,8 @@ module.exports = {
},
plugins: [
new webpack.DllReferencePlugin({
manifest: require("../../../js/config/dll-plugin-entry/manifest0.json"), // eslint-disable-line node/no-missing-require
// eslint-disable-next-line n/no-missing-require
manifest: require("../../../js/config/dll-plugin-entry/manifest0.json"),
name: "../0-create-dll/dll.js",
scope: "dll",
sourceType: "commonjs2"

View File

@ -4,7 +4,8 @@ var webpack = require("../../../../");
module.exports = {
plugins: [
new webpack.DllReferencePlugin({
manifest: require("../../../js/config/dll-plugin-side-effects/manifest0.json"), // eslint-disable-line node/no-missing-require
// eslint-disable-next-line n/no-missing-require
manifest: require("../../../js/config/dll-plugin-side-effects/manifest0.json"),
name: "../0-create-dll/dll.js",
scope: "dll",
sourceType: "commonjs2"

View File

@ -4,7 +4,8 @@ var webpack = require("../../../../");
module.exports = {
plugins: [
new webpack.DllReferencePlugin({
manifest: require("../../../js/config/dll-plugin/issue-10475.json"), // eslint-disable-line node/no-missing-require
// eslint-disable-next-line n/no-missing-require
manifest: require("../../../js/config/dll-plugin/issue-10475.json"),
name: "../0-issue-10475/dll.js",
scope: "dll",
sourceType: "commonjs2"

View File

@ -7,7 +7,8 @@ module.exports = {
},
plugins: [
new webpack.DllReferencePlugin({
manifest: require("../../../js/config/dll-plugin/manifest0.json"), // eslint-disable-line node/no-missing-require
// eslint-disable-next-line n/no-missing-require
manifest: require("../../../js/config/dll-plugin/manifest0.json"),
name: "../0-create-dll/dll.js",
scope: "dll",
sourceType: "commonjs2",

View File

@ -26,7 +26,8 @@ module.exports = {
},
plugins: [
new webpack.DllReferencePlugin({
manifest: require("../../../js/config/dll-plugin/manifest0.json"), // eslint-disable-line node/no-missing-require
// eslint-disable-next-line n/no-missing-require
manifest: require("../../../js/config/dll-plugin/manifest0.json"),
name: "../0-create-dll/dll.js",
context: path.resolve(__dirname, "../0-create-dll"),
sourceType: "commonjs2"

View File

@ -23,7 +23,8 @@ module.exports = {
},
plugins: [
new webpack.DllReferencePlugin({
manifest: require("../../../js/config/dll-plugin/manifest0.json"), // eslint-disable-line node/no-missing-require
// eslint-disable-next-line n/no-missing-require
manifest: require("../../../js/config/dll-plugin/manifest0.json"),
name: "../0-create-dll/dll.js",
context: path.resolve(__dirname, "../0-create-dll"),
sourceType: "commonjs2"

View File

@ -7,7 +7,8 @@ module.exports = {
},
plugins: [
new webpack.DllReferencePlugin({
manifest: require("../../../js/config/dll-plugin/manifest0.json"), // eslint-disable-line node/no-missing-require
// eslint-disable-next-line n/no-missing-require
manifest: require("../../../js/config/dll-plugin/manifest0.json"),
name: "../0-create-dll-with-contenthash/dll.js",
scope: "dll",
sourceType: "commonjs2",

View File

@ -5,7 +5,7 @@ afterEach(done => {
it("should move externals in chunks into entry chunk", function() {
global.EXTERNAL_TEST_GLOBAL = 42;
// eslint-disable-next-line node/no-missing-require
// eslint-disable-next-line n/no-missing-require
const result = require("external");
expect(result).toBe(42);
});

View File

@ -5,7 +5,7 @@ afterEach(done => {
it("should import an external value assigned to global this", function() {
(function() { this.EXTERNAL_TEST_GLOBAL = 42; })();
// eslint-disable-next-line node/no-missing-require
// eslint-disable-next-line n/no-missing-require
const result = require("external");
expect(result).toBe(42);
});

View File

@ -1,4 +1,4 @@
// eslint-disable-next-line node/no-unpublished-require
// eslint-disable-next-line n/no-unpublished-require
const { ConsumeSharedPlugin } = require("../../../../").sharing;
/** @type {import("../../../../").Configuration} */

View File

@ -1,4 +1,4 @@
// eslint-disable-next-line node/no-unpublished-require
// eslint-disable-next-line n/no-unpublished-require
const { ConsumeSharedPlugin } = require("../../../../").sharing;
/** @type {import("../../../../").Configuration} */

View File

@ -1,4 +1,4 @@
// eslint-disable-next-line node/no-unpublished-require
// eslint-disable-next-line n/no-unpublished-require
const { ConsumeSharedPlugin } = require("../../../../").sharing;
/** @type {import("../../../../").Configuration} */

View File

@ -1,4 +1,4 @@
// eslint-disable-next-line node/no-unpublished-require
// eslint-disable-next-line n/no-unpublished-require
const { ConsumeSharedPlugin } = require("../../../../").sharing;
/** @type {import("../../../../").Configuration} */

View File

@ -1,4 +1,4 @@
// eslint-disable-next-line node/no-unpublished-require
// eslint-disable-next-line n/no-unpublished-require
const { SharePlugin } = require("../../../../").sharing;
/** @type {import("../../../../").Configuration} */

View File

@ -1,4 +1,4 @@
// eslint-disable-next-line node/no-unpublished-require
// eslint-disable-next-line n/no-unpublished-require
const { SharePlugin } = require("../../../../").sharing;
/** @type {import("../../../../").Configuration} */

View File

@ -1,4 +1,4 @@
// eslint-disable-next-line node/no-unpublished-require
// eslint-disable-next-line n/no-unpublished-require
const { ProvideSharedPlugin } = require("../../../../").sharing;
/** @type {import("../../../../types").Configuration} */

View File

@ -1,4 +1,4 @@
// eslint-disable-next-line node/no-unpublished-require
// eslint-disable-next-line n/no-unpublished-require
const { ProvideSharedPlugin } = require("../../../../").sharing;
/** @type {import("../../../../").Configuration} */

View File

@ -1,4 +1,4 @@
// eslint-disable-next-line node/no-unpublished-require
// eslint-disable-next-line n/no-unpublished-require
const { ProvideSharedPlugin } = require("../../../../").sharing;
/** @type {import("../../../../").Configuration} */

View File

@ -1,4 +1,4 @@
// eslint-disable-next-line node/no-unpublished-require
// eslint-disable-next-line n/no-unpublished-require
const { SharePlugin } = require("../../../../").sharing;
/** @type {import("../../../../").Configuration} */

View File

@ -1,4 +1,4 @@
// eslint-disable-next-line node/no-unpublished-require
// eslint-disable-next-line n/no-unpublished-require
const { SharePlugin } = require("../../../../").sharing;
/** @type {import("../../../../").Configuration} */

View File

@ -1,4 +1,4 @@
// eslint-disable-next-line node/no-unpublished-require
// eslint-disable-next-line n/no-unpublished-require
var supportsWorker = require("../../../helpers/supportsWorker");
module.exports = function (config) {

View File

@ -1,4 +1,4 @@
// eslint-disable-next-line node/no-missing-require
// eslint-disable-next-line n/no-missing-require
const value = require("../../js/buildDepsInput/loader-dependency");
module.exports = () => {

View File

@ -1,6 +1,6 @@
const path = require("path");
const webpack = require("../../..");
// eslint-disable-next-line node/no-missing-require
// eslint-disable-next-line n/no-missing-require
const value = require("../../js/buildDepsInput/config-dependency");
require("dep#with#hash/#.js");

View File

@ -59,7 +59,7 @@ self.postMessage = data => {
};
require(${JSON.stringify(path.resolve(outputDirectory, file))});
`;
// eslint-disable-next-line node/no-unsupported-features/node-builtins
// eslint-disable-next-line n/no-unsupported-features/node-builtins
this.worker = new (require("worker_threads").Worker)(workerBootstrap, {
eval: true
});

View File

@ -1,4 +1,4 @@
module.exports = function supportsRequireInModule() {
// eslint-disable-next-line node/no-unsupported-features/node-builtins
// eslint-disable-next-line n/no-unsupported-features/node-builtins
return !!require("module").createRequire;
};

View File

@ -1,7 +1,7 @@
module.exports = function supportsSpread() {
try {
var x = { a: true },
y; // eslint-disable-line no-unused-vars
y;
eval("y = { ...x }");
return y !== x && y.a;
} catch (e) {

View File

@ -1,4 +1,3 @@
// eslint-disable-next-line node/no-unpublished-require
const { SharePlugin } = require("../../../../").sharing;
/** @type {import("../../../../").Configuration} */

View File

@ -11,7 +11,7 @@ const files = ["lib/util/hash/xxhash64.js", "lib/util/hash/md4.js"];
// TODO: fix me after update typescript to v5
// eslint-disable-next-line no-warning-comments
// @ts-ignore
// eslint-disable-next-line node/no-missing-import, node/no-unsupported-features/es-syntax
// eslint-disable-next-line n/no-unsupported-features/es-syntax
const asc = (await import("assemblyscript/asc")).default;
for (const file of files) {

View File

@ -31,7 +31,6 @@ const captureSize = async data => {
lazySizes.push(undefined);
const r = await captureSize(await b());
lazySize += r.size + r.lazySize;
// eslint-disable-next-line require-atomic-updates
lazySizes[i] = r;
}
}

172
yarn.lock
View File

@ -687,17 +687,17 @@
esquery "^1.5.0"
jsdoc-type-pratt-parser "~4.0.0"
"@eslint-community/eslint-utils@^4.2.0":
"@eslint-community/eslint-utils@^4.1.2", "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0":
version "4.4.0"
resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59"
integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==
dependencies:
eslint-visitor-keys "^3.3.0"
"@eslint-community/regexpp@^4.6.1":
version "4.6.2"
resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.6.2.tgz#1816b5f6948029c5eaacb0703b850ee0cb37d8f8"
integrity sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==
"@eslint-community/regexpp@^4.6.0", "@eslint-community/regexpp@^4.6.1":
version "4.10.0"
resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63"
integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==
"@eslint/eslintrc@^2.1.4":
version "2.1.4"
@ -1774,6 +1774,18 @@ buffer-from@^1.0.0:
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
builtin-modules@^3.3.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6"
integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==
builtins@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/builtins/-/builtins-5.0.1.tgz#87f6db9ab0458be728564fa81d876d8d74552fa9"
integrity sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==
dependencies:
semver "^7.0.0"
bundle-loader@^0.5.6:
version "0.5.6"
resolved "https://registry.yarnpkg.com/bundle-loader/-/bundle-loader-0.5.6.tgz#6c9042e62f1c89941458805a3a479d10f34c71fd"
@ -2610,23 +2622,29 @@ escodegen@1.8.x:
optionalDependencies:
source-map "~0.2.0"
eslint-config-prettier@^9.0.0:
version "9.0.0"
resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz#eb25485946dd0c66cd216a46232dc05451518d1f"
integrity sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==
eslint-compat-utils@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/eslint-compat-utils/-/eslint-compat-utils-0.1.2.tgz#f45e3b5ced4c746c127cf724fb074cd4e730d653"
integrity sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==
eslint-plugin-es@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz#75a7cdfdccddc0589934aeeb384175f221c57893"
integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==
eslint-config-prettier@^9.1.0:
version "9.1.0"
resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz#31af3d94578645966c082fcb71a5846d3c94867f"
integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==
eslint-plugin-es-x@^7.5.0:
version "7.5.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-es-x/-/eslint-plugin-es-x-7.5.0.tgz#d08d9cd155383e35156c48f736eb06561d07ba92"
integrity sha512-ODswlDSO0HJDzXU0XvgZ3lF3lS3XAZEossh15Q2UHjwrJggWeBoKqqEsLTZLXl+dh5eOAozG0zRcYtuE35oTuQ==
dependencies:
eslint-utils "^2.0.0"
regexpp "^3.0.0"
"@eslint-community/eslint-utils" "^4.1.2"
"@eslint-community/regexpp" "^4.6.0"
eslint-compat-utils "^0.1.2"
eslint-plugin-jest@^27.2.3:
version "27.2.3"
resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-27.2.3.tgz#6f8a4bb2ca82c0c5d481d1b3be256ab001f5a3ec"
integrity sha512-sRLlSCpICzWuje66Gl9zvdF6mwD5X86I4u55hJyFBsxYOsBCmT5+kSUjf+fkFWVMMgpzNEupjW8WzUqi83hJAQ==
eslint-plugin-jest@^27.6.3:
version "27.6.3"
resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-27.6.3.tgz#8acb8b1e45597fe1f4d4cf25163d90119efc12be"
integrity sha512-+YsJFVH6R+tOiO3gCJon5oqn4KWc+mDq2leudk8mrp8RFubLOo9CVyi3cib4L7XMpxExmkmBZQTPDYVBzgpgOA==
dependencies:
"@typescript-eslint/utils" "^5.10.0"
@ -2644,17 +2662,22 @@ eslint-plugin-jsdoc@^43.0.5:
semver "^7.5.0"
spdx-expression-parse "^3.0.1"
eslint-plugin-node@^11.0.0:
version "11.1.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d"
integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==
eslint-plugin-n@^16.6.2:
version "16.6.2"
resolved "https://registry.yarnpkg.com/eslint-plugin-n/-/eslint-plugin-n-16.6.2.tgz#6a60a1a376870064c906742272074d5d0b412b0b"
integrity sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==
dependencies:
eslint-plugin-es "^3.0.0"
eslint-utils "^2.0.0"
ignore "^5.1.1"
minimatch "^3.0.4"
resolve "^1.10.1"
semver "^6.1.0"
"@eslint-community/eslint-utils" "^4.4.0"
builtins "^5.0.1"
eslint-plugin-es-x "^7.5.0"
get-tsconfig "^4.7.0"
globals "^13.24.0"
ignore "^5.2.4"
is-builtin-module "^3.2.1"
is-core-module "^2.12.1"
minimatch "^3.1.2"
resolve "^1.22.2"
semver "^7.5.3"
eslint-plugin-prettier@^4.2.1:
version "4.2.1"
@ -2679,18 +2702,6 @@ eslint-scope@^7.2.2:
esrecurse "^4.3.0"
estraverse "^5.2.0"
eslint-utils@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27"
integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==
dependencies:
eslint-visitor-keys "^1.1.0"
eslint-visitor-keys@^1.1.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3:
version "3.4.3"
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800"
@ -3075,10 +3086,10 @@ fsevents@^2.3.2, fsevents@~2.3.2:
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
function-bind@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
function-bind@^1.1.1, function-bind@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c"
integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==
gensequence@^5.0.2:
version "5.0.2"
@ -3124,6 +3135,13 @@ get-stream@^6.0.0, get-stream@^6.0.1:
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
get-tsconfig@^4.7.0:
version "4.7.2"
resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.7.2.tgz#0dcd6fb330391d46332f4c6c1bf89a6514c2ddce"
integrity sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==
dependencies:
resolve-pkg-maps "^1.0.0"
getpass@^0.1.1:
version "0.1.7"
resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
@ -3185,10 +3203,10 @@ globals@^11.1.0:
resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
globals@^13.19.0:
version "13.20.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82"
integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==
globals@^13.19.0, globals@^13.24.0:
version "13.24.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171"
integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==
dependencies:
type-fest "^0.20.2"
@ -3296,6 +3314,13 @@ hasha@^5.0.0:
is-stream "^2.0.0"
type-fest "^0.8.0"
hasown@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c"
integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==
dependencies:
function-bind "^1.1.2"
hosted-git-info@^4.0.1:
version "4.1.0"
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224"
@ -3356,10 +3381,10 @@ ieee754@^1.2.1:
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
ignore@^5.1.1, ignore@^5.2.0:
version "5.2.4"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324"
integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==
ignore@^5.2.0, ignore@^5.2.4:
version "5.3.0"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.0.tgz#67418ae40d34d6999c95ff56016759c718c82f78"
integrity sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==
image-size@~0.5.0:
version "0.5.5"
@ -3437,6 +3462,13 @@ is-binary-path@~2.1.0:
dependencies:
binary-extensions "^2.0.0"
is-builtin-module@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.2.1.tgz#f03271717d8654cfcaf07ab0463faa3571581169"
integrity sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==
dependencies:
builtin-modules "^3.3.0"
is-ci@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867"
@ -3444,12 +3476,12 @@ is-ci@^3.0.0:
dependencies:
ci-info "^3.2.0"
is-core-module@^2.12.0, is-core-module@^2.5.0, is-core-module@^2.8.1:
version "2.12.0"
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.0.tgz#36ad62f6f73c8253fd6472517a12483cf03e7ec4"
integrity sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==
is-core-module@^2.12.0, is-core-module@^2.12.1, is-core-module@^2.13.0, is-core-module@^2.5.0, is-core-module@^2.8.1:
version "2.13.1"
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384"
integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==
dependencies:
has "^1.0.3"
hasown "^2.0.0"
is-docker@^2.0.0:
version "2.2.1"
@ -5373,11 +5405,6 @@ redent@^4.0.0:
indent-string "^5.0.0"
strip-indent "^4.0.0"
regexpp@^3.0.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2"
integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==
release-zalgo@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/release-zalgo/-/release-zalgo-1.0.0.tgz#09700b7e5074329739330e535c5a90fb67851730"
@ -5455,6 +5482,11 @@ resolve-global@^1.0.0:
dependencies:
global-dirs "^0.1.1"
resolve-pkg-maps@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz#616b3dc2c57056b5588c31cdf4b3d64db133720f"
integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==
resolve.exports@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800"
@ -5465,12 +5497,12 @@ resolve@1.1.x:
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
integrity sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==
resolve@^1.1.7, resolve@^1.10.1, resolve@^1.15.1, resolve@^1.20.0:
version "1.22.3"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.3.tgz#4b4055349ffb962600972da1fdc33c46a4eb3283"
integrity sha512-P8ur/gp/AmbEzjr729bZnLjXK5Z+4P0zhIJgBgzqRih7hL7BOukHGtSTA3ACMY467GRFz3duQsi0bDZdR7DKdw==
resolve@^1.1.7, resolve@^1.15.1, resolve@^1.20.0, resolve@^1.22.2:
version "1.22.8"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d"
integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==
dependencies:
is-core-module "^2.12.0"
is-core-module "^2.13.0"
path-parse "^1.0.7"
supports-preserve-symlinks-flag "^1.0.0"
@ -5572,12 +5604,12 @@ semver@^5.6.0:
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8"
integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==
semver@^6.0.0, semver@^6.1.0, semver@^6.3.0, semver@^6.3.1:
semver@^6.0.0, semver@^6.3.0, semver@^6.3.1:
version "6.3.1"
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.0, semver@^7.5.3, semver@^7.5.4:
semver@^7.0.0, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.0, semver@^7.5.3, semver@^7.5.4:
version "7.5.4"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==