diff --git a/.commitlintrc.js b/.commitlintrc.cjs
similarity index 100%
rename from .commitlintrc.js
rename to .commitlintrc.cjs
diff --git a/.eslintignore b/.eslintignore
deleted file mode 100644
index 6ebe7263..00000000
--- a/.eslintignore
+++ /dev/null
@@ -1,17 +0,0 @@
-# .eslintignore
-
-node_modules
-
-# NOTE:
-# The following directives are only relevant when linting the whole
-# project directory, ie. running `eslint .` ⚠️
-
-# If you compile JavaScript into some output folder, exclude it here
-dist
-
-# Highly recommended to re-include JavaScript dotfiles to lint them
-# (This will cause .eslintrc.js to be linted by ESLint 🤘)
-!.*.js
-
-# Some tools use this pattern for their configuration files. Lint them!
-!*.config.js
diff --git a/.eslintrc.js b/.eslintrc.js
deleted file mode 100644
index 3b79d6a0..00000000
--- a/.eslintrc.js
+++ /dev/null
@@ -1,14 +0,0 @@
-module.exports = {
- reportUnusedDisableDirectives: true,
-
- ignorePatterns: ['node_modules', '!.*.js'],
-
- extends: [
- './packages/eslint-config-base',
- './packages/eslint-config-base/optional',
- './packages/eslint-config-jest',
- 'prettier',
- ],
-
- plugins: ['prettier'],
-};
diff --git a/.gitignore b/.gitignore
index de88b63f..ea972018 100644
--- a/.gitignore
+++ b/.gitignore
@@ -29,3 +29,4 @@ nbproject
*.atom-*
.tern-*
jsconfig.json
+.yarn
diff --git a/.nvmrc b/.nvmrc
index 08b7109d..2b9cabc0 100644
--- a/.nvmrc
+++ b/.nvmrc
@@ -1 +1 @@
-18.20.8
+20.12.0
diff --git a/.prettierrc.mjs b/.prettierrc.mjs
index eefd9dd9..526de2c7 100644
--- a/.prettierrc.mjs
+++ b/.prettierrc.mjs
@@ -1,3 +1,4 @@
-import prettierConfig from './packages/prettier-config/index.js';
+// eslint-disable-next-line import/no-extraneous-dependencies
+import prettierConfig from '@alma-oss/prettier-config';
export default prettierConfig;
diff --git a/.remarkrc.mjs b/.remarkrc.mjs
index 457606e3..d4f1b717 100644
--- a/.remarkrc.mjs
+++ b/.remarkrc.mjs
@@ -1,4 +1,5 @@
-import config from './packages/remark-config/index.js';
+// eslint-disable-next-line import/no-extraneous-dependencies
+import config from '@almacareer/remark-config';
export default {
...config,
diff --git a/eslint.config.js b/eslint.config.js
new file mode 100644
index 00000000..b8277a38
--- /dev/null
+++ b/eslint.config.js
@@ -0,0 +1,21 @@
+/* eslint-disable import/no-relative-packages */
+
+import prettierConfig from 'eslint-config-prettier';
+import baseConfig from './packages/eslint-config-base/index.js';
+import optionalBaseConfig from './packages/eslint-config-base/optional.js';
+import jestConfig from './packages/eslint-config-jest/index.js';
+
+export default [
+ ...baseConfig,
+ ...optionalBaseConfig,
+ ...jestConfig,
+ {
+ ignores: ['node_modules', '!.*.js', '**/*.mjs', '.yarn/**', '**/.remarkrc.mjs'],
+
+ rules: {
+ // Disabled because off node do not resolve
+ 'import/extensions': 'off',
+ },
+ },
+ prettierConfig,
+];
diff --git a/package.json b/package.json
index 89c30b9e..d847e227 100644
--- a/package.json
+++ b/package.json
@@ -12,6 +12,10 @@
"workspaces": [
"packages/*"
],
+ "engines": {
+ "node": ">=20"
+ },
+ "type": "module",
"scripts": {
"packages:diff": "lerna diff",
"packages:changed": "lerna changed",
@@ -34,8 +38,10 @@
"prepare": "is-ci || husky"
},
"devDependencies": {
+ "@alma-oss/prettier-config": "workspace:^",
+ "@almacareer/remark-config": "workspace:^",
"@commitlint/cli": "19.8.1",
- "eslint": "8.57.1",
+ "eslint": "9.31.0",
"eslint-config-prettier": "9.1.2",
"eslint-import-resolver-node": "0.3.9",
"eslint-plugin-prettier": "5.5.3",
diff --git a/packages/conventional-changelog-lmc-bitbucket/src/index.js b/packages/conventional-changelog-lmc-bitbucket/src/index.js
index 00a7532a..fbcfe864 100644
--- a/packages/conventional-changelog-lmc-bitbucket/src/index.js
+++ b/packages/conventional-changelog-lmc-bitbucket/src/index.js
@@ -1,5 +1,5 @@
-const conventionalChangelog = require(`./conventional-changelog`);
const { parserOpts, writerOpts, recommendedBumpOpts } = require('@lmc-eu/conventional-changelog-lmc');
+const conventionalChangelog = require('./conventional-changelog');
module.exports = Promise.all([conventionalChangelog, parserOpts, recommendedBumpOpts, writerOpts]).then(
// Using same configuration as other configurations
diff --git a/packages/conventional-changelog-lmc-bitbucket/tests/index.test.js b/packages/conventional-changelog-lmc-bitbucket/tests/index.test.js
index 61c8a982..0ac9cef4 100644
--- a/packages/conventional-changelog-lmc-bitbucket/tests/index.test.js
+++ b/packages/conventional-changelog-lmc-bitbucket/tests/index.test.js
@@ -1,6 +1,6 @@
// We are dealing with Streams here, not Promises
-/* eslint-disable jest/no-done-callback */
/* eslint-disable no-plusplus */
+/* eslint-disable jest/no-done-callback */
/* eslint-disable no-undef */
const conventionalChangelogCore = require('conventional-changelog-core');
const gitDummyCommit = require('git-dummy-commit');
diff --git a/packages/conventional-changelog-lmc-github/src/index.js b/packages/conventional-changelog-lmc-github/src/index.js
index 00a7532a..fbcfe864 100644
--- a/packages/conventional-changelog-lmc-github/src/index.js
+++ b/packages/conventional-changelog-lmc-github/src/index.js
@@ -1,5 +1,5 @@
-const conventionalChangelog = require(`./conventional-changelog`);
const { parserOpts, writerOpts, recommendedBumpOpts } = require('@lmc-eu/conventional-changelog-lmc');
+const conventionalChangelog = require('./conventional-changelog');
module.exports = Promise.all([conventionalChangelog, parserOpts, recommendedBumpOpts, writerOpts]).then(
// Using same configuration as other configurations
diff --git a/packages/conventional-changelog-lmc-github/tests/index.test.js b/packages/conventional-changelog-lmc-github/tests/index.test.js
index 783ab8b1..74c961cc 100644
--- a/packages/conventional-changelog-lmc-github/tests/index.test.js
+++ b/packages/conventional-changelog-lmc-github/tests/index.test.js
@@ -1,7 +1,6 @@
// We are dealing with Streams here, not Promises
-/* eslint-disable jest/no-done-callback */
/* eslint-disable no-plusplus */
-
+/* eslint-disable jest/no-done-callback */
/* eslint-disable no-param-reassign */
const conventionalChangelogCore = require('conventional-changelog-core');
const gitDummyCommit = require('git-dummy-commit');
diff --git a/packages/conventional-changelog-lmc/src/bump-opts.js b/packages/conventional-changelog-lmc/src/bump-opts.js
index acdd3003..c73964d9 100644
--- a/packages/conventional-changelog-lmc/src/bump-opts.js
+++ b/packages/conventional-changelog-lmc/src/bump-opts.js
@@ -15,7 +15,7 @@ module.exports = {
} else if (commit.type === 'BREAKING CHANGE' || commit.type === 'BREAKING CHANGES') {
breakings += 1;
level = 0;
- } else if (commit.type === `Feat`) {
+ } else if (commit.type === 'Feat') {
features += 1;
if (level === 2) {
level = 1;
diff --git a/packages/eslint-config-base/.eslintrc b/packages/eslint-config-base/.eslintrc
deleted file mode 100644
index f5bdb1a4..00000000
--- a/packages/eslint-config-base/.eslintrc
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "extends": "./index.js",
- "rules": {
- // disable requiring trailing commas because it might be nice to revert to
- // being JSON at some point, and I don't want to make big changes now.
- "comma-dangle": 0,
-
- "max-len": 0
- }
-}
diff --git a/packages/eslint-config-base/README.md b/packages/eslint-config-base/README.md
index ad396706..17bc89a0 100644
--- a/packages/eslint-config-base/README.md
+++ b/packages/eslint-config-base/README.md
@@ -2,11 +2,11 @@
## Shared Rules
-These rules are meant to be shared across all ESLint rulesets.
+These rules are meant to be shared across all ESLint rule sets.
> Generally you should not need to install or extend from these files as they are automatically included in their respective environment-specific configurations.
>
-> See [@lmc-eu/code-quality-tools][cqt-home] for a full showdown of available rulesets.
+> See [@lmc-eu/code-quality-tools][cqt-home] for a full showdown of available rule sets.
## Configurations
@@ -31,35 +31,13 @@ This entry point only errors on whitespace rules and sets all other rules to war
## Recommended ESLint Configuration
```js
-// .eslintrc.js
+// eslint.config.mjs
-'use strict';
+import { defineConfig } from 'eslint/config';
+import base from '@lmc-eu/eslint-config-base';
+import optional from '@lmc-eu/eslint-config-base/optional';
-module.exports = {
- extends: ['@lmc-eu/eslint-config-base', '@lmc-eu/eslint-config-base/optional'],
-};
-```
-
-
-.eslintrc or .eslintrc.json
-
-```json
-{
- "extends": ["@lmc-eu/eslint-config-base", "@lmc-eu/eslint-config-base/optional"]
-}
-```
-
-
-
-
-package.json
-
-```json
-{
- "eslintConfig": {
- "extends": ["@lmc-eu/eslint-config-base", "@lmc-eu/eslint-config-base/optional"]
- }
-}
+export default defineConfig([...base, ...optional]);
```
It is also recommended that you lint the whole project folder (that is `npx eslint .`) instead of just
diff --git a/packages/eslint-config-base/eslint.config.js b/packages/eslint-config-base/eslint.config.js
new file mode 100644
index 00000000..5ced6c00
--- /dev/null
+++ b/packages/eslint-config-base/eslint.config.js
@@ -0,0 +1,17 @@
+import base from './index.js';
+
+export default [
+ ...base,
+ {
+ rules: {
+ // disable requiring trailing commas because it might be nice to revert to
+ // being JSON at some point, and I don't want to make big changes now.
+ 'comma-dangle': 0,
+
+ 'max-len': 0,
+
+ // Disabled because off node do not resolve
+ 'import/extensions': 'off',
+ },
+ },
+];
diff --git a/packages/eslint-config-base/globs.js b/packages/eslint-config-base/globs.js
index 3c3b0b14..ddfac76c 100644
--- a/packages/eslint-config-base/globs.js
+++ b/packages/eslint-config-base/globs.js
@@ -1,4 +1,4 @@
-module.exports = {
+export default {
// Test files patterns
tests: ['test/**', '**/*.test.*', '**/*.spec.*'],
diff --git a/packages/eslint-config-base/index.js b/packages/eslint-config-base/index.js
index b144a8e3..6d6c748b 100644
--- a/packages/eslint-config-base/index.js
+++ b/packages/eslint-config-base/index.js
@@ -1,38 +1,42 @@
-const globs = require('./globs');
+import { FlatCompat } from '@eslint/eslintrc';
+import { fixupConfigRules } from '@eslint/compat';
+import bestPractices from './rules/best-practices.js';
+import errors from './rules/errors.js';
+import node from './rules/node.js';
+import style from './rules/style.js';
+import variables from './rules/variables.js';
+import es6 from './rules/es6.js';
+import importsRules from './rules/imports.js';
+import strict from './rules/strict.js';
+import globs from './globs.js';
+import settings from './settings.js';
-module.exports = {
- plugins: ['import'],
+const compat = new FlatCompat();
- settings: {
- 'import/resolver': {
- node: {
- extensions: ['.mjs', '.cjs', '.js', '.json', '.node'],
- },
- },
- },
-
- extends: [
- 'eslint-config-airbnb-base',
- './rules/best-practices',
- './rules/errors',
- './rules/node',
- './rules/style',
- './rules/variables',
- './rules/es6',
- './rules/imports',
- './rules/strict',
- ].map(require.resolve),
+export default [
+ ...fixupConfigRules(compat.extends('eslint-config-airbnb-base')),
+ {
+ name: '@lmc-eu/eslint-config-base',
- rules: {},
+ settings,
- overrides: [
- {
- files: globs.configs,
+ rules: {},
+ },
+ bestPractices,
+ errors,
+ node,
+ style,
+ variables,
+ es6,
+ importsRules,
+ strict,
+ {
+ files: globs.configs,
- rules: {
- // Using process.env is encouraged in configuration files
- 'node/no-process-env': 'off',
- },
+ rules: {
+ // Using process.env is encouraged in configuration files
+ // @see: https://eslint.org/docs/latest/rules/no-process-env
+ 'node/no-process-env': 'off',
},
- ],
-};
+ },
+];
diff --git a/packages/eslint-config-base/legacy.js b/packages/eslint-config-base/legacy.js
index e88f7122..b4abee4e 100644
--- a/packages/eslint-config-base/legacy.js
+++ b/packages/eslint-config-base/legacy.js
@@ -1,4 +1,15 @@
-module.exports = {
- extends: ['eslint-config-airbnb-base/legacy'].map(require.resolve),
- rules: {},
-};
+import { FlatCompat } from '@eslint/eslintrc';
+import { fixupConfigRules } from '@eslint/compat';
+
+const compat = new FlatCompat({
+ baseDirectory: __dirname,
+});
+
+export default [
+ ...fixupConfigRules(compat.extends('eslint-config-airbnb-base/legacy')),
+ {
+ name: '@lmc-eu/eslint-config-base/legacy',
+
+ rules: {},
+ },
+];
diff --git a/packages/eslint-config-base/optional.js b/packages/eslint-config-base/optional.js
index 66824f85..ce5316b3 100644
--- a/packages/eslint-config-base/optional.js
+++ b/packages/eslint-config-base/optional.js
@@ -1,193 +1,195 @@
-const globs = require('./globs');
-
-module.exports = {
- extends: ['plugin:jsdoc/recommended'],
-
- plugins: ['import', 'jsdoc'],
-
- rules: {
- // Require Consistent Returns
- // This rule is aimed at ensuring all return statements either specify a value or don't specify
- // a value.
- // https://eslint.org/docs/rules/consistent-return
- 'consistent-return': [
- 'warn',
- {
- treatUndefinedAsUnspecified: true,
- },
- ],
-
- // Limit Maximum Depth
- // This rule aims to reduce the complexity of your code by allowing you to configure the maximum
- // depth blocks can be nested in a function.
- // https://eslint.org/docs/rules/max-depth
- 'max-depth': ['warn', 5],
-
- // Require Function Expressions to have a Name
- // If you provide the optional name for a function expression then you will get the name of the
- // function expression in the stack trace.
- // If you are tempted to create anonymous function expression, consider using arrow function
- // instead.
- // https://eslint.org/docs/rules/func-names
- 'func-names': ['warn', 'as-needed'],
-
- // Disallow Use of `undefined` Variable
- // In ECMAScript 3 it was possible to overwrite the value of undefined. While ECMAScript 5
- // disallows overwriting undefined, it's still possible to shadow `undefined`.
- // https://eslint.org/docs/rules/no-undefined
- 'no-undefined': 'warn',
-
- // Require symbol description
- // This rule requires a description when creating symbols. Using description promotes easier
- // debugging - when a symbol is logged the description is used.
- // https://eslint.org/docs/rules/symbol-description
- 'symbol-description': 'warn',
-
- // Reports if a resolved path is imported more than once
- // https://eslint.org/docs/rules/no-duplicate-imports
- 'import/no-duplicates': 'warn',
-
- // Require space before/after arrow function's arrow
- // https://eslint.org/docs/rules/arrow-spacing
- 'arrow-spacing': 'error', // airbnb error
-
- // Enforce spacing inside single-line blocks
- // https://eslint.org/docs/rules/block-spacing
- 'block-spacing': 'error', // airbnb error
-
- // Specify curly brace conventions for all control statements
- // https://eslint.org/docs/rules/curly
- curly: 'error', // airbnb error
-
- // Enforce spacing between functions and their invocations
- // https://eslint.org/docs/rules/func-call-spacing
- 'func-call-spacing': 'error', // airbnb error
-
- // https://eslint.org/docs/rules/function-call-argument-newline
- 'function-call-argument-newline': ['error', 'consistent'], // airbnb off
-
- // Enforces spacing between keys and values in object literal properties
- // https://eslint.org/docs/rules/key-spacing
- 'key-spacing': 'error', // airnb error
-
- // Require a space before & after certain keywords
- // https://eslint.org/docs/rules/keyword-spacing
- 'keyword-spacing': 'error', // airbnb error
-
- // Require or disallow space before blocks
- // https://eslint.org/docs/rules/space-before-blocks
- 'space-before-blocks': 'error', // airbnb error
-
- // Require or disallow space before function opening parenthesis
- // https://eslint.org/docs/rules/space-before-function-paren
- 'space-before-function-paren': [
- // airbnb error
- 'error',
- {
- anonymous: 'always',
- named: 'never',
- asyncArrow: 'always',
- },
- ],
-
- // Require spaces around operators
- // https://eslint.org/docs/rules/space-infix-ops
- 'space-infix-ops': 'error', // airbnb error
-
- // Require or disallow a space immediately following the // or /* in a comment
- // https://eslint.org/docs/rules/spaced-comment
- 'spaced-comment': 'error', // airbnb error
-
- // Require or disallow strict mode directives
- // https://eslint.org/docs/rules/strict
- strict: 'error', // airbnb error
-
- // Require an empty line before return statements
- // https://eslint.org/docs/rules/newline-before-return
- 'newline-before-return': 'error', // airbnb off
-
- // Disallow duplicate module imports
- // https://eslint.org/docs/rules/no-duplicate-imports
- 'no-duplicate-imports': 'error', // airbnb off
-
- // Disallow empty block statements
- // https://eslint.org/docs/rules/no-empty
- 'no-empty': 'error', // airbnb error
-
- // Disallow unnecessary calls to .bind()
- // https://eslint.org/docs/rules/no-extra-bind
- 'no-extra-bind': 'error', // airbnb error
-
- // Disallow unnecessary semicolons
- // http://eslint.org/docs/rules/no-extra-semi
- 'no-extra-semi': 'error', // airbnb error
-
- // Disallow multiple spaces
- // http://eslint.org/docs/rules/no-multi-spaces
- 'no-multi-spaces': 'error', // airbnb error
-
- // Disallow multiple empty lines
- // http://eslint.org/docs/rules/no-multiple-empty-lines
- 'no-multiple-empty-lines': [
- 'error',
- {
- max: 1,
- },
- ],
-
- // Disallow trailing whitespace at the end of lines
- // http://eslint.org/docs/rules/no-trailing-spaces
- 'no-trailing-spaces': 'error', // airbnb error
-
- // Disallow dangling underscores in identifiers
- // http://eslint.org/docs/rules/no-trailing-spaces
- 'no-underscore-dangle': 'error', // airbnb error
-
- // Disallow whitespace before properties
- // http://eslint.org/docs/rules/no-whitespace-before-property
- 'no-whitespace-before-property': 'error', // airbnb error
-
- // Enforce consistent line breaks inside braces
- // http://eslint.org/docs/rules/object-curly-newline
- 'object-curly-newline': [
- // airbnb error
- 'error',
- { consistent: true },
- ],
-
- // Disallow reassigning function parameters
- // allow only reassigment of properties like in DOM object
- // https://eslint.org/docs/rules/no-param-reassign
- 'no-param-reassign': ['error', { props: true }], // airbnb error
-
- // Requires that each @param tag has a description value.
- // it is better to focus on descriptive variable name
- // and not to require an useless comments which should be redundant
- // @see: https://github.com/lmc-eu/cookie-consent-manager/pull/120
- // https://github.com/gajus/eslint-plugin-jsdoc#require-param-description
- 'jsdoc/require-param-description': ['off'],
-
- // Requires that each @returns tag has a description value.
- // it is better to focus on descriptive variable name
- // and not to require an useless comments which should be redundant
- // @see: https://github.com/lmc-eu/cookie-consent-manager/pull/120
- // https://github.com/gajus/eslint-plugin-jsdoc#require-returns-description
- 'jsdoc/require-returns-description': ['off'],
-
- // Require an empty line after description to ensure better readability
- // @see: https://github.com/lmc-eu/code-quality-tools/issues/158
- // https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/tag-lines.md
- 'jsdoc/tag-lines': ['warn', 'any', { startLines: 1 }],
- },
+import jsdoc from 'eslint-plugin-jsdoc';
+import globs from './globs.js';
+
+export default [
+ jsdoc.configs['flat/recommended'],
+ {
+ name: '@lmc-eu/eslint-config-base/optional',
+ plugins: {
+ jsdoc,
+ },
- overrides: [
- {
- files: globs.tests,
+ rules: {
+ // Require Consistent Returns
+ // This rule is aimed at ensuring all return statements either specify a value or don't specify
+ // a value.
+ // https://eslint.org/docs/rules/consistent-return
+ 'consistent-return': [
+ 'warn',
+ {
+ treatUndefinedAsUnspecified: true,
+ },
+ ],
+
+ // Limit Maximum Depth
+ // This rule aims to reduce the complexity of your code by allowing you to configure the maximum
+ // depth blocks can be nested in a function.
+ // https://eslint.org/docs/rules/max-depth
+ 'max-depth': ['warn', 5],
+
+ // Require Function Expressions to have a Name
+ // If you provide the optional name for a function expression then you will get the name of the
+ // function expression in the stack trace.
+ // If you are tempted to create anonymous function expression, consider using arrow function
+ // instead.
+ // https://eslint.org/docs/rules/func-names
+ 'func-names': ['warn', 'as-needed'],
+
+ // Disallow Use of `undefined` Variable
+ // In ECMAScript 3 it was possible to overwrite the value of undefined. While ECMAScript 5
+ // disallows overwriting undefined, it's still possible to shadow `undefined`.
+ // https://eslint.org/docs/rules/no-undefined
+ 'no-undefined': 'warn',
+
+ // Require symbol description
+ // This rule requires a description when creating symbols. Using description promotes easier
+ // debugging - when a symbol is logged the description is used.
+ // https://eslint.org/docs/rules/symbol-description
+ 'symbol-description': 'warn',
+
+ // Reports if a resolved path is imported more than once
+ // https://eslint.org/docs/rules/no-duplicate-imports
+ 'import/no-duplicates': 'warn',
+
+ // Require space before/after arrow function's arrow
+ // https://eslint.org/docs/rules/arrow-spacing
+ 'arrow-spacing': 'error', // airbnb error
+
+ // Enforce spacing inside single-line blocks
+ // https://eslint.org/docs/rules/block-spacing
+ 'block-spacing': 'error', // airbnb error
+
+ // Specify curly brace conventions for all control statements
+ // https://eslint.org/docs/rules/curly
+ curly: 'error', // airbnb error
+
+ // Enforce spacing between functions and their invocations
+ // https://eslint.org/docs/rules/func-call-spacing
+ 'func-call-spacing': 'error', // airbnb error
+
+ // https://eslint.org/docs/rules/function-call-argument-newline
+ 'function-call-argument-newline': ['error', 'consistent'], // airbnb off
+
+ // Enforces spacing between keys and values in object literal properties
+ // https://eslint.org/docs/rules/key-spacing
+ 'key-spacing': 'error', // airnb error
+
+ // Require a space before & after certain keywords
+ // https://eslint.org/docs/rules/keyword-spacing
+ 'keyword-spacing': 'error', // airbnb error
+
+ // Require or disallow space before blocks
+ // https://eslint.org/docs/rules/space-before-blocks
+ 'space-before-blocks': 'error', // airbnb error
+
+ // Require or disallow space before function opening parenthesis
+ // https://eslint.org/docs/rules/space-before-function-paren
+ 'space-before-function-paren': [
+ // airbnb error
+ 'error',
+ {
+ anonymous: 'always',
+ named: 'never',
+ asyncArrow: 'always',
+ },
+ ],
+
+ // Require spaces around operators
+ // https://eslint.org/docs/rules/space-infix-ops
+ 'space-infix-ops': 'error', // airbnb error
+
+ // Require or disallow a space immediately following the // or /* in a comment
+ // https://eslint.org/docs/rules/spaced-comment
+ 'spaced-comment': 'error', // airbnb error
+
+ // Require or disallow strict mode directives
+ // https://eslint.org/docs/rules/strict
+ strict: 'error', // airbnb error
+
+ // Require an empty line before return statements
+ // https://eslint.org/docs/rules/newline-before-return
+ 'newline-before-return': 'error', // airbnb off
+
+ // Disallow duplicate module imports
+ // https://eslint.org/docs/rules/no-duplicate-imports
+ 'no-duplicate-imports': 'error', // airbnb off
+
+ // Disallow empty block statements
+ // https://eslint.org/docs/rules/no-empty
+ 'no-empty': 'error', // airbnb error
+
+ // Disallow unnecessary calls to .bind()
+ // https://eslint.org/docs/rules/no-extra-bind
+ 'no-extra-bind': 'error', // airbnb error
+
+ // Disallow unnecessary semicolons
+ // http://eslint.org/docs/rules/no-extra-semi
+ 'no-extra-semi': 'error', // airbnb error
+
+ // Disallow multiple spaces
+ // http://eslint.org/docs/rules/no-multi-spaces
+ 'no-multi-spaces': 'error', // airbnb error
+
+ // Disallow multiple empty lines
+ // http://eslint.org/docs/rules/no-multiple-empty-lines
+ 'no-multiple-empty-lines': [
+ 'error',
+ {
+ max: 1,
+ },
+ ],
+
+ // Disallow trailing whitespace at the end of lines
+ // http://eslint.org/docs/rules/no-trailing-spaces
+ 'no-trailing-spaces': 'error', // airbnb error
+
+ // Disallow dangling underscores in identifiers
+ // http://eslint.org/docs/rules/no-trailing-spaces
+ 'no-underscore-dangle': 'error', // airbnb error
+
+ // Disallow whitespace before properties
+ // http://eslint.org/docs/rules/no-whitespace-before-property
+ 'no-whitespace-before-property': 'error', // airbnb error
+
+ // Enforce consistent line breaks inside braces
+ // http://eslint.org/docs/rules/object-curly-newline
+ 'object-curly-newline': [
+ // airbnb error
+ 'error',
+ { consistent: true },
+ ],
+
+ // Disallow reassigning function parameters
+ // allow only reassigment of properties like in DOM object
+ // https://eslint.org/docs/rules/no-param-reassign
+ 'no-param-reassign': ['error', { props: true }], // airbnb error
+
+ // Requires that each @param tag has a description value.
+ // it is better to focus on descriptive variable name
+ // and not to require an useless comments which should be redundant
+ // @see: https://github.com/lmc-eu/cookie-consent-manager/pull/120
+ // https://github.com/gajus/eslint-plugin-jsdoc#require-param-description
+ 'jsdoc/require-param-description': ['off'],
+
+ // Requires that each @returns tag has a description value.
+ // it is better to focus on descriptive variable name
+ // and not to require an useless comments which should be redundant
+ // @see: https://github.com/lmc-eu/cookie-consent-manager/pull/120
+ // https://github.com/gajus/eslint-plugin-jsdoc#require-returns-description
+ 'jsdoc/require-returns-description': ['off'],
+
+ // Require an empty line after description to ensure better readability
+ // @see: https://github.com/lmc-eu/code-quality-tools/issues/158
+ // https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/tag-lines.md
+ 'jsdoc/tag-lines': ['warn', 'any', { startLines: 1 }],
+ },
+ },
+ {
+ files: globs.tests,
- rules: {
- // Do not require function names in test files
- 'func-names': 'off',
- },
+ rules: {
+ // Do not require function names in test files
+ 'func-names': 'off',
},
- ],
-};
+ },
+];
diff --git a/packages/eslint-config-base/package.json b/packages/eslint-config-base/package.json
index 3fd07a7a..5a05e4eb 100644
--- a/packages/eslint-config-base/package.json
+++ b/packages/eslint-config-base/package.json
@@ -14,8 +14,17 @@
"publishConfig": {
"access": "public"
},
+ "type": "module",
"engines": {
- "node": "^16 || ^18 || >=20"
+ "node": ">=20"
+ },
+ "exports": {
+ ".": "./index.js",
+ "./optional": "./optional.js",
+ "./globs": "./globs.js",
+ "./legacy": "./legacy.js",
+ "./whitespace": "./whitespace.js",
+ "./settings": "./settings.js"
},
"repository": {
"type": "git",
@@ -25,11 +34,13 @@
"url": "https://github.com/lmc-eu/code-quality-tools/issues"
},
"dependencies": {
+ "@eslint/compat": "^1.3.1",
+ "@eslint/eslintrc": "^3.3.1",
"eslint-config-airbnb-base": "^15.0.0",
- "eslint-plugin-import": "^2.25.2",
- "eslint-plugin-jsdoc": "^46.0.0"
+ "eslint-plugin-import": "^2.32.0",
+ "eslint-plugin-jsdoc": "^51.4.1"
},
"peerDependencies": {
- "eslint": "^8.1.0"
+ "eslint": "^9.0.0"
}
}
diff --git a/packages/eslint-config-base/rules/best-practices.js b/packages/eslint-config-base/rules/best-practices.js
index 5ba1c860..c636cbec 100644
--- a/packages/eslint-config-base/rules/best-practices.js
+++ b/packages/eslint-config-base/rules/best-practices.js
@@ -1,4 +1,4 @@
-module.exports = {
+export default {
rules: {
// Require return statements to either always or never specify values
// https://eslint.org/docs/rules/consistent-return
diff --git a/packages/eslint-config-base/rules/errors.js b/packages/eslint-config-base/rules/errors.js
index 152a5de0..f264c391 100644
--- a/packages/eslint-config-base/rules/errors.js
+++ b/packages/eslint-config-base/rules/errors.js
@@ -1,4 +1,4 @@
-module.exports = {
+export default {
rules: {
// Disallow Use of console
// In general, you should use a logging library which offers more flexibility in terms of log
diff --git a/packages/eslint-config-base/rules/es6.js b/packages/eslint-config-base/rules/es6.js
index c4c6f8af..d6a5eb88 100644
--- a/packages/eslint-config-base/rules/es6.js
+++ b/packages/eslint-config-base/rules/es6.js
@@ -1,4 +1,4 @@
-module.exports = {
+export default {
rules: {
// Require braces in arrow function body
// This rule can enforce the use of braces around arrow function body.
diff --git a/packages/eslint-config-base/rules/imports.js b/packages/eslint-config-base/rules/imports.js
index 4b58a959..c912161f 100644
--- a/packages/eslint-config-base/rules/imports.js
+++ b/packages/eslint-config-base/rules/imports.js
@@ -1,4 +1,4 @@
-module.exports = {
+export default {
rules: {
// Require modules with a single export to use a default export
// https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/prefer-default-export.md
diff --git a/packages/eslint-config-base/rules/node.js b/packages/eslint-config-base/rules/node.js
index f8c3771e..4f00b08c 100644
--- a/packages/eslint-config-base/rules/node.js
+++ b/packages/eslint-config-base/rules/node.js
@@ -1,3 +1,3 @@
-module.exports = {
+export default {
rules: {},
};
diff --git a/packages/eslint-config-base/rules/strict.js b/packages/eslint-config-base/rules/strict.js
index 1a025724..5ca9712e 100644
--- a/packages/eslint-config-base/rules/strict.js
+++ b/packages/eslint-config-base/rules/strict.js
@@ -1,4 +1,4 @@
-module.exports = {
+export default {
rules: {
// Require or disallow strict mode directives
// https://eslint.org/docs/rules/strict
diff --git a/packages/eslint-config-base/rules/style.js b/packages/eslint-config-base/rules/style.js
index edc95621..c37e929e 100644
--- a/packages/eslint-config-base/rules/style.js
+++ b/packages/eslint-config-base/rules/style.js
@@ -1,4 +1,4 @@
-module.exports = {
+export default {
rules: {
// disallow certain syntax forms
// https://eslint.org/docs/rules/no-restricted-syntax
diff --git a/packages/eslint-config-base/rules/variables.js b/packages/eslint-config-base/rules/variables.js
index b3d00e22..985e9bf0 100644
--- a/packages/eslint-config-base/rules/variables.js
+++ b/packages/eslint-config-base/rules/variables.js
@@ -1,4 +1,4 @@
-module.exports = {
+export default {
rules: {
// Disallow Early Use
// This rule will warn when it encounters a reference to an identifier that has not been yet
diff --git a/packages/eslint-config-base/settings.js b/packages/eslint-config-base/settings.js
new file mode 100644
index 00000000..3c9ade07
--- /dev/null
+++ b/packages/eslint-config-base/settings.js
@@ -0,0 +1,9 @@
+const settings = {
+ 'import/resolver': {
+ node: {
+ extensions: ['.mjs', '.cjs', '.js', '.json', '.node'],
+ },
+ },
+};
+
+export default settings;
diff --git a/packages/eslint-config-base/whitespace.js b/packages/eslint-config-base/whitespace.js
index cf8f6ad0..bff75703 100644
--- a/packages/eslint-config-base/whitespace.js
+++ b/packages/eslint-config-base/whitespace.js
@@ -1,4 +1,15 @@
-module.exports = {
- extends: ['eslint-config-airbnb-base/whitespace'].map(require.resolve),
- rules: {},
-};
+import { FlatCompat } from '@eslint/eslintrc';
+import { fixupConfigRules } from '@eslint/compat';
+
+const compat = new FlatCompat({
+ baseDirectory: __dirname,
+});
+
+export default [
+ ...fixupConfigRules(compat.extends('eslint-config-airbnb-base/whitespace')),
+ {
+ name: '@lmc-eu/eslint-config-base/whitespace',
+
+ rules: {},
+ },
+];
diff --git a/packages/eslint-config-jest/README.md b/packages/eslint-config-jest/README.md
index d90dfe20..6d91a668 100644
--- a/packages/eslint-config-jest/README.md
+++ b/packages/eslint-config-jest/README.md
@@ -18,15 +18,15 @@ yarn add @lmc-eu/eslint-config-jest -D
## Usage
-Create a _.eslintrc.js_ file with the following contents:
+Create a _eslint.config.js_ file with the following contents:
```js
-module.exports = {
- extends: [
- // ... (base eslint config)
- '@lmc-eu/eslint-config-jest',
- ],
-};
+// eslint.config.js
+
+import { defineConfig } from 'eslint/config';
+import jest from '@lmc-eu/eslint-config-jest';
+
+export default defineConfig([, /* other eslint configs */ ...jest]);
```
The shareable config can be customized in your [**eslint** configuration file](https://eslint.org/docs/user-guide/configuring).
diff --git a/packages/eslint-config-jest/index.js b/packages/eslint-config-jest/index.js
index 962e9a21..0c2bb20f 100644
--- a/packages/eslint-config-jest/index.js
+++ b/packages/eslint-config-jest/index.js
@@ -1,19 +1,25 @@
-const globs = require('@lmc-eu/eslint-config-base/globs');
+import { FlatCompat } from '@eslint/eslintrc';
+import globs from '@lmc-eu/eslint-config-base/globs';
+import jest from 'eslint-plugin-jest';
+import { fixupPluginRules } from '@eslint/compat';
-module.exports = {
- overrides: [
- {
- files: [...globs.tests, 'config/jest/**'],
+const compat = new FlatCompat();
- plugins: ['jest', 'jest-formatting'],
+export default [
+ jest.configs['flat/recommended'],
+ jest.configs['flat/style'],
+ ...fixupPluginRules(compat.extends('plugin:jest-formatting/recommended')),
+ {
+ files: [...globs.tests, 'config/jest/**'],
- env: {
+ plugins: { jest },
+
+ languageOptions: {
+ globals: {
jest: true,
},
-
- extends: ['plugin:jest/recommended', 'plugin:jest/style', 'plugin:jest-formatting/recommended'],
-
- rules: {},
},
- ],
-};
+
+ rules: {},
+ },
+];
diff --git a/packages/eslint-config-jest/package.json b/packages/eslint-config-jest/package.json
index 497e03ed..b22a2ccd 100644
--- a/packages/eslint-config-jest/package.json
+++ b/packages/eslint-config-jest/package.json
@@ -15,22 +15,28 @@
"access": "public"
},
"engines": {
- "node": "^16 || ^18 || >=20"
+ "node": ">=20"
+ },
+ "exports": {
+ ".": "./index.js"
},
"repository": {
"type": "git",
"url": "git+https://github.com/lmc-eu/code-quality-tools.git",
"directory": "packages/eslint-config-jest"
},
+ "type": "module",
"bugs": {
"url": "https://github.com/lmc-eu/code-quality-tools/issues"
},
"dependencies": {
- "@lmc-eu/eslint-config-base": "^3.1.3",
- "eslint-plugin-jest": "^27.0.0",
+ "@eslint/compat": "^1.3.1",
+ "@eslint/eslintrc": "^3.3.1",
+ "@lmc-eu/eslint-config-base": "3.1.3",
+ "eslint-plugin-jest": "^29.0.1",
"eslint-plugin-jest-formatting": "^3.1.0"
},
"peerDependencies": {
- "eslint": "^8.1.0"
+ "eslint": "^9.31.0"
}
}
diff --git a/packages/eslint-config-react/README.md b/packages/eslint-config-react/README.md
index f76e9a43..4b940858 100644
--- a/packages/eslint-config-react/README.md
+++ b/packages/eslint-config-react/README.md
@@ -27,39 +27,15 @@ Use this ruleset together with the above ruleset. Provides additional insights i
## Recommended ESLint Configuration
```js
-// .eslintrc.js
+// eslint.config.mjs
-'use strict';
+import { defineConfig } from 'eslint/config';
+import base from '@lmc-eu/eslint-config-react';
+import optional from '@lmc-eu/eslint-config-react/optional';
-module.exports = {
- extends: ['@lmc-eu/eslint-config-react', '@lmc-eu/eslint-config-react/optional'],
-};
+export default defineConfig([...base, ...optional]);
```
-
-.eslintrc or .eslintrc.json
-
-```json
-{
- "extends": ["@lmc-eu/eslint-config-react", "@lmc-eu/eslint-config-react/optional"]
-}
-```
-
-
-
-
-package.json
-
-```json
-{
- "eslintConfig": {
- "extends": ["@lmc-eu/eslint-config-react", "@lmc-eu/eslint-config-react/optional"]
- }
-}
-```
-
-
-
It is also recommended that you lint the whole project folder (that is. `npx eslint .`) instead of just
some folders (that is. `npx eslint src test`) and create an _.eslintignore_ file excluding any unwanted
lint folders. Doing so will allow new directories to be created without worrying about having to update your
diff --git a/packages/eslint-config-react/base.js b/packages/eslint-config-react/base.js
index d130b5e4..6b68bd18 100644
--- a/packages/eslint-config-react/base.js
+++ b/packages/eslint-config-react/base.js
@@ -1,4 +1,3 @@
-module.exports = {
- extends: ['@lmc-eu/eslint-config-base'].map(require.resolve),
- rules: {},
-};
+import base from '@lmc-eu/eslint-config-base';
+
+export default base;
diff --git a/packages/eslint-config-react/index.js b/packages/eslint-config-react/index.js
index e278c34e..bc623845 100644
--- a/packages/eslint-config-react/index.js
+++ b/packages/eslint-config-react/index.js
@@ -1,39 +1,46 @@
-const base = require('@lmc-eu/eslint-config-base');
+import base from '@lmc-eu/eslint-config-base';
+import settings from '@lmc-eu/eslint-config-base/settings';
+import babelParser from '@babel/eslint-parser';
+import react from './rules/react.js';
+import reactA11y from './rules/react-a11y.js';
+import reactHooks from './rules/react-hooks.js';
-module.exports = {
- extends: ['@lmc-eu/eslint-config-base', './rules/react', './rules/react-a11y', './rules/react-hooks'].map(
- require.resolve,
- ),
-
- parser: '@babel/eslint-parser',
-
- env: {
- browser: true,
- es6: true,
- },
-
- parserOptions: {
- ecmaVersion: 2018,
- sourceType: 'module',
- ecmaFeatures: {
- jsx: true,
- },
- babelOptions: {
- presets: ['@babel/preset-react'],
+export default [
+ ...base,
+ react,
+ reactA11y,
+ reactHooks,
+ {
+ languageOptions: {
+ parser: babelParser,
+ parserOptions: {
+ ecmaVersion: 'latest',
+ sourceType: 'module',
+ ecmaFeatures: {
+ jsx: true,
+ },
+ babelOptions: {
+ presets: ['@babel/preset-react'],
+ },
+ },
+ globals: {
+ browser: true,
+ es6: true,
+ },
},
- },
- settings: {
- react: {
- version: 'detect',
- },
+ rules: {},
- 'import/resolver': {
- node: {
- extensions: ['.jsx', ...base.settings['import/resolver'].node.extensions],
+ settings: {
+ react: {
+ version: 'detect',
+ },
+
+ 'import/resolver': {
+ node: {
+ extensions: ['.jsx', ...settings['import/resolver'].node.extensions],
+ },
},
},
},
-
- rules: {},
-};
+];
diff --git a/packages/eslint-config-react/legacy.js b/packages/eslint-config-react/legacy.js
index df6f1c2d..2ee9676d 100644
--- a/packages/eslint-config-react/legacy.js
+++ b/packages/eslint-config-react/legacy.js
@@ -1,4 +1,3 @@
-module.exports = {
- extends: ['@lmc-eu/eslint-config-base/legacy'].map(require.resolve),
- rules: {},
-};
+import baseLegacy from '@lmc-eu/eslint-config-base/legacy';
+
+export default baseLegacy;
diff --git a/packages/eslint-config-react/optional.js b/packages/eslint-config-react/optional.js
index d49bec75..ccff5f40 100644
--- a/packages/eslint-config-react/optional.js
+++ b/packages/eslint-config-react/optional.js
@@ -1,4 +1,3 @@
-module.exports = {
- extends: ['@lmc-eu/eslint-config-base/optional'].map(require.resolve),
- rules: {},
-};
+import baseOptional from '@lmc-eu/eslint-config-base/optional';
+
+export default baseOptional;
diff --git a/packages/eslint-config-react/package.json b/packages/eslint-config-react/package.json
index 10087e56..bbe5d2f5 100644
--- a/packages/eslint-config-react/package.json
+++ b/packages/eslint-config-react/package.json
@@ -15,7 +15,14 @@
"access": "public"
},
"engines": {
- "node": "^16 || ^18 || >=20"
+ "node": ">=20"
+ },
+ "exports": {
+ ".": "./index.js",
+ "./optional": "./optional.js",
+ "./legacy": "./legacy.js",
+ "./base": "./base.js",
+ "./whitespace": "./whitespace.js"
},
"repository": {
"type": "git",
@@ -25,17 +32,19 @@
"bugs": {
"url": "https://github.com/lmc-eu/code-quality-tools/issues"
},
+ "type": "module",
"dependencies": {
"@babel/core": "^7.16.5",
"@babel/eslint-parser": "^7.16.5",
- "@lmc-eu/eslint-config-base": "^3.1.3",
- "eslint-config-airbnb": "^19.0.2"
+ "@eslint/eslintrc": "^3.3.1",
+ "@lmc-eu/eslint-config-base": "3.1.3",
+ "eslint-config-airbnb": "^19.0.4"
},
"peerDependencies": {
"@babel/preset-react": "^7.16.5",
- "eslint": "^8.1.0",
- "eslint-plugin-jsx-a11y": "^6.5.1",
- "eslint-plugin-react": "^7.27.0",
- "eslint-plugin-react-hooks": "^4.3.0"
+ "eslint": "^9.0.0",
+ "eslint-plugin-jsx-a11y": "^6.10.2",
+ "eslint-plugin-react": "^7.37.5",
+ "eslint-plugin-react-hooks": "^5.2.0"
}
}
diff --git a/packages/eslint-config-react/rules/react-a11y.js b/packages/eslint-config-react/rules/react-a11y.js
index e18c10bb..e0681112 100644
--- a/packages/eslint-config-react/rules/react-a11y.js
+++ b/packages/eslint-config-react/rules/react-a11y.js
@@ -1,5 +1,11 @@
-module.exports = {
- extends: ['eslint-config-airbnb/rules/react-a11y'].map(require.resolve),
+import { FlatCompat } from '@eslint/eslintrc';
+
+const compat = new FlatCompat({
+ baseDirectory: __dirname,
+});
+
+export default {
+ extends: compat.extends('eslint-config-airbnb/rules/react-a11y'),
rules: {
// Enforce all anchors are valid, navigable elements
// https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/anchor-is-valid.md
diff --git a/packages/eslint-config-react/rules/react-hooks.js b/packages/eslint-config-react/rules/react-hooks.js
index bcbddb57..1d148ebb 100644
--- a/packages/eslint-config-react/rules/react-hooks.js
+++ b/packages/eslint-config-react/rules/react-hooks.js
@@ -1,5 +1,11 @@
-module.exports = {
- extends: ['eslint-config-airbnb/rules/react-hooks'].map(require.resolve),
+import { FlatCompat } from '@eslint/eslintrc';
+
+const compat = new FlatCompat({
+ baseDirectory: __dirname,
+});
+
+export default {
+ extends: compat.extends('eslint-config-airbnb/rules/react-hooks'),
rules: {
// Plugin enforces the Rules of Hooks (https://reactjs.org/docs/hooks-rules.html)
'react-hooks/exhaustive-deps': 'warn',
diff --git a/packages/eslint-config-react/rules/react.js b/packages/eslint-config-react/rules/react.js
index 0014d12e..e02a4e5a 100644
--- a/packages/eslint-config-react/rules/react.js
+++ b/packages/eslint-config-react/rules/react.js
@@ -1,5 +1,11 @@
-module.exports = {
- extends: ['eslint-config-airbnb/rules/react'].map(require.resolve),
+import { FlatCompat } from '@eslint/eslintrc';
+
+const compat = new FlatCompat({
+ baseDirectory: __dirname,
+});
+
+export default {
+ extends: compat.extends('eslint-config-airbnb/rules/react'),
rules: {
// This rule allows you to enforce curly braces or disallow unnecessary curly braces
// in JSX props and/or children
diff --git a/packages/eslint-config-react/whitespace.js b/packages/eslint-config-react/whitespace.js
index fa401383..782460e5 100644
--- a/packages/eslint-config-react/whitespace.js
+++ b/packages/eslint-config-react/whitespace.js
@@ -1,4 +1,12 @@
-module.exports = {
- extends: ['eslint-config-airbnb/whitespace'].map(require.resolve),
- rules: {},
-};
+import { FlatCompat } from '@eslint/eslintrc';
+
+const compat = new FlatCompat({
+ baseDirectory: __dirname,
+});
+
+export default [
+ {
+ extends: compat.extends('eslint-config-airbnb/whitespace'),
+ rules: {},
+ },
+];
diff --git a/packages/eslint-config-typescript/README.md b/packages/eslint-config-typescript/README.md
index 9c14d716..09e09ded 100644
--- a/packages/eslint-config-typescript/README.md
+++ b/packages/eslint-config-typescript/README.md
@@ -68,25 +68,31 @@ A full configuration for a TypeScript on React project:
> Please note, that you need to have [eslint-config-react][eslint-config-react] installed as well
```js
-// .eslintrc.js
-'use strict';
-
-module.exports = {
- extends: [
- '@lmc-eu/react',
- '@lmc-eu/react/style',
- '@lmc-eu/react/optional',
- '@lmc-eu/typescript',
- '@lmc-eu/typescript/style',
- '@lmc-eu/typescript/react',
- ],
-
- parserOptions: {
- // The project field is required in order for some TS-syntax-specific rules to function at all
- // @see https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/parser#configuration
- project: './tsconfig.json',
+// eslint.config.mjs
+import { defineConfig, globalIgnores } from 'eslint/config';
+import { FlatCompat } from '@eslint/eslintrc';
+import react from '@lmc-eu/eslint-config-react';
+import reactOptional from '@lmc-eu/eslint-config-react/optional';
+import ts from '@lmc-eu/eslint-config-typescript';
+import tsReact from '@lmc-eu/eslint-config-typescript/react';
+
+const compat = new FlatCompat({
+ baseDirectory: import.meta.dirname,
+});
+
+export default defineConfig([
+ ...react,
+ ...reactOptional,
+ ...ts,
+ ...tsReact,
+ {
+ parserOptions: {
+ // The project field is required in order for some TS-syntax-specific rules to function at all
+ // @see https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/parser#configuration
+ project: './tsconfig.json',
+ },
},
-};
+]);
```
To actually lint .ts files, you must pass the `--ext` flag to ESLint:
diff --git a/packages/eslint-config-typescript/index.js b/packages/eslint-config-typescript/index.js
index e0554e78..f2d7b29b 100644
--- a/packages/eslint-config-typescript/index.js
+++ b/packages/eslint-config-typescript/index.js
@@ -1,84 +1,86 @@
-const base = require('@lmc-eu/eslint-config-base');
-const globs = require('@lmc-eu/eslint-config-base/globs');
+import base from '@lmc-eu/eslint-config-base/index';
+import settings from '@lmc-eu/eslint-config-base/settings';
+// eslint-disable-next-line import/no-unresolved
+import tsEslint from 'typescript-eslint';
+// eslint-disable-next-line import/no-unresolved
+import tsParser from '@typescript-eslint/parser';
+import globs from '@lmc-eu/eslint-config-base/globs';
-module.exports = {
- extends: [require.resolve('@lmc-eu/eslint-config-base'), 'plugin:@typescript-eslint/recommended'],
-
- settings: {
- // Correctly recognize .ts and .d.ts files when checking import paths against the filesystem
- 'import/resolver': {
- node: {
- extensions: ['.ts', '.tsx', '.d.ts', ...base.settings['import/resolver'].node.extensions],
+export default [
+ ...base,
+ tsEslint.configs.recommended,
+ {
+ settings: {
+ // Correctly recognize .ts and .d.ts files when checking import paths against the filesystem
+ 'import/resolver': {
+ node: {
+ extensions: ['.ts', '.tsx', '.d.ts', ...settings['import/resolver'].node.extensions],
+ },
+ // Correctly recognize paths defined in tsconfig.json for package aliases
+ typescript: {},
},
- // Correctly recognize paths defined in tsconfig.json for package aliases
- typescript: {},
},
- },
-
- parser: '@typescript-eslint/parser',
-
- parserOptions: {
- ecmaVersion: 2018,
- sourceType: 'module',
- },
- plugins: ['@typescript-eslint'],
-
- env: {
- es6: true,
- },
+ languageOptions: {
+ parser: tsParser,
+ parserOptions: {
+ ecmaVersion: 2018,
+ sourceType: 'module',
+ },
+ globals: {
+ es6: true,
+ },
+ },
- rules: {
- // Disallow the declaration of empty interfaces
- // An empty interface is equivalent to its supertype. If the interface does not implement a
- // supertype, then the interface is equivalent to an empty object ({}). In both cases it can be
- // omitted.
- '@typescript-eslint/no-empty-interface': 'warn',
+ rules: {
+ // Disallow the declaration of empty interfaces
+ // An empty interface is equivalent to its supertype. If the interface does not implement a
+ // supertype, then the interface is equivalent to an empty object ({}). In both cases it can be
+ // omitted.
+ '@typescript-eslint/no-empty-interface': 'warn',
- // For some reason we need to make a copy of the rule configuration object for ESLint v8.12.0 because it complains
- // that the object must not have additional properties. I suspect that something is mutating our object along the
- // way.
- // TODO: remove this once this is fixed in ESLint
- '@typescript-eslint/no-shadow': ['error', { allow: ['resolve', 'reject', 'done', 'next', 'error'] }],
- 'no-shadow': 'off',
+ // For some reason we need to make a copy of the rule configuration object for ESLint v8.12.0 because it complains
+ // that the object must not have additional properties. I suspect that something is mutating our object along the
+ // way.
+ // TODO: remove this once this is fixed in ESLint
+ '@typescript-eslint/no-shadow': ['error', { allow: ['resolve', 'reject', 'done', 'next', 'error'] }],
+ 'no-shadow': 'off',
- // Disallow the use of variables before they are defined
- // This rule will warn when it encounters a reference to an identifier that has not yet been
- // declared.
- '@typescript-eslint/no-use-before-define': 'warn',
- 'no-use-before-define': 'off',
+ // Disallow the use of variables before they are defined
+ // This rule will warn when it encounters a reference to an identifier that has not yet been
+ // declared.
+ '@typescript-eslint/no-use-before-define': 'warn',
+ 'no-use-before-define': 'off',
- // Allow alter TypesScript's compiler errors only with description
- // This rule will warn only when you use ts-expect-error, ts-ignore, ts-nocheck without description
- // @see: https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/ban-ts-comment.md
- '@typescript-eslint/ban-ts-comment': [
- 'warn',
- {
- 'ts-expect-error': 'allow-with-description',
- 'ts-ignore': 'allow-with-description',
- 'ts-nocheck': 'allow-with-description',
- },
- ],
+ // Allow alter TypesScript's compiler errors only with description
+ // This rule will warn only when you use ts-expect-error, ts-ignore, ts-nocheck without description
+ // @see: https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/ban-ts-comment.md
+ '@typescript-eslint/ban-ts-comment': [
+ 'warn',
+ {
+ 'ts-expect-error': 'allow-with-description',
+ 'ts-ignore': 'allow-with-description',
+ 'ts-nocheck': 'allow-with-description',
+ },
+ ],
- // TS code is mostly self-documented and having JSDoc directives for everything is redundant
- // when you can easily infer return values and argument types from the code itself.
- 'jsdoc/require-jsdoc': 'off',
- 'jsdoc/require-returns': 'off',
- 'jsdoc/require-param-type': 'off',
+ // TS code is mostly self-documented and having JSDoc directives for everything is redundant
+ // when you can easily infer return values and argument types from the code itself.
+ 'jsdoc/require-jsdoc': 'off',
+ 'jsdoc/require-returns': 'off',
+ 'jsdoc/require-param-type': 'off',
+ },
},
-
- overrides: [
- {
- files: ['*.d.ts'],
- rules: {
- 'import/no-unused-modules': 'off',
- },
+ {
+ files: ['*.d.ts'],
+ rules: {
+ 'import/no-unused-modules': 'off',
},
- {
- files: globs.configs,
- rules: {
- 'node/no-process-env': 'off',
- },
+ },
+ {
+ files: globs.configs,
+ rules: {
+ 'node/no-process-env': 'off',
},
- ],
-};
+ },
+];
diff --git a/packages/eslint-config-typescript/optional.js b/packages/eslint-config-typescript/optional.js
index da58585f..ccff5f40 100644
--- a/packages/eslint-config-typescript/optional.js
+++ b/packages/eslint-config-typescript/optional.js
@@ -1,3 +1,3 @@
-module.exports = {
- extends: require.resolve('@lmc-eu/eslint-config-base/optional'),
-};
+import baseOptional from '@lmc-eu/eslint-config-base/optional';
+
+export default baseOptional;
diff --git a/packages/eslint-config-typescript/package.json b/packages/eslint-config-typescript/package.json
index e4a8fd46..4e750d5e 100644
--- a/packages/eslint-config-typescript/package.json
+++ b/packages/eslint-config-typescript/package.json
@@ -17,6 +17,7 @@
"engines": {
"node": "^16 || ^18 || >=20"
},
+ "type": "module",
"repository": {
"type": "git",
"url": "git://github.com/lmc-eu/code-quality-tools.git"
@@ -26,12 +27,15 @@
},
"main": "index.js",
"dependencies": {
- "@lmc-eu/eslint-config-base": "^3.1.3",
- "@typescript-eslint/eslint-plugin": "^6.0.0",
- "@typescript-eslint/parser": "^6.0.0",
- "eslint-import-resolver-typescript": "^3.2.7"
+ "@lmc-eu/eslint-config-base": "3.1.3",
+ "@lmc-eu/eslint-config-react": "2.0.6",
+ "@typescript-eslint/eslint-plugin": "^8.39.0",
+ "@typescript-eslint/parser": "^8.39.0",
+ "eslint-import-resolver-typescript": "^3.2.7",
+ "eslint-plugin-react": "^7.37.5",
+ "typescript-eslint": "^8.38.0"
},
"peerDependencies": {
- "eslint": "^8"
+ "eslint": "^9.31.0"
}
}
diff --git a/packages/eslint-config-typescript/react.js b/packages/eslint-config-typescript/react.js
index e052c68e..43db8321 100644
--- a/packages/eslint-config-typescript/react.js
+++ b/packages/eslint-config-typescript/react.js
@@ -1,42 +1,36 @@
-const globs = require('@lmc-eu/eslint-config-base/globs');
-// We are not listing '@lmc-eu/eslint-config-react' in dependencies on purpose -
-// - we don't want to spam Node.js users with unwanted React config.
-// Also on the other hand we believe that React users will already have
-// @lmc-eu/eslint-config-react configuration installed.
-// eslint-disable-next-line import/no-extraneous-dependencies
-const react = require('@lmc-eu/eslint-config-react');
+import reactConfig from '@lmc-eu/eslint-config-react';
+import globs from '@lmc-eu/eslint-config-base/globs';
-module.exports = {
- rules: {
- ...react.rules,
-
- 'react/jsx-filename-extension': ['error', { extensions: ['.js', '.jsx', '.ts', '.tsx'] }],
+export default [
+ ...reactConfig,
+ {
+ rules: {
+ 'react/jsx-filename-extension': ['error', { extensions: ['.js', '.jsx', '.ts', '.tsx'] }],
+ },
},
- overrides: [
- // Storybook
- {
- files: globs.storybook,
- rules: {
- '@typescript-eslint/consistent-type-assertions': 'off',
- 'import/group-exports': 'off',
- 'import/exports-last': 'off',
- 'import/no-default-export': 'off',
- },
+ // Storybook
+ {
+ files: globs.storybook,
+ rules: {
+ '@typescript-eslint/consistent-type-assertions': 'off',
+ 'import/group-exports': 'off',
+ 'import/exports-last': 'off',
+ 'import/no-default-export': 'off',
},
- // Next.js
- {
- files: globs.nextJs,
- rules: {
- 'import/no-default-export': 'off',
- },
+ },
+ // Next.js
+ {
+ files: globs.nextJs,
+ rules: {
+ 'import/no-default-export': 'off',
},
- // Tests
- {
- files: globs.tests,
- rules: {
- 'import/no-unused-modules': 'off',
- 'jest/expect-expect': 'off',
- },
+ },
+ // Tests
+ {
+ files: globs.tests,
+ rules: {
+ 'import/no-unused-modules': 'off',
+ 'jest/expect-expect': 'off',
},
- ],
-};
+ },
+];
diff --git a/packages/stylelint-config/__tests__/index.test.js b/packages/stylelint-config/__tests__/index.test.js
index 813a3fdf..d03e8235 100644
--- a/packages/stylelint-config/__tests__/index.test.js
+++ b/packages/stylelint-config/__tests__/index.test.js
@@ -3,10 +3,7 @@
import assert from 'node:assert/strict';
import fs from 'node:fs';
import { beforeEach, describe, it } from 'node:test';
-
import stylelint from 'stylelint';
-
-// eslint-disable-next-line import/extensions -- Specify the extension because Node is unable to detect module format.
import config from '../index.js';
describe('CSS', () => {
diff --git a/packages/stylelint-config/__tests__/order.test.js b/packages/stylelint-config/__tests__/order.test.js
index c0cefc01..90fa943b 100644
--- a/packages/stylelint-config/__tests__/order.test.js
+++ b/packages/stylelint-config/__tests__/order.test.js
@@ -6,7 +6,6 @@ import { beforeEach, describe, it } from 'node:test';
import stylelint from 'stylelint';
-// eslint-disable-next-line import/extensions -- Specify the extension because Node is unable to detect module format.
import config from '../rules/order.js';
describe('CSS order', () => {
diff --git a/packages/stylelint-config/__tests__/scss.test.js b/packages/stylelint-config/__tests__/scss.test.js
index 7a79ce6d..ba968aaa 100644
--- a/packages/stylelint-config/__tests__/scss.test.js
+++ b/packages/stylelint-config/__tests__/scss.test.js
@@ -6,7 +6,6 @@ import { beforeEach, describe, it } from 'node:test';
import stylelint from 'stylelint';
-// eslint-disable-next-line import/extensions -- Specify the extension because Node is unable to detect module format.
import config from '../rules/scss.js';
const validScss = readFileSync('./__tests__/__fixtures__/scss-valid.scss', 'utf-8');
diff --git a/packages/stylelint-config/package.json b/packages/stylelint-config/package.json
index 62eeb99b..da068be9 100644
--- a/packages/stylelint-config/package.json
+++ b/packages/stylelint-config/package.json
@@ -20,11 +20,7 @@
"rules/scss.js"
],
"exports": {
- ".": {
- "import": {
- "default": "./index.js"
- }
- },
+ ".": "./index.js",
"./package.json": "./package.json"
},
"publishConfig": {
diff --git a/yarn.lock b/yarn.lock
index 84722181..0e669888 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -5,7 +5,7 @@ __metadata:
version: 8
cacheKey: 10c0
-"@alma-oss/prettier-config@workspace:packages/prettier-config":
+"@alma-oss/prettier-config@workspace:^, @alma-oss/prettier-config@workspace:packages/prettier-config":
version: 0.0.0-use.local
resolution: "@alma-oss/prettier-config@workspace:packages/prettier-config"
peerDependencies:
@@ -13,7 +13,7 @@ __metadata:
languageName: unknown
linkType: soft
-"@almacareer/remark-config@workspace:packages/remark-config":
+"@almacareer/remark-config@workspace:^, @almacareer/remark-config@workspace:packages/remark-config":
version: 0.0.0-use.local
resolution: "@almacareer/remark-config@workspace:packages/remark-config"
dependencies:
@@ -733,18 +733,20 @@ __metadata:
languageName: node
linkType: hard
-"@es-joy/jsdoccomment@npm:~0.41.0":
- version: 0.41.0
- resolution: "@es-joy/jsdoccomment@npm:0.41.0"
+"@es-joy/jsdoccomment@npm:~0.52.0":
+ version: 0.52.0
+ resolution: "@es-joy/jsdoccomment@npm:0.52.0"
dependencies:
+ "@types/estree": "npm:^1.0.8"
+ "@typescript-eslint/types": "npm:^8.34.1"
comment-parser: "npm:1.4.1"
- esquery: "npm:^1.5.0"
- jsdoc-type-pratt-parser: "npm:~4.0.0"
- checksum: 10c0/1fa27531eba32e4699664da53a0865aeeda1f7e83ac156fe53b7a6b09d2f3816baa94a34845ff019c10289b09572bda5519ec917e3e241088975477fa880f72d
+ esquery: "npm:^1.6.0"
+ jsdoc-type-pratt-parser: "npm:~4.1.0"
+ checksum: 10c0/4def78060ef58859f31757b9d30c4939fc33e7d9ee85637a7f568c1d209c33aa0abd2cf5a3a4f3662ec5b12b85ecff2f2035d809dc93b9382a31a6dfb200d83c
languageName: node
linkType: hard
-"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0":
+"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.7.0":
version: 4.7.0
resolution: "@eslint-community/eslint-utils@npm:4.7.0"
dependencies:
@@ -755,34 +757,99 @@ __metadata:
languageName: node
linkType: hard
-"@eslint-community/regexpp@npm:^4.5.1, @eslint-community/regexpp@npm:^4.6.1":
+"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.12.1":
version: 4.12.1
resolution: "@eslint-community/regexpp@npm:4.12.1"
checksum: 10c0/a03d98c246bcb9109aec2c08e4d10c8d010256538dcb3f56610191607214523d4fb1b00aa81df830b6dffb74c5fa0be03642513a289c567949d3e550ca11cdf6
languageName: node
linkType: hard
-"@eslint/eslintrc@npm:^2.1.4":
- version: 2.1.4
- resolution: "@eslint/eslintrc@npm:2.1.4"
+"@eslint/compat@npm:^1.3.1":
+ version: 1.3.1
+ resolution: "@eslint/compat@npm:1.3.1"
+ peerDependencies:
+ eslint: ^8.40 || 9
+ peerDependenciesMeta:
+ eslint:
+ optional: true
+ checksum: 10c0/8dfcea5ecb854111f9c0acc23a469e0a25cdaddceb5fb40c47988c247d6e32ec199bcd00f1b8ba9ed779228526552703c4b74948169e78b78b5fd814e04b042b
+ languageName: node
+ linkType: hard
+
+"@eslint/config-array@npm:^0.21.0":
+ version: 0.21.0
+ resolution: "@eslint/config-array@npm:0.21.0"
+ dependencies:
+ "@eslint/object-schema": "npm:^2.1.6"
+ debug: "npm:^4.3.1"
+ minimatch: "npm:^3.1.2"
+ checksum: 10c0/0ea801139166c4aa56465b309af512ef9b2d3c68f9198751bbc3e21894fe70f25fbf26e1b0e9fffff41857bc21bfddeee58649ae6d79aadcd747db0c5dca771f
+ languageName: node
+ linkType: hard
+
+"@eslint/config-helpers@npm:^0.3.0":
+ version: 0.3.0
+ resolution: "@eslint/config-helpers@npm:0.3.0"
+ checksum: 10c0/013ae7b189eeae8b30cc2ee87bc5c9c091a9cd615579003290eb28bebad5d78806a478e74ba10b3fe08ed66975b52af7d2cd4b4b43990376412b14e5664878c8
+ languageName: node
+ linkType: hard
+
+"@eslint/core@npm:^0.15.0":
+ version: 0.15.1
+ resolution: "@eslint/core@npm:0.15.1"
+ dependencies:
+ "@types/json-schema": "npm:^7.0.15"
+ checksum: 10c0/abaf641940776638b8c15a38d99ce0dac551a8939310ec81b9acd15836a574cf362588eaab03ab11919bc2a0f9648b19ea8dee33bf12675eb5b6fd38bda6f25e
+ languageName: node
+ linkType: hard
+
+"@eslint/core@npm:^0.15.2":
+ version: 0.15.2
+ resolution: "@eslint/core@npm:0.15.2"
+ dependencies:
+ "@types/json-schema": "npm:^7.0.15"
+ checksum: 10c0/c17a6dc4f5a6006ecb60165cc38bcd21fefb4a10c7a2578a0cfe5813bbd442531a87ed741da5adab5eb678e8e693fda2e2b14555b035355537e32bcec367ea17
+ languageName: node
+ linkType: hard
+
+"@eslint/eslintrc@npm:^3.3.1":
+ version: 3.3.1
+ resolution: "@eslint/eslintrc@npm:3.3.1"
dependencies:
ajv: "npm:^6.12.4"
debug: "npm:^4.3.2"
- espree: "npm:^9.6.0"
- globals: "npm:^13.19.0"
+ espree: "npm:^10.0.1"
+ globals: "npm:^14.0.0"
ignore: "npm:^5.2.0"
import-fresh: "npm:^3.2.1"
js-yaml: "npm:^4.1.0"
minimatch: "npm:^3.1.2"
strip-json-comments: "npm:^3.1.1"
- checksum: 10c0/32f67052b81768ae876c84569ffd562491ec5a5091b0c1e1ca1e0f3c24fb42f804952fdd0a137873bc64303ba368a71ba079a6f691cee25beee9722d94cc8573
+ checksum: 10c0/b0e63f3bc5cce4555f791a4e487bf999173fcf27c65e1ab6e7d63634d8a43b33c3693e79f192cbff486d7df1be8ebb2bd2edc6e70ddd486cbfa84a359a3e3b41
languageName: node
linkType: hard
-"@eslint/js@npm:8.57.1":
- version: 8.57.1
- resolution: "@eslint/js@npm:8.57.1"
- checksum: 10c0/b489c474a3b5b54381c62e82b3f7f65f4b8a5eaaed126546520bf2fede5532a8ed53212919fed1e9048dcf7f37167c8561d58d0ba4492a4244004e7793805223
+"@eslint/js@npm:9.31.0":
+ version: 9.31.0
+ resolution: "@eslint/js@npm:9.31.0"
+ checksum: 10c0/f9d4c73d0fafe70679a418cbb25ab7ebcc8f1dba6c32456d6f8ba5a137d583ecff233cfe10f61f41d7d4d2220e94cff1f39fc7ed1fa3819d1888dee1cad678ea
+ languageName: node
+ linkType: hard
+
+"@eslint/object-schema@npm:^2.1.6":
+ version: 2.1.6
+ resolution: "@eslint/object-schema@npm:2.1.6"
+ checksum: 10c0/b8cdb7edea5bc5f6a96173f8d768d3554a628327af536da2fc6967a93b040f2557114d98dbcdbf389d5a7b290985ad6a9ce5babc547f36fc1fde42e674d11a56
+ languageName: node
+ linkType: hard
+
+"@eslint/plugin-kit@npm:^0.3.1":
+ version: 0.3.5
+ resolution: "@eslint/plugin-kit@npm:0.3.5"
+ dependencies:
+ "@eslint/core": "npm:^0.15.2"
+ levn: "npm:^0.4.1"
+ checksum: 10c0/c178c1b58c574200c0fd125af3e4bc775daba7ce434ba6d1eeaf9bcb64b2e9fea75efabffb3ed3ab28858e55a016a5efa95f509994ee4341b341199ca630b89e
languageName: node
linkType: hard
@@ -1075,14 +1142,20 @@ __metadata:
languageName: node
linkType: hard
-"@humanwhocodes/config-array@npm:^0.13.0":
- version: 0.13.0
- resolution: "@humanwhocodes/config-array@npm:0.13.0"
+"@humanfs/core@npm:^0.19.1":
+ version: 0.19.1
+ resolution: "@humanfs/core@npm:0.19.1"
+ checksum: 10c0/aa4e0152171c07879b458d0e8a704b8c3a89a8c0541726c6b65b81e84fd8b7564b5d6c633feadc6598307d34564bd53294b533491424e8e313d7ab6c7bc5dc67
+ languageName: node
+ linkType: hard
+
+"@humanfs/node@npm:^0.16.6":
+ version: 0.16.6
+ resolution: "@humanfs/node@npm:0.16.6"
dependencies:
- "@humanwhocodes/object-schema": "npm:^2.0.3"
- debug: "npm:^4.3.1"
- minimatch: "npm:^3.0.5"
- checksum: 10c0/205c99e756b759f92e1f44a3dc6292b37db199beacba8f26c2165d4051fe73a4ae52fdcfd08ffa93e7e5cb63da7c88648f0e84e197d154bbbbe137b2e0dd332e
+ "@humanfs/core": "npm:^0.19.1"
+ "@humanwhocodes/retry": "npm:^0.3.0"
+ checksum: 10c0/8356359c9f60108ec204cbd249ecd0356667359b2524886b357617c4a7c3b6aace0fd5a369f63747b926a762a88f8a25bc066fa1778508d110195ce7686243e1
languageName: node
linkType: hard
@@ -1093,10 +1166,17 @@ __metadata:
languageName: node
linkType: hard
-"@humanwhocodes/object-schema@npm:^2.0.3":
- version: 2.0.3
- resolution: "@humanwhocodes/object-schema@npm:2.0.3"
- checksum: 10c0/80520eabbfc2d32fe195a93557cef50dfe8c8905de447f022675aaf66abc33ae54098f5ea78548d925aa671cd4ab7c7daa5ad704fe42358c9b5e7db60f80696c
+"@humanwhocodes/retry@npm:^0.3.0":
+ version: 0.3.1
+ resolution: "@humanwhocodes/retry@npm:0.3.1"
+ checksum: 10c0/f0da1282dfb45e8120480b9e2e275e2ac9bbe1cf016d046fdad8e27cc1285c45bb9e711681237944445157b430093412b4446c1ab3fc4bb037861b5904101d3b
+ languageName: node
+ linkType: hard
+
+"@humanwhocodes/retry@npm:^0.4.2":
+ version: 0.4.3
+ resolution: "@humanwhocodes/retry@npm:0.4.3"
+ checksum: 10c0/3775bb30087d4440b3f7406d5a057777d90e4b9f435af488a4923ef249e93615fb78565a85f173a186a076c7706a81d0d57d563a2624e4de2c5c9c66c486ce42
languageName: node
linkType: hard
@@ -1573,15 +1653,17 @@ __metadata:
languageName: unknown
linkType: soft
-"@lmc-eu/eslint-config-base@npm:^3.1.3, @lmc-eu/eslint-config-base@workspace:packages/eslint-config-base":
+"@lmc-eu/eslint-config-base@npm:3.1.3, @lmc-eu/eslint-config-base@npm:^3.1.3, @lmc-eu/eslint-config-base@workspace:packages/eslint-config-base":
version: 0.0.0-use.local
resolution: "@lmc-eu/eslint-config-base@workspace:packages/eslint-config-base"
dependencies:
+ "@eslint/compat": "npm:^1.3.1"
+ "@eslint/eslintrc": "npm:^3.3.1"
eslint-config-airbnb-base: "npm:^15.0.0"
- eslint-plugin-import: "npm:^2.25.2"
- eslint-plugin-jsdoc: "npm:^46.0.0"
+ eslint-plugin-import: "npm:^2.32.0"
+ eslint-plugin-jsdoc: "npm:^51.4.1"
peerDependencies:
- eslint: ^8.1.0
+ eslint: ^9.0.0
languageName: unknown
linkType: soft
@@ -1601,28 +1683,31 @@ __metadata:
version: 0.0.0-use.local
resolution: "@lmc-eu/eslint-config-jest@workspace:packages/eslint-config-jest"
dependencies:
- "@lmc-eu/eslint-config-base": "npm:^3.1.3"
- eslint-plugin-jest: "npm:^27.0.0"
+ "@eslint/compat": "npm:^1.3.1"
+ "@eslint/eslintrc": "npm:^3.3.1"
+ "@lmc-eu/eslint-config-base": "npm:3.1.3"
+ eslint-plugin-jest: "npm:^29.0.1"
eslint-plugin-jest-formatting: "npm:^3.1.0"
peerDependencies:
- eslint: ^8.1.0
+ eslint: ^9.31.0
languageName: unknown
linkType: soft
-"@lmc-eu/eslint-config-react@workspace:packages/eslint-config-react":
+"@lmc-eu/eslint-config-react@npm:2.0.6, @lmc-eu/eslint-config-react@workspace:packages/eslint-config-react":
version: 0.0.0-use.local
resolution: "@lmc-eu/eslint-config-react@workspace:packages/eslint-config-react"
dependencies:
"@babel/core": "npm:^7.16.5"
"@babel/eslint-parser": "npm:^7.16.5"
- "@lmc-eu/eslint-config-base": "npm:^3.1.3"
- eslint-config-airbnb: "npm:^19.0.2"
+ "@eslint/eslintrc": "npm:^3.3.1"
+ "@lmc-eu/eslint-config-base": "npm:3.1.3"
+ eslint-config-airbnb: "npm:^19.0.4"
peerDependencies:
"@babel/preset-react": ^7.16.5
- eslint: ^8.1.0
- eslint-plugin-jsx-a11y: ^6.5.1
- eslint-plugin-react: ^7.27.0
- eslint-plugin-react-hooks: ^4.3.0
+ eslint: ^9.0.0
+ eslint-plugin-jsx-a11y: ^6.10.2
+ eslint-plugin-react: ^7.37.5
+ eslint-plugin-react-hooks: ^5.2.0
languageName: unknown
linkType: soft
@@ -1630,12 +1715,15 @@ __metadata:
version: 0.0.0-use.local
resolution: "@lmc-eu/eslint-config-typescript@workspace:packages/eslint-config-typescript"
dependencies:
- "@lmc-eu/eslint-config-base": "npm:^3.1.3"
- "@typescript-eslint/eslint-plugin": "npm:^6.0.0"
- "@typescript-eslint/parser": "npm:^6.0.0"
+ "@lmc-eu/eslint-config-base": "npm:3.1.3"
+ "@lmc-eu/eslint-config-react": "npm:2.0.6"
+ "@typescript-eslint/eslint-plugin": "npm:^8.39.0"
+ "@typescript-eslint/parser": "npm:^8.39.0"
eslint-import-resolver-typescript: "npm:^3.2.7"
+ eslint-plugin-react: "npm:^7.37.5"
+ typescript-eslint: "npm:^8.38.0"
peerDependencies:
- eslint: ^8
+ eslint: ^9.31.0
languageName: unknown
linkType: soft
@@ -1663,8 +1751,8 @@ __metadata:
linkType: soft
"@modelcontextprotocol/sdk@npm:^1.15.1":
- version: 1.17.1
- resolution: "@modelcontextprotocol/sdk@npm:1.17.1"
+ version: 1.17.2
+ resolution: "@modelcontextprotocol/sdk@npm:1.17.2"
dependencies:
ajv: "npm:^6.12.6"
content-type: "npm:^1.0.5"
@@ -1678,7 +1766,7 @@ __metadata:
raw-body: "npm:^3.0.0"
zod: "npm:^3.23.8"
zod-to-json-schema: "npm:^3.24.1"
- checksum: 10c0/bddee1c4a90adb2ee3f89f5598f0499841b1ad8b4d9a52b2b0afac3009918570d72240588a17178e319bdfbe70aced190f66b25e14f0a0645eacaf4776d4c15a
+ checksum: 10c0/9f0d00dc5f96a6bc78b775d2ce57d72270cf3b0fad08209f0061e30fff6e2005b7e6abbef98fbc030ba7e3aa5c78e5211f9b5c2a3d0d8f4455dfd47fef228720
languageName: node
linkType: hard
@@ -1730,7 +1818,7 @@ __metadata:
languageName: node
linkType: hard
-"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8":
+"@nodelib/fs.walk@npm:^1.2.3":
version: 1.2.8
resolution: "@nodelib/fs.walk@npm:1.2.8"
dependencies:
@@ -2856,7 +2944,7 @@ __metadata:
languageName: node
linkType: hard
-"@types/estree@npm:*":
+"@types/estree@npm:*, @types/estree@npm:^1.0.6, @types/estree@npm:^1.0.8":
version: 1.0.8
resolution: "@types/estree@npm:1.0.8"
checksum: 10c0/39d34d1afaa338ab9763f37ad6066e3f349444f9052b9676a7cc0252ef9485a41c6d81c9c4e0d26e9077993354edf25efc853f3224dd4b447175ef62bdcc86a5
@@ -2913,7 +3001,7 @@ __metadata:
languageName: node
linkType: hard
-"@types/json-schema@npm:^7.0.12, @types/json-schema@npm:^7.0.9":
+"@types/json-schema@npm:^7.0.15":
version: 7.0.15
resolution: "@types/json-schema@npm:7.0.15"
checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db
@@ -2967,11 +3055,11 @@ __metadata:
linkType: hard
"@types/node@npm:*":
- version: 24.1.0
- resolution: "@types/node@npm:24.1.0"
+ version: 24.2.0
+ resolution: "@types/node@npm:24.2.0"
dependencies:
- undici-types: "npm:~7.8.0"
- checksum: 10c0/6c4686bc144f6ce7bffd4cadc3e1196e2217c1da4c639c637213719c8a3ee58b6c596b994befcbffeacd9d9eb0c3bff6529d2bc27da5d1cb9d58b1da0056f9f4
+ undici-types: "npm:~7.10.0"
+ checksum: 10c0/0b55af4d7b37fea47bbeffffaff908462fa19ea9b1a18f92d9ed6d8415d97971b254f8cb3f629cd238916e94711fdb6ac939aa750cb353dfd6df6c0339435740
languageName: node
linkType: hard
@@ -2991,13 +3079,6 @@ __metadata:
languageName: node
linkType: hard
-"@types/semver@npm:^7.3.12, @types/semver@npm:^7.5.0":
- version: 7.7.0
- resolution: "@types/semver@npm:7.7.0"
- checksum: 10c0/6b5f65f647474338abbd6ee91a6bbab434662ddb8fe39464edcbcfc96484d388baad9eb506dff217b6fc1727a88894930eb1f308617161ac0f376fe06be4e1ee
- languageName: node
- linkType: hard
-
"@types/stack-utils@npm:^2.0.0":
version: 2.0.3
resolution: "@types/stack-utils@npm:2.0.3"
@@ -3058,196 +3139,277 @@ __metadata:
languageName: node
linkType: hard
-"@typescript-eslint/eslint-plugin@npm:^6.0.0":
- version: 6.21.0
- resolution: "@typescript-eslint/eslint-plugin@npm:6.21.0"
+"@typescript-eslint/eslint-plugin@npm:8.38.0":
+ version: 8.38.0
+ resolution: "@typescript-eslint/eslint-plugin@npm:8.38.0"
dependencies:
- "@eslint-community/regexpp": "npm:^4.5.1"
- "@typescript-eslint/scope-manager": "npm:6.21.0"
- "@typescript-eslint/type-utils": "npm:6.21.0"
- "@typescript-eslint/utils": "npm:6.21.0"
- "@typescript-eslint/visitor-keys": "npm:6.21.0"
- debug: "npm:^4.3.4"
+ "@eslint-community/regexpp": "npm:^4.10.0"
+ "@typescript-eslint/scope-manager": "npm:8.38.0"
+ "@typescript-eslint/type-utils": "npm:8.38.0"
+ "@typescript-eslint/utils": "npm:8.38.0"
+ "@typescript-eslint/visitor-keys": "npm:8.38.0"
graphemer: "npm:^1.4.0"
- ignore: "npm:^5.2.4"
+ ignore: "npm:^7.0.0"
natural-compare: "npm:^1.4.0"
- semver: "npm:^7.5.4"
- ts-api-utils: "npm:^1.0.1"
+ ts-api-utils: "npm:^2.1.0"
peerDependencies:
- "@typescript-eslint/parser": ^6.0.0 || ^6.0.0-alpha
- eslint: ^7.0.0 || ^8.0.0
- peerDependenciesMeta:
- typescript:
- optional: true
- checksum: 10c0/f911a79ee64d642f814a3b6cdb0d324b5f45d9ef955c5033e78903f626b7239b4aa773e464a38c3e667519066169d983538f2bf8e5d00228af587c9d438fb344
+ "@typescript-eslint/parser": ^8.38.0
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: ">=4.8.4 <5.9.0"
+ checksum: 10c0/199b82e9f0136baecf515df7c31bfed926a7c6d4e6298f64ee1a77c8bdd7a8cb92a2ea55a5a345c9f2948a02f7be6d72530efbe803afa1892b593fbd529d0c27
languageName: node
linkType: hard
-"@typescript-eslint/parser@npm:^6.0.0":
- version: 6.21.0
- resolution: "@typescript-eslint/parser@npm:6.21.0"
+"@typescript-eslint/eslint-plugin@npm:^8.39.0":
+ version: 8.39.0
+ resolution: "@typescript-eslint/eslint-plugin@npm:8.39.0"
dependencies:
- "@typescript-eslint/scope-manager": "npm:6.21.0"
- "@typescript-eslint/types": "npm:6.21.0"
- "@typescript-eslint/typescript-estree": "npm:6.21.0"
- "@typescript-eslint/visitor-keys": "npm:6.21.0"
+ "@eslint-community/regexpp": "npm:^4.10.0"
+ "@typescript-eslint/scope-manager": "npm:8.39.0"
+ "@typescript-eslint/type-utils": "npm:8.39.0"
+ "@typescript-eslint/utils": "npm:8.39.0"
+ "@typescript-eslint/visitor-keys": "npm:8.39.0"
+ graphemer: "npm:^1.4.0"
+ ignore: "npm:^7.0.0"
+ natural-compare: "npm:^1.4.0"
+ ts-api-utils: "npm:^2.1.0"
+ peerDependencies:
+ "@typescript-eslint/parser": ^8.39.0
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: ">=4.8.4 <6.0.0"
+ checksum: 10c0/c735a99622e2a4a95d89fa02cc47e65279f61972a68b62f58c32a384e766473289b6234cdaa34b5caa9372d4bdf1b22ad34b45feada482c4ed7320784fa19312
+ languageName: node
+ linkType: hard
+
+"@typescript-eslint/parser@npm:8.38.0":
+ version: 8.38.0
+ resolution: "@typescript-eslint/parser@npm:8.38.0"
+ dependencies:
+ "@typescript-eslint/scope-manager": "npm:8.38.0"
+ "@typescript-eslint/types": "npm:8.38.0"
+ "@typescript-eslint/typescript-estree": "npm:8.38.0"
+ "@typescript-eslint/visitor-keys": "npm:8.38.0"
debug: "npm:^4.3.4"
peerDependencies:
- eslint: ^7.0.0 || ^8.0.0
- peerDependenciesMeta:
- typescript:
- optional: true
- checksum: 10c0/a8f99820679decd0d115c0af61903fb1de3b1b5bec412dc72b67670bf636de77ab07f2a68ee65d6da7976039bbf636907f9d5ca546db3f0b98a31ffbc225bc7d
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: ">=4.8.4 <5.9.0"
+ checksum: 10c0/5580c2a328f0c15f85e4a0961a07584013cc0aca85fe868486187f7c92e9e3f6602c6e3dab917b092b94cd492ed40827c6f5fea42730bef88eb17592c947adf4
languageName: node
linkType: hard
-"@typescript-eslint/scope-manager@npm:5.62.0":
- version: 5.62.0
- resolution: "@typescript-eslint/scope-manager@npm:5.62.0"
+"@typescript-eslint/parser@npm:^8.39.0":
+ version: 8.39.0
+ resolution: "@typescript-eslint/parser@npm:8.39.0"
dependencies:
- "@typescript-eslint/types": "npm:5.62.0"
- "@typescript-eslint/visitor-keys": "npm:5.62.0"
- checksum: 10c0/861253235576c1c5c1772d23cdce1418c2da2618a479a7de4f6114a12a7ca853011a1e530525d0931c355a8fd237b9cd828fac560f85f9623e24054fd024726f
+ "@typescript-eslint/scope-manager": "npm:8.39.0"
+ "@typescript-eslint/types": "npm:8.39.0"
+ "@typescript-eslint/typescript-estree": "npm:8.39.0"
+ "@typescript-eslint/visitor-keys": "npm:8.39.0"
+ debug: "npm:^4.3.4"
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: ">=4.8.4 <6.0.0"
+ checksum: 10c0/cb437362ea80303e728eccada1ba630769e90d863471d2cb65abbeda540679f93a566bb4ecdcd3aca39c01f48f865a70aed3e94fbaacc6a81e79bb804c596f0b
languageName: node
linkType: hard
-"@typescript-eslint/scope-manager@npm:6.21.0":
- version: 6.21.0
- resolution: "@typescript-eslint/scope-manager@npm:6.21.0"
+"@typescript-eslint/project-service@npm:8.38.0":
+ version: 8.38.0
+ resolution: "@typescript-eslint/project-service@npm:8.38.0"
dependencies:
- "@typescript-eslint/types": "npm:6.21.0"
- "@typescript-eslint/visitor-keys": "npm:6.21.0"
- checksum: 10c0/eaf868938d811cbbea33e97e44ba7050d2b6892202cea6a9622c486b85ab1cf801979edf78036179a8ba4ac26f1dfdf7fcc83a68c1ff66be0b3a8e9a9989b526
+ "@typescript-eslint/tsconfig-utils": "npm:^8.38.0"
+ "@typescript-eslint/types": "npm:^8.38.0"
+ debug: "npm:^4.3.4"
+ peerDependencies:
+ typescript: ">=4.8.4 <5.9.0"
+ checksum: 10c0/87d2f55521e289bbcdc666b1f4587ee2d43039cee927310b05abaa534b528dfb1b5565c1545bb4996d7fbdf9d5a3b0aa0e6c93a8f1289e3fcfd60d246364a884
languageName: node
linkType: hard
-"@typescript-eslint/type-utils@npm:6.21.0":
- version: 6.21.0
- resolution: "@typescript-eslint/type-utils@npm:6.21.0"
+"@typescript-eslint/project-service@npm:8.39.0":
+ version: 8.39.0
+ resolution: "@typescript-eslint/project-service@npm:8.39.0"
dependencies:
- "@typescript-eslint/typescript-estree": "npm:6.21.0"
- "@typescript-eslint/utils": "npm:6.21.0"
+ "@typescript-eslint/tsconfig-utils": "npm:^8.39.0"
+ "@typescript-eslint/types": "npm:^8.39.0"
debug: "npm:^4.3.4"
- ts-api-utils: "npm:^1.0.1"
peerDependencies:
- eslint: ^7.0.0 || ^8.0.0
- peerDependenciesMeta:
- typescript:
- optional: true
- checksum: 10c0/7409c97d1c4a4386b488962739c4f1b5b04dc60cf51f8cd88e6b12541f84d84c6b8b67e491a147a2c95f9ec486539bf4519fb9d418411aef6537b9c156468117
+ typescript: ">=4.8.4 <6.0.0"
+ checksum: 10c0/67ac21bcc715d8e3281b8cab36a7e285b01244a48817ea74910186e76e714918dd2e939b465d0e4e9a30c4ceffa6c8946eb9b1f0ec0dab6708c4416d3a66e731
+ languageName: node
+ linkType: hard
+
+"@typescript-eslint/scope-manager@npm:8.38.0":
+ version: 8.38.0
+ resolution: "@typescript-eslint/scope-manager@npm:8.38.0"
+ dependencies:
+ "@typescript-eslint/types": "npm:8.38.0"
+ "@typescript-eslint/visitor-keys": "npm:8.38.0"
+ checksum: 10c0/ceaf489ea1f005afb187932a7ee363dfe1e0f7cc3db921283991e20e4c756411a5e25afbec72edd2095d6a4384f73591f4c750cf65b5eaa650c90f64ef9fe809
languageName: node
linkType: hard
-"@typescript-eslint/types@npm:5.62.0":
- version: 5.62.0
- resolution: "@typescript-eslint/types@npm:5.62.0"
- checksum: 10c0/7febd3a7f0701c0b927e094f02e82d8ee2cada2b186fcb938bc2b94ff6fbad88237afc304cbaf33e82797078bbbb1baf91475f6400912f8b64c89be79bfa4ddf
+"@typescript-eslint/scope-manager@npm:8.39.0":
+ version: 8.39.0
+ resolution: "@typescript-eslint/scope-manager@npm:8.39.0"
+ dependencies:
+ "@typescript-eslint/types": "npm:8.39.0"
+ "@typescript-eslint/visitor-keys": "npm:8.39.0"
+ checksum: 10c0/ae61721e85fa67f64cab02db88599a6e78e9395dd13c211ab60c5728abdf01b9ceb970c0722671d1958e83c8f00a8ee4f9b3a5c462ea21fb117729b73d53a7e7
languageName: node
linkType: hard
-"@typescript-eslint/types@npm:6.21.0":
- version: 6.21.0
- resolution: "@typescript-eslint/types@npm:6.21.0"
- checksum: 10c0/020631d3223bbcff8a0da3efbdf058220a8f48a3de221563996ad1dcc30d6c08dadc3f7608cc08830d21c0d565efd2db19b557b9528921c78aabb605eef2d74d
+"@typescript-eslint/tsconfig-utils@npm:8.38.0, @typescript-eslint/tsconfig-utils@npm:^8.38.0":
+ version: 8.38.0
+ resolution: "@typescript-eslint/tsconfig-utils@npm:8.38.0"
+ peerDependencies:
+ typescript: ">=4.8.4 <5.9.0"
+ checksum: 10c0/1a90da16bf1f7cfbd0303640a8ead64a0080f2b1d5969994bdac3b80abfa1177f0c6fbf61250bae082e72cf5014308f2f5cc98edd6510202f13420a7ffd07a84
languageName: node
linkType: hard
-"@typescript-eslint/typescript-estree@npm:5.62.0":
- version: 5.62.0
- resolution: "@typescript-eslint/typescript-estree@npm:5.62.0"
+"@typescript-eslint/tsconfig-utils@npm:8.39.0, @typescript-eslint/tsconfig-utils@npm:^8.39.0":
+ version: 8.39.0
+ resolution: "@typescript-eslint/tsconfig-utils@npm:8.39.0"
+ peerDependencies:
+ typescript: ">=4.8.4 <6.0.0"
+ checksum: 10c0/1437c0004d4d852128c72559232470e82c9b9635156c6d8eec7be7c5b08c01e9528cda736587bdaba0d5c71f2f5480855c406f224eab45ba81c6850210280fc3
+ languageName: node
+ linkType: hard
+
+"@typescript-eslint/type-utils@npm:8.38.0":
+ version: 8.38.0
+ resolution: "@typescript-eslint/type-utils@npm:8.38.0"
dependencies:
- "@typescript-eslint/types": "npm:5.62.0"
- "@typescript-eslint/visitor-keys": "npm:5.62.0"
+ "@typescript-eslint/types": "npm:8.38.0"
+ "@typescript-eslint/typescript-estree": "npm:8.38.0"
+ "@typescript-eslint/utils": "npm:8.38.0"
debug: "npm:^4.3.4"
- globby: "npm:^11.1.0"
- is-glob: "npm:^4.0.3"
- semver: "npm:^7.3.7"
- tsutils: "npm:^3.21.0"
- peerDependenciesMeta:
- typescript:
- optional: true
- checksum: 10c0/d7984a3e9d56897b2481940ec803cb8e7ead03df8d9cfd9797350be82ff765dfcf3cfec04e7355e1779e948da8f02bc5e11719d07a596eb1cb995c48a95e38cf
+ ts-api-utils: "npm:^2.1.0"
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: ">=4.8.4 <5.9.0"
+ checksum: 10c0/27795c4bd0be395dda3424e57d746639c579b7522af1c17731b915298a6378fd78869e8e141526064b6047db2c86ba06444469ace19c98cda5779d06f4abd37c
languageName: node
linkType: hard
-"@typescript-eslint/typescript-estree@npm:6.21.0":
- version: 6.21.0
- resolution: "@typescript-eslint/typescript-estree@npm:6.21.0"
+"@typescript-eslint/type-utils@npm:8.39.0":
+ version: 8.39.0
+ resolution: "@typescript-eslint/type-utils@npm:8.39.0"
dependencies:
- "@typescript-eslint/types": "npm:6.21.0"
- "@typescript-eslint/visitor-keys": "npm:6.21.0"
+ "@typescript-eslint/types": "npm:8.39.0"
+ "@typescript-eslint/typescript-estree": "npm:8.39.0"
+ "@typescript-eslint/utils": "npm:8.39.0"
debug: "npm:^4.3.4"
- globby: "npm:^11.1.0"
+ ts-api-utils: "npm:^2.1.0"
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: ">=4.8.4 <6.0.0"
+ checksum: 10c0/918de86cc99e90a74a02ee5dfe26f0d7a22872ac00d84e59630a15f50fa9688c2db545c8bf26ba8923c72a74c09386b994d0b7da3dac4104da4ca8c80b4353ac
+ languageName: node
+ linkType: hard
+
+"@typescript-eslint/types@npm:8.38.0, @typescript-eslint/types@npm:^8.34.1, @typescript-eslint/types@npm:^8.38.0":
+ version: 8.38.0
+ resolution: "@typescript-eslint/types@npm:8.38.0"
+ checksum: 10c0/f0ac0060c98c0f3d1871f107177b6ae25a0f1846ca8bd8cfc7e1f1dd0ddce293cd8ac4a5764d6a767de3503d5d01defcd68c758cb7ba6de52f82b209a918d0d2
+ languageName: node
+ linkType: hard
+
+"@typescript-eslint/types@npm:8.39.0, @typescript-eslint/types@npm:^8.39.0":
+ version: 8.39.0
+ resolution: "@typescript-eslint/types@npm:8.39.0"
+ checksum: 10c0/4240b01b218f3ef8a4f6343cb78cd531c12b2a134b6edd6ab67a9de4d1808790bc468f7579d5d38e507a206457d14a5e8970f6f74d29b9858633f77258f7e43b
+ languageName: node
+ linkType: hard
+
+"@typescript-eslint/typescript-estree@npm:8.38.0":
+ version: 8.38.0
+ resolution: "@typescript-eslint/typescript-estree@npm:8.38.0"
+ dependencies:
+ "@typescript-eslint/project-service": "npm:8.38.0"
+ "@typescript-eslint/tsconfig-utils": "npm:8.38.0"
+ "@typescript-eslint/types": "npm:8.38.0"
+ "@typescript-eslint/visitor-keys": "npm:8.38.0"
+ debug: "npm:^4.3.4"
+ fast-glob: "npm:^3.3.2"
is-glob: "npm:^4.0.3"
- minimatch: "npm:9.0.3"
- semver: "npm:^7.5.4"
- ts-api-utils: "npm:^1.0.1"
- peerDependenciesMeta:
- typescript:
- optional: true
- checksum: 10c0/af1438c60f080045ebb330155a8c9bb90db345d5069cdd5d01b67de502abb7449d6c75500519df829f913a6b3f490ade3e8215279b6bdc63d0fb0ae61034df5f
+ minimatch: "npm:^9.0.4"
+ semver: "npm:^7.6.0"
+ ts-api-utils: "npm:^2.1.0"
+ peerDependencies:
+ typescript: ">=4.8.4 <5.9.0"
+ checksum: 10c0/00a00f6549877f4ae5c2847fa5ac52bf42cbd59a87533856c359e2746e448ed150b27a6137c92fd50c06e6a4b39e386d6b738fac97d80d05596e81ce55933230
languageName: node
linkType: hard
-"@typescript-eslint/utils@npm:6.21.0":
- version: 6.21.0
- resolution: "@typescript-eslint/utils@npm:6.21.0"
- dependencies:
- "@eslint-community/eslint-utils": "npm:^4.4.0"
- "@types/json-schema": "npm:^7.0.12"
- "@types/semver": "npm:^7.5.0"
- "@typescript-eslint/scope-manager": "npm:6.21.0"
- "@typescript-eslint/types": "npm:6.21.0"
- "@typescript-eslint/typescript-estree": "npm:6.21.0"
- semver: "npm:^7.5.4"
+"@typescript-eslint/typescript-estree@npm:8.39.0":
+ version: 8.39.0
+ resolution: "@typescript-eslint/typescript-estree@npm:8.39.0"
+ dependencies:
+ "@typescript-eslint/project-service": "npm:8.39.0"
+ "@typescript-eslint/tsconfig-utils": "npm:8.39.0"
+ "@typescript-eslint/types": "npm:8.39.0"
+ "@typescript-eslint/visitor-keys": "npm:8.39.0"
+ debug: "npm:^4.3.4"
+ fast-glob: "npm:^3.3.2"
+ is-glob: "npm:^4.0.3"
+ minimatch: "npm:^9.0.4"
+ semver: "npm:^7.6.0"
+ ts-api-utils: "npm:^2.1.0"
peerDependencies:
- eslint: ^7.0.0 || ^8.0.0
- checksum: 10c0/ab2df3833b2582d4e5467a484d08942b4f2f7208f8e09d67de510008eb8001a9b7460f2f9ba11c12086fd3cdcac0c626761c7995c2c6b5657d5fa6b82030a32d
+ typescript: ">=4.8.4 <6.0.0"
+ checksum: 10c0/9eaf44af35b7bd8a8298909c0b2153f4c69e582b86f84dbe4a58c6afb6496253e955ee2b6ff0517e7717a6e8557537035ce631e0aa10fa848354a15620c387d2
languageName: node
linkType: hard
-"@typescript-eslint/utils@npm:^5.10.0":
- version: 5.62.0
- resolution: "@typescript-eslint/utils@npm:5.62.0"
+"@typescript-eslint/utils@npm:8.38.0, @typescript-eslint/utils@npm:^8.0.0":
+ version: 8.38.0
+ resolution: "@typescript-eslint/utils@npm:8.38.0"
dependencies:
- "@eslint-community/eslint-utils": "npm:^4.2.0"
- "@types/json-schema": "npm:^7.0.9"
- "@types/semver": "npm:^7.3.12"
- "@typescript-eslint/scope-manager": "npm:5.62.0"
- "@typescript-eslint/types": "npm:5.62.0"
- "@typescript-eslint/typescript-estree": "npm:5.62.0"
- eslint-scope: "npm:^5.1.1"
- semver: "npm:^7.3.7"
+ "@eslint-community/eslint-utils": "npm:^4.7.0"
+ "@typescript-eslint/scope-manager": "npm:8.38.0"
+ "@typescript-eslint/types": "npm:8.38.0"
+ "@typescript-eslint/typescript-estree": "npm:8.38.0"
peerDependencies:
- eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
- checksum: 10c0/f09b7d9952e4a205eb1ced31d7684dd55cee40bf8c2d78e923aa8a255318d97279825733902742c09d8690f37a50243f4c4d383ab16bd7aefaf9c4b438f785e1
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: ">=4.8.4 <5.9.0"
+ checksum: 10c0/e97a45bf44f315f9ed8c2988429e18c88e3369c9ee3227ee86446d2d49f7325abebbbc9ce801e178f676baa986d3e1fd4b5391f1640c6eb8944c123423ae43bb
languageName: node
linkType: hard
-"@typescript-eslint/visitor-keys@npm:5.62.0":
- version: 5.62.0
- resolution: "@typescript-eslint/visitor-keys@npm:5.62.0"
+"@typescript-eslint/utils@npm:8.39.0":
+ version: 8.39.0
+ resolution: "@typescript-eslint/utils@npm:8.39.0"
dependencies:
- "@typescript-eslint/types": "npm:5.62.0"
- eslint-visitor-keys: "npm:^3.3.0"
- checksum: 10c0/7c3b8e4148e9b94d9b7162a596a1260d7a3efc4e65199693b8025c71c4652b8042501c0bc9f57654c1e2943c26da98c0f77884a746c6ae81389fcb0b513d995d
+ "@eslint-community/eslint-utils": "npm:^4.7.0"
+ "@typescript-eslint/scope-manager": "npm:8.39.0"
+ "@typescript-eslint/types": "npm:8.39.0"
+ "@typescript-eslint/typescript-estree": "npm:8.39.0"
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: ">=4.8.4 <6.0.0"
+ checksum: 10c0/61956004dea90835b9f8de581019bc4f360dd44cebb9e0f8014ede39fc7cbc71d7d0093a65547bea004a865a1eff81dfd822520ba0a37e636f359291c27e1bd2
languageName: node
linkType: hard
-"@typescript-eslint/visitor-keys@npm:6.21.0":
- version: 6.21.0
- resolution: "@typescript-eslint/visitor-keys@npm:6.21.0"
+"@typescript-eslint/visitor-keys@npm:8.38.0":
+ version: 8.38.0
+ resolution: "@typescript-eslint/visitor-keys@npm:8.38.0"
dependencies:
- "@typescript-eslint/types": "npm:6.21.0"
- eslint-visitor-keys: "npm:^3.4.1"
- checksum: 10c0/7395f69739cfa1cb83c1fb2fad30afa2a814756367302fb4facd5893eff66abc807e8d8f63eba94ed3b0fe0c1c996ac9a1680bcbf0f83717acedc3f2bb724fbf
+ "@typescript-eslint/types": "npm:8.38.0"
+ eslint-visitor-keys: "npm:^4.2.1"
+ checksum: 10c0/071a756e383f41a6c9e51d78c8c64bd41cd5af68b0faef5fbaec4fa5dbd65ec9e4cd610c2e2cdbe9e2facc362995f202850622b78e821609a277b5b601a1d4ec
languageName: node
linkType: hard
-"@ungap/structured-clone@npm:^1.2.0":
- version: 1.3.0
- resolution: "@ungap/structured-clone@npm:1.3.0"
- checksum: 10c0/0fc3097c2540ada1fc340ee56d58d96b5b536a2a0dab6e3ec17d4bfc8c4c86db345f61a375a8185f9da96f01c69678f836a2b57eeaa9e4b8eeafd26428e57b0a
+"@typescript-eslint/visitor-keys@npm:8.39.0":
+ version: 8.39.0
+ resolution: "@typescript-eslint/visitor-keys@npm:8.39.0"
+ dependencies:
+ "@typescript-eslint/types": "npm:8.39.0"
+ eslint-visitor-keys: "npm:^4.2.1"
+ checksum: 10c0/657766d4e9ad01e8fd8e8fd39f8f3d043ecdffb78f1ab9653acbed3c971e221b1f680e90752394308c532703211f9f441bb449f62c0f61a48750b24ccb4379ef
languageName: node
linkType: hard
@@ -3492,7 +3654,7 @@ __metadata:
languageName: node
linkType: hard
-"acorn@npm:^8.9.0":
+"acorn@npm:^8.15.0":
version: 8.15.0
resolution: "acorn@npm:8.15.0"
bin:
@@ -3687,7 +3849,7 @@ __metadata:
languageName: node
linkType: hard
-"array-includes@npm:^3.1.9":
+"array-includes@npm:^3.1.6, array-includes@npm:^3.1.8, array-includes@npm:^3.1.9":
version: 3.1.9
resolution: "array-includes@npm:3.1.9"
dependencies:
@@ -3710,6 +3872,20 @@ __metadata:
languageName: node
linkType: hard
+"array.prototype.findlast@npm:^1.2.5":
+ version: 1.2.5
+ resolution: "array.prototype.findlast@npm:1.2.5"
+ dependencies:
+ call-bind: "npm:^1.0.7"
+ define-properties: "npm:^1.2.1"
+ es-abstract: "npm:^1.23.2"
+ es-errors: "npm:^1.3.0"
+ es-object-atoms: "npm:^1.0.0"
+ es-shim-unscopables: "npm:^1.0.2"
+ checksum: 10c0/ddc952b829145ab45411b9d6adcb51a8c17c76bf89c9dd64b52d5dffa65d033da8c076ed2e17091779e83bc892b9848188d7b4b33453c5565e65a92863cb2775
+ languageName: node
+ linkType: hard
+
"array.prototype.findlastindex@npm:^1.2.6":
version: 1.2.6
resolution: "array.prototype.findlastindex@npm:1.2.6"
@@ -3725,7 +3901,7 @@ __metadata:
languageName: node
linkType: hard
-"array.prototype.flat@npm:^1.3.3":
+"array.prototype.flat@npm:^1.3.1, array.prototype.flat@npm:^1.3.3":
version: 1.3.3
resolution: "array.prototype.flat@npm:1.3.3"
dependencies:
@@ -3749,6 +3925,19 @@ __metadata:
languageName: node
linkType: hard
+"array.prototype.tosorted@npm:^1.1.4":
+ version: 1.1.4
+ resolution: "array.prototype.tosorted@npm:1.1.4"
+ dependencies:
+ call-bind: "npm:^1.0.7"
+ define-properties: "npm:^1.2.1"
+ es-abstract: "npm:^1.23.3"
+ es-errors: "npm:^1.3.0"
+ es-shim-unscopables: "npm:^1.0.2"
+ checksum: 10c0/eb3c4c4fc0381b0bf6dba2ea4d48d367c2827a0d4236a5718d97caaccc6b78f11f4cadf090736e86301d295a6aa4967ed45568f92ced51be8cbbacd9ca410943
+ languageName: node
+ linkType: hard
+
"arraybuffer.prototype.slice@npm:^1.0.4":
version: 1.0.4
resolution: "arraybuffer.prototype.slice@npm:1.0.4"
@@ -3803,7 +3992,7 @@ __metadata:
languageName: node
linkType: hard
-"async@npm:^3.2.3":
+"async@npm:^3.2.6":
version: 3.2.6
resolution: "async@npm:3.2.6"
checksum: 10c0/36484bb15ceddf07078688d95e27076379cc2f87b10c03b6dd8a83e89475a3c8df5848859dd06a4c95af1e4c16fc973de0171a77f18ea00be899aca2a4f85e70
@@ -4089,13 +4278,6 @@ __metadata:
languageName: node
linkType: hard
-"builtin-modules@npm:^3.3.0":
- version: 3.3.0
- resolution: "builtin-modules@npm:3.3.0"
- checksum: 10c0/2cb3448b4f7306dc853632a4fcddc95e8d4e4b9868c139400027b71938fc6806d4ff44007deffb362ac85724bd40c2c6452fb6a0aa4531650eeddb98d8e5ee8a
- languageName: node
- linkType: hard
-
"busboy@npm:^1.6.0":
version: 1.6.0
resolution: "busboy@npm:1.6.0"
@@ -4281,7 +4463,7 @@ __metadata:
languageName: node
linkType: hard
-"chalk@npm:^4.0.0, chalk@npm:^4.0.2, chalk@npm:^4.1.0, chalk@npm:^4.1.1, chalk@npm:^4.1.2":
+"chalk@npm:^4.0.0, chalk@npm:^4.1.0, chalk@npm:^4.1.1, chalk@npm:^4.1.2":
version: 4.1.2
resolution: "chalk@npm:4.1.2"
dependencies:
@@ -4292,9 +4474,9 @@ __metadata:
linkType: hard
"chalk@npm:^5.0.0, chalk@npm:^5.3.0":
- version: 5.4.1
- resolution: "chalk@npm:5.4.1"
- checksum: 10c0/b23e88132c702f4855ca6d25cb5538b1114343e41472d5263ee8a37cccfccd9c4216d111e1097c6a27830407a1dc81fecdf2a56f2c63033d4dbbd88c10b0dcef
+ version: 5.5.0
+ resolution: "chalk@npm:5.5.0"
+ checksum: 10c0/23063b544f7c2fe57d25ff814807de561f8adfff72e4f0051051eaa606f772586470507ccd38d89166300eeaadb0164acde8bb8a0716a0f2d56ccdf3761d5e4f
languageName: node
linkType: hard
@@ -4517,8 +4699,10 @@ __metadata:
version: 0.0.0-use.local
resolution: "code-quality-tools@workspace:."
dependencies:
+ "@alma-oss/prettier-config": "workspace:^"
+ "@almacareer/remark-config": "workspace:^"
"@commitlint/cli": "npm:19.8.1"
- eslint: "npm:8.57.1"
+ eslint: "npm:9.31.0"
eslint-config-prettier: "npm:9.1.2"
eslint-import-resolver-node: "npm:0.3.9"
eslint-plugin-prettier: "npm:5.5.3"
@@ -4949,7 +5133,7 @@ __metadata:
languageName: node
linkType: hard
-"cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.5, cross-spawn@npm:^7.0.6":
+"cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.5, cross-spawn@npm:^7.0.6":
version: 7.0.6
resolution: "cross-spawn@npm:7.0.6"
dependencies:
@@ -5189,7 +5373,7 @@ __metadata:
languageName: node
linkType: hard
-"define-properties@npm:^1.2.1":
+"define-properties@npm:^1.1.3, define-properties@npm:^1.2.1":
version: 1.2.1
resolution: "define-properties@npm:1.2.1"
dependencies:
@@ -5290,15 +5474,6 @@ __metadata:
languageName: node
linkType: hard
-"doctrine@npm:^3.0.0":
- version: 3.0.0
- resolution: "doctrine@npm:3.0.0"
- dependencies:
- esutils: "npm:^2.0.2"
- checksum: 10c0/c96bdccabe9d62ab6fea9399fdff04a66e6563c1d6fb3a3a063e8d53c3bb136ba63e84250bbf63d00086a769ad53aef92d2bd483f03f837fc97b71cbee6b2520
- languageName: node
- linkType: hard
-
"dot-prop@npm:^5.1.0":
version: 5.3.0
resolution: "dot-prop@npm:5.3.0"
@@ -5482,7 +5657,7 @@ __metadata:
languageName: node
linkType: hard
-"es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.5, es-abstract@npm:^1.23.9, es-abstract@npm:^1.24.0":
+"es-abstract@npm:^1.17.5, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3, es-abstract@npm:^1.23.5, es-abstract@npm:^1.23.6, es-abstract@npm:^1.23.9, es-abstract@npm:^1.24.0":
version: 1.24.0
resolution: "es-abstract@npm:1.24.0"
dependencies:
@@ -5558,6 +5733,30 @@ __metadata:
languageName: node
linkType: hard
+"es-iterator-helpers@npm:^1.2.1":
+ version: 1.2.1
+ resolution: "es-iterator-helpers@npm:1.2.1"
+ dependencies:
+ call-bind: "npm:^1.0.8"
+ call-bound: "npm:^1.0.3"
+ define-properties: "npm:^1.2.1"
+ es-abstract: "npm:^1.23.6"
+ es-errors: "npm:^1.3.0"
+ es-set-tostringtag: "npm:^2.0.3"
+ function-bind: "npm:^1.1.2"
+ get-intrinsic: "npm:^1.2.6"
+ globalthis: "npm:^1.0.4"
+ gopd: "npm:^1.2.0"
+ has-property-descriptors: "npm:^1.0.2"
+ has-proto: "npm:^1.2.0"
+ has-symbols: "npm:^1.1.0"
+ internal-slot: "npm:^1.1.0"
+ iterator.prototype: "npm:^1.1.4"
+ safe-array-concat: "npm:^1.1.3"
+ checksum: 10c0/97e3125ca472d82d8aceea11b790397648b52c26d8768ea1c1ee6309ef45a8755bb63225a43f3150c7591cffc17caf5752459f1e70d583b4184370a8f04ebd2f
+ languageName: node
+ linkType: hard
+
"es-object-atoms@npm:^1.0.0, es-object-atoms@npm:^1.1.1":
version: 1.1.1
resolution: "es-object-atoms@npm:1.1.1"
@@ -5567,7 +5766,7 @@ __metadata:
languageName: node
linkType: hard
-"es-set-tostringtag@npm:^2.1.0":
+"es-set-tostringtag@npm:^2.0.3, es-set-tostringtag@npm:^2.1.0":
version: 2.1.0
resolution: "es-set-tostringtag@npm:2.1.0"
dependencies:
@@ -5649,7 +5848,7 @@ __metadata:
languageName: node
linkType: hard
-"eslint-config-airbnb@npm:^19.0.2":
+"eslint-config-airbnb@npm:^19.0.4":
version: 19.0.4
resolution: "eslint-config-airbnb@npm:19.0.4"
dependencies:
@@ -5724,7 +5923,7 @@ __metadata:
languageName: node
linkType: hard
-"eslint-plugin-import@npm:^2.25.2":
+"eslint-plugin-import@npm:^2.32.0":
version: 2.32.0
resolution: "eslint-plugin-import@npm:2.32.0"
dependencies:
@@ -5762,40 +5961,41 @@ __metadata:
languageName: node
linkType: hard
-"eslint-plugin-jest@npm:^27.0.0":
- version: 27.9.0
- resolution: "eslint-plugin-jest@npm:27.9.0"
+"eslint-plugin-jest@npm:^29.0.1":
+ version: 29.0.1
+ resolution: "eslint-plugin-jest@npm:29.0.1"
dependencies:
- "@typescript-eslint/utils": "npm:^5.10.0"
+ "@typescript-eslint/utils": "npm:^8.0.0"
peerDependencies:
- "@typescript-eslint/eslint-plugin": ^5.0.0 || ^6.0.0 || ^7.0.0
- eslint: ^7.0.0 || ^8.0.0
+ "@typescript-eslint/eslint-plugin": ^8.0.0
+ eslint: ^8.57.0 || ^9.0.0
jest: "*"
peerDependenciesMeta:
"@typescript-eslint/eslint-plugin":
optional: true
jest:
optional: true
- checksum: 10c0/b8b09f7d8ba3d84a8779a6e95702a6e4dce45ab034e4edf5ddb631e77cd38dcdf791dfd9228e0a0d1d80d1eb2d278deb62ad2ec39f10fb8fd43cec07304e0c38
+ checksum: 10c0/20edc166503a50c10b45f733797d530a5107c91efa25410ef405780d12222a796b5b41ed8f6d2b939632a1af273af6cc5732233463d1f36dbe7680bbb86c4eec
languageName: node
linkType: hard
-"eslint-plugin-jsdoc@npm:^46.0.0":
- version: 46.10.1
- resolution: "eslint-plugin-jsdoc@npm:46.10.1"
+"eslint-plugin-jsdoc@npm:^51.4.1":
+ version: 51.4.1
+ resolution: "eslint-plugin-jsdoc@npm:51.4.1"
dependencies:
- "@es-joy/jsdoccomment": "npm:~0.41.0"
+ "@es-joy/jsdoccomment": "npm:~0.52.0"
are-docs-informative: "npm:^0.0.2"
comment-parser: "npm:1.4.1"
- debug: "npm:^4.3.4"
+ debug: "npm:^4.4.1"
escape-string-regexp: "npm:^4.0.0"
- esquery: "npm:^1.5.0"
- is-builtin-module: "npm:^3.2.1"
- semver: "npm:^7.5.4"
+ espree: "npm:^10.4.0"
+ esquery: "npm:^1.6.0"
+ parse-imports-exports: "npm:^0.2.4"
+ semver: "npm:^7.7.2"
spdx-expression-parse: "npm:^4.0.0"
peerDependencies:
eslint: ^7.0.0 || ^8.0.0 || ^9.0.0
- checksum: 10c0/2c9db7e621e6393c4e22c312e8d729a1c5698a31a62b0985421bb64741eb737d95b65ea0523ea87df3456ff4b3452ed015e463cc5a3b98646f2e7a3f68dd6e1a
+ checksum: 10c0/2dc8063f810984bca1ec2cbe4fa4cfa6948a4e6340bfc817c30d603fd7a85bc11375c0a45d6a1825fa28f1bf1c454f98aed74041b16bc6b5c7077ea58c05ff0a
languageName: node
linkType: hard
@@ -5819,7 +6019,35 @@ __metadata:
languageName: node
linkType: hard
-"eslint-scope@npm:5.1.1, eslint-scope@npm:^5.1.1":
+"eslint-plugin-react@npm:^7.37.5":
+ version: 7.37.5
+ resolution: "eslint-plugin-react@npm:7.37.5"
+ dependencies:
+ array-includes: "npm:^3.1.8"
+ array.prototype.findlast: "npm:^1.2.5"
+ array.prototype.flatmap: "npm:^1.3.3"
+ array.prototype.tosorted: "npm:^1.1.4"
+ doctrine: "npm:^2.1.0"
+ es-iterator-helpers: "npm:^1.2.1"
+ estraverse: "npm:^5.3.0"
+ hasown: "npm:^2.0.2"
+ jsx-ast-utils: "npm:^2.4.1 || ^3.0.0"
+ minimatch: "npm:^3.1.2"
+ object.entries: "npm:^1.1.9"
+ object.fromentries: "npm:^2.0.8"
+ object.values: "npm:^1.2.1"
+ prop-types: "npm:^15.8.1"
+ resolve: "npm:^2.0.0-next.5"
+ semver: "npm:^6.3.1"
+ string.prototype.matchall: "npm:^4.0.12"
+ string.prototype.repeat: "npm:^1.0.0"
+ peerDependencies:
+ eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7
+ checksum: 10c0/c850bfd556291d4d9234f5ca38db1436924a1013627c8ab1853f77cac73ec19b020e861e6c7b783436a48b6ffcdfba4547598235a37ad4611b6739f65fd8ad57
+ languageName: node
+ linkType: hard
+
+"eslint-scope@npm:5.1.1":
version: 5.1.1
resolution: "eslint-scope@npm:5.1.1"
dependencies:
@@ -5829,13 +6057,13 @@ __metadata:
languageName: node
linkType: hard
-"eslint-scope@npm:^7.2.2":
- version: 7.2.2
- resolution: "eslint-scope@npm:7.2.2"
+"eslint-scope@npm:^8.4.0":
+ version: 8.4.0
+ resolution: "eslint-scope@npm:8.4.0"
dependencies:
esrecurse: "npm:^4.3.0"
estraverse: "npm:^5.2.0"
- checksum: 10c0/613c267aea34b5a6d6c00514e8545ef1f1433108097e857225fed40d397dd6b1809dffd11c2fde23b37ca53d7bf935fe04d2a18e6fc932b31837b6ad67e1c116
+ checksum: 10c0/407f6c600204d0f3705bd557f81bd0189e69cd7996f408f8971ab5779c0af733d1af2f1412066b40ee1588b085874fc37a2333986c6521669cdbdd36ca5058e0
languageName: node
linkType: hard
@@ -5846,69 +6074,78 @@ __metadata:
languageName: node
linkType: hard
-"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3":
+"eslint-visitor-keys@npm:^3.4.3":
version: 3.4.3
resolution: "eslint-visitor-keys@npm:3.4.3"
checksum: 10c0/92708e882c0a5ffd88c23c0b404ac1628cf20104a108c745f240a13c332a11aac54f49a22d5762efbffc18ecbc9a580d1b7ad034bf5f3cc3307e5cbff2ec9820
languageName: node
linkType: hard
-"eslint@npm:8.57.1":
- version: 8.57.1
- resolution: "eslint@npm:8.57.1"
+"eslint-visitor-keys@npm:^4.2.1":
+ version: 4.2.1
+ resolution: "eslint-visitor-keys@npm:4.2.1"
+ checksum: 10c0/fcd43999199d6740db26c58dbe0c2594623e31ca307e616ac05153c9272f12f1364f5a0b1917a8e962268fdecc6f3622c1c2908b4fcc2e047a106fe6de69dc43
+ languageName: node
+ linkType: hard
+
+"eslint@npm:9.31.0":
+ version: 9.31.0
+ resolution: "eslint@npm:9.31.0"
dependencies:
"@eslint-community/eslint-utils": "npm:^4.2.0"
- "@eslint-community/regexpp": "npm:^4.6.1"
- "@eslint/eslintrc": "npm:^2.1.4"
- "@eslint/js": "npm:8.57.1"
- "@humanwhocodes/config-array": "npm:^0.13.0"
+ "@eslint-community/regexpp": "npm:^4.12.1"
+ "@eslint/config-array": "npm:^0.21.0"
+ "@eslint/config-helpers": "npm:^0.3.0"
+ "@eslint/core": "npm:^0.15.0"
+ "@eslint/eslintrc": "npm:^3.3.1"
+ "@eslint/js": "npm:9.31.0"
+ "@eslint/plugin-kit": "npm:^0.3.1"
+ "@humanfs/node": "npm:^0.16.6"
"@humanwhocodes/module-importer": "npm:^1.0.1"
- "@nodelib/fs.walk": "npm:^1.2.8"
- "@ungap/structured-clone": "npm:^1.2.0"
+ "@humanwhocodes/retry": "npm:^0.4.2"
+ "@types/estree": "npm:^1.0.6"
+ "@types/json-schema": "npm:^7.0.15"
ajv: "npm:^6.12.4"
chalk: "npm:^4.0.0"
- cross-spawn: "npm:^7.0.2"
+ cross-spawn: "npm:^7.0.6"
debug: "npm:^4.3.2"
- doctrine: "npm:^3.0.0"
escape-string-regexp: "npm:^4.0.0"
- eslint-scope: "npm:^7.2.2"
- eslint-visitor-keys: "npm:^3.4.3"
- espree: "npm:^9.6.1"
- esquery: "npm:^1.4.2"
+ eslint-scope: "npm:^8.4.0"
+ eslint-visitor-keys: "npm:^4.2.1"
+ espree: "npm:^10.4.0"
+ esquery: "npm:^1.5.0"
esutils: "npm:^2.0.2"
fast-deep-equal: "npm:^3.1.3"
- file-entry-cache: "npm:^6.0.1"
+ file-entry-cache: "npm:^8.0.0"
find-up: "npm:^5.0.0"
glob-parent: "npm:^6.0.2"
- globals: "npm:^13.19.0"
- graphemer: "npm:^1.4.0"
ignore: "npm:^5.2.0"
imurmurhash: "npm:^0.1.4"
is-glob: "npm:^4.0.0"
- is-path-inside: "npm:^3.0.3"
- js-yaml: "npm:^4.1.0"
json-stable-stringify-without-jsonify: "npm:^1.0.1"
- levn: "npm:^0.4.1"
lodash.merge: "npm:^4.6.2"
minimatch: "npm:^3.1.2"
natural-compare: "npm:^1.4.0"
optionator: "npm:^0.9.3"
- strip-ansi: "npm:^6.0.1"
- text-table: "npm:^0.2.0"
+ peerDependencies:
+ jiti: "*"
+ peerDependenciesMeta:
+ jiti:
+ optional: true
bin:
eslint: bin/eslint.js
- checksum: 10c0/1fd31533086c1b72f86770a4d9d7058ee8b4643fd1cfd10c7aac1ecb8725698e88352a87805cf4b2ce890aa35947df4b4da9655fb7fdfa60dbb448a43f6ebcf1
+ checksum: 10c0/3fd1cd5b38b907ecb3f5e7537ab91204efb38bc1ad0ca6e46fc4112f13b594272ff56e641b41580049bc333fbcb5b1b99ca9a542e8406e7da5e951068cbaec77
languageName: node
linkType: hard
-"espree@npm:^9.6.0, espree@npm:^9.6.1":
- version: 9.6.1
- resolution: "espree@npm:9.6.1"
+"espree@npm:^10.0.1, espree@npm:^10.4.0":
+ version: 10.4.0
+ resolution: "espree@npm:10.4.0"
dependencies:
- acorn: "npm:^8.9.0"
+ acorn: "npm:^8.15.0"
acorn-jsx: "npm:^5.3.2"
- eslint-visitor-keys: "npm:^3.4.1"
- checksum: 10c0/1a2e9b4699b715347f62330bcc76aee224390c28bb02b31a3752e9d07549c473f5f986720483c6469cf3cfb3c9d05df612ffc69eb1ee94b54b739e67de9bb460
+ eslint-visitor-keys: "npm:^4.2.1"
+ checksum: 10c0/c63fe06131c26c8157b4083313cb02a9a54720a08e21543300e55288c40e06c3fc284bdecf108d3a1372c5934a0a88644c98714f38b6ae8ed272b40d9ea08d6b
languageName: node
linkType: hard
@@ -5922,7 +6159,7 @@ __metadata:
languageName: node
linkType: hard
-"esquery@npm:^1.4.2, esquery@npm:^1.5.0":
+"esquery@npm:^1.5.0, esquery@npm:^1.6.0":
version: 1.6.0
resolution: "esquery@npm:1.6.0"
dependencies:
@@ -5947,7 +6184,7 @@ __metadata:
languageName: node
linkType: hard
-"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0":
+"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0, estraverse@npm:^5.3.0":
version: 5.3.0
resolution: "estraverse@npm:5.3.0"
checksum: 10c0/1ff9447b96263dec95d6d67431c5e0771eb9776427421260a3e2f0fdd5d6bd4f8e37a7338f5ad2880c9f143450c9b1e4fc2069060724570a49cf9cf0312bd107
@@ -6274,12 +6511,12 @@ __metadata:
languageName: node
linkType: hard
-"file-entry-cache@npm:^6.0.1":
- version: 6.0.1
- resolution: "file-entry-cache@npm:6.0.1"
+"file-entry-cache@npm:^8.0.0":
+ version: 8.0.0
+ resolution: "file-entry-cache@npm:8.0.0"
dependencies:
- flat-cache: "npm:^3.0.4"
- checksum: 10c0/58473e8a82794d01b38e5e435f6feaf648e3f36fdb3a56e98f417f4efae71ad1c0d4ebd8a9a7c50c3ad085820a93fc7494ad721e0e4ebc1da3573f4e1c3c7cdd
+ flat-cache: "npm:^4.0.0"
+ checksum: 10c0/9e2b5938b1cd9b6d7e3612bdc533afd4ac17b2fc646569e9a8abbf2eb48e5eb8e316bc38815a3ef6a1b456f4107f0d0f055a614ca613e75db6bf9ff4d72c1638
languageName: node
linkType: hard
@@ -6393,14 +6630,13 @@ __metadata:
languageName: node
linkType: hard
-"flat-cache@npm:^3.0.4":
- version: 3.2.0
- resolution: "flat-cache@npm:3.2.0"
+"flat-cache@npm:^4.0.0":
+ version: 4.0.1
+ resolution: "flat-cache@npm:4.0.1"
dependencies:
flatted: "npm:^3.2.9"
- keyv: "npm:^4.5.3"
- rimraf: "npm:^3.0.2"
- checksum: 10c0/b76f611bd5f5d68f7ae632e3ae503e678d205cf97a17c6ab5b12f6ca61188b5f1f7464503efae6dc18683ed8f0b41460beb48ac4b9ac63fe6201296a91ba2f75
+ keyv: "npm:^4.5.4"
+ checksum: 10c0/2c59d93e9faa2523e4fda6b4ada749bed432cfa28c8e251f33b25795e426a1c6dbada777afb1f74fcfff33934fdbdea921ee738fcc33e71adc9d6eca984a1cfc
languageName: node
linkType: hard
@@ -6907,12 +7143,10 @@ __metadata:
languageName: node
linkType: hard
-"globals@npm:^13.19.0":
- version: 13.24.0
- resolution: "globals@npm:13.24.0"
- dependencies:
- type-fest: "npm:^0.20.2"
- checksum: 10c0/d3c11aeea898eb83d5ec7a99508600fbe8f83d2cf00cbb77f873dbf2bcb39428eff1b538e4915c993d8a3b3473fa71eeebfe22c9bb3a3003d1e26b1f2c8a42cd
+"globals@npm:^14.0.0":
+ version: 14.0.0
+ resolution: "globals@npm:14.0.0"
+ checksum: 10c0/b96ff42620c9231ad468d4c58ff42afee7777ee1c963013ff8aabe095a451d0ceeb8dcd8ef4cbd64d2538cef45f787a78ba3a9574f4a634438963e334471302d
languageName: node
linkType: hard
@@ -7277,7 +7511,7 @@ __metadata:
languageName: node
linkType: hard
-"ignore@npm:^5.0.4, ignore@npm:^5.2.0, ignore@npm:^5.2.4":
+"ignore@npm:^5.0.4, ignore@npm:^5.2.0":
version: 5.3.2
resolution: "ignore@npm:5.3.2"
checksum: 10c0/f9f652c957983634ded1e7f02da3b559a0d4cc210fca3792cb67f1b153623c9c42efdc1c4121af171e295444459fc4a9201101fb041b1104a3c000bccb188337
@@ -7291,7 +7525,7 @@ __metadata:
languageName: node
linkType: hard
-"ignore@npm:^7.0.5":
+"ignore@npm:^7.0.0, ignore@npm:^7.0.5":
version: 7.0.5
resolution: "ignore@npm:7.0.5"
checksum: 10c0/ae00db89fe873064a093b8999fe4cc284b13ef2a178636211842cceb650b9c3e390d3339191acb145d81ed5379d2074840cf0c33a20bdbd6f32821f79eb4ad5d
@@ -7597,15 +7831,6 @@ __metadata:
languageName: node
linkType: hard
-"is-builtin-module@npm:^3.2.1":
- version: 3.2.1
- resolution: "is-builtin-module@npm:3.2.1"
- dependencies:
- builtin-modules: "npm:^3.3.0"
- checksum: 10c0/5a66937a03f3b18803381518f0ef679752ac18cdb7dd53b5e23ee8df8d440558737bd8dcc04d2aae555909d2ecb4a81b5c0d334d119402584b61e6a003e31af1
- languageName: node
- linkType: hard
-
"is-bun-module@npm:^2.0.0":
version: 2.0.0
resolution: "is-bun-module@npm:2.0.0"
@@ -7835,13 +8060,6 @@ __metadata:
languageName: node
linkType: hard
-"is-path-inside@npm:^3.0.3":
- version: 3.0.3
- resolution: "is-path-inside@npm:3.0.3"
- checksum: 10c0/cf7d4ac35fb96bab6a1d2c3598fe5ebb29aafb52c0aaa482b5a3ed9d8ba3edc11631e3ec2637660c44b3ce0e61a08d54946e8af30dec0b60a7c27296c68ffd05
- languageName: node
- linkType: hard
-
"is-plain-obj@npm:^1.0.0, is-plain-obj@npm:^1.1.0":
version: 1.1.0
resolution: "is-plain-obj@npm:1.1.0"
@@ -8143,6 +8361,20 @@ __metadata:
languageName: node
linkType: hard
+"iterator.prototype@npm:^1.1.4":
+ version: 1.1.5
+ resolution: "iterator.prototype@npm:1.1.5"
+ dependencies:
+ define-data-property: "npm:^1.1.4"
+ es-object-atoms: "npm:^1.0.0"
+ get-intrinsic: "npm:^1.2.6"
+ get-proto: "npm:^1.0.0"
+ has-symbols: "npm:^1.1.0"
+ set-function-name: "npm:^2.0.2"
+ checksum: 10c0/f7a262808e1b41049ab55f1e9c29af7ec1025a000d243b83edf34ce2416eedd56079b117fa59376bb4a724110690f13aa8427f2ee29a09eec63a7e72367626d0
+ languageName: node
+ linkType: hard
+
"jackspeak@npm:^3.1.2":
version: 3.4.3
resolution: "jackspeak@npm:3.4.3"
@@ -8157,16 +8389,15 @@ __metadata:
linkType: hard
"jake@npm:^10.8.5":
- version: 10.9.2
- resolution: "jake@npm:10.9.2"
+ version: 10.9.4
+ resolution: "jake@npm:10.9.4"
dependencies:
- async: "npm:^3.2.3"
- chalk: "npm:^4.0.2"
+ async: "npm:^3.2.6"
filelist: "npm:^1.0.4"
- minimatch: "npm:^3.1.2"
+ picocolors: "npm:^1.1.1"
bin:
jake: bin/cli.js
- checksum: 10c0/c4597b5ed9b6a908252feab296485a4f87cba9e26d6c20e0ca144fb69e0c40203d34a2efddb33b3d297b8bd59605e6c1f44f6221ca1e10e69175ecbf3ff5fe31
+ checksum: 10c0/bb52f000340d4a32f1a3893b9abe56ef2b77c25da4dbf2c0c874a8159d082dddda50a5ad10e26060198bd645b928ba8dba3b362710f46a247e335321188c5a9c
languageName: node
linkType: hard
@@ -8642,7 +8873,7 @@ __metadata:
languageName: node
linkType: hard
-"js-tokens@npm:^4.0.0":
+"js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0":
version: 4.0.0
resolution: "js-tokens@npm:4.0.0"
checksum: 10c0/e248708d377aa058eacf2037b07ded847790e6de892bbad3dac0abba2e759cb9f121b00099a65195616badcb6eca8d14d975cb3e89eb1cfda644756402c8aeed
@@ -8679,10 +8910,10 @@ __metadata:
languageName: node
linkType: hard
-"jsdoc-type-pratt-parser@npm:~4.0.0":
- version: 4.0.0
- resolution: "jsdoc-type-pratt-parser@npm:4.0.0"
- checksum: 10c0/b23ef7bbbe2f56d72630d1c5a233dc9fecaff399063d373c57bef136908c1b05e723dac107177303c03ccf8d75aa51507510b282aa567600477479c5ea0c36d1
+"jsdoc-type-pratt-parser@npm:~4.1.0":
+ version: 4.1.0
+ resolution: "jsdoc-type-pratt-parser@npm:4.1.0"
+ checksum: 10c0/7700372d2e733a32f7ea0a1df9cec6752321a5345c11a91b2ab478a031a426e934f16d5c1f15c8566c7b2c10af9f27892a29c2c789039f595470e929a4aa60ea
languageName: node
linkType: hard
@@ -8812,6 +9043,18 @@ __metadata:
languageName: node
linkType: hard
+"jsx-ast-utils@npm:^2.4.1 || ^3.0.0":
+ version: 3.3.5
+ resolution: "jsx-ast-utils@npm:3.3.5"
+ dependencies:
+ array-includes: "npm:^3.1.6"
+ array.prototype.flat: "npm:^1.3.1"
+ object.assign: "npm:^4.1.4"
+ object.values: "npm:^1.1.6"
+ checksum: 10c0/a32679e9cb55469cb6d8bbc863f7d631b2c98b7fc7bf172629261751a6e7bc8da6ae374ddb74d5fbd8b06cf0eb4572287b259813d92b36e384024ed35e4c13e1
+ languageName: node
+ linkType: hard
+
"just-diff-apply@npm:^5.2.0":
version: 5.5.0
resolution: "just-diff-apply@npm:5.5.0"
@@ -8826,7 +9069,7 @@ __metadata:
languageName: node
linkType: hard
-"keyv@npm:^4.5.3":
+"keyv@npm:^4.5.4":
version: 4.5.4
resolution: "keyv@npm:4.5.4"
dependencies:
@@ -8836,11 +9079,11 @@ __metadata:
linkType: hard
"keyv@npm:^5.4.0":
- version: 5.4.0
- resolution: "keyv@npm:5.4.0"
+ version: 5.5.0
+ resolution: "keyv@npm:5.5.0"
dependencies:
"@keyv/serialize": "npm:^1.1.0"
- checksum: 10c0/e4dc553ff5a75c7bf4bfa5550254da011ae63d08719fe8e651940eb537d74b8f5737082caac3e88c955ccbeb7857ec2706b0c512faf39c80773cc821e5b48c80
+ checksum: 10c0/2db63fd2abcdf71929f032569673b6edd0de111edb012411658e2589dc5f49793a98aecd56c67fafda3f90a31f32e35555a97f8621040728260c66ad8daeea48
languageName: node
linkType: hard
@@ -9225,6 +9468,17 @@ __metadata:
languageName: node
linkType: hard
+"loose-envify@npm:^1.4.0":
+ version: 1.4.0
+ resolution: "loose-envify@npm:1.4.0"
+ dependencies:
+ js-tokens: "npm:^3.0.0 || ^4.0.0"
+ bin:
+ loose-envify: cli.js
+ checksum: 10c0/655d110220983c1a4b9c0c679a2e8016d4b67f6e9c7b5435ff5979ecdb20d0813f4dec0a08674fcbdd4846a3f07edbb50a36811fd37930b94aaa0d9daceb017e
+ languageName: node
+ linkType: hard
+
"loud-rejection@npm:^1.0.0":
version: 1.6.0
resolution: "loud-rejection@npm:1.6.0"
@@ -10167,7 +10421,7 @@ __metadata:
languageName: node
linkType: hard
-"minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2":
+"minimatch@npm:^3.0.4, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2":
version: 3.1.2
resolution: "minimatch@npm:3.1.2"
dependencies:
@@ -10849,7 +11103,7 @@ __metadata:
languageName: node
linkType: hard
-"object-assign@npm:^4, object-assign@npm:^4.0.1":
+"object-assign@npm:^4, object-assign@npm:^4.0.1, object-assign@npm:^4.1.1":
version: 4.1.1
resolution: "object-assign@npm:4.1.1"
checksum: 10c0/1f4df9945120325d041ccf7b86f31e8bcc14e73d29171e37a7903050e96b81323784ec59f93f102ec635bcf6fa8034ba3ea0a8c7e69fa202b87ae3b6cec5a414
@@ -10880,7 +11134,7 @@ __metadata:
languageName: node
linkType: hard
-"object.assign@npm:^4.1.2, object.assign@npm:^4.1.7":
+"object.assign@npm:^4.1.2, object.assign@npm:^4.1.4, object.assign@npm:^4.1.7":
version: 4.1.7
resolution: "object.assign@npm:4.1.7"
dependencies:
@@ -10894,7 +11148,7 @@ __metadata:
languageName: node
linkType: hard
-"object.entries@npm:^1.1.5":
+"object.entries@npm:^1.1.5, object.entries@npm:^1.1.9":
version: 1.1.9
resolution: "object.entries@npm:1.1.9"
dependencies:
@@ -10929,7 +11183,7 @@ __metadata:
languageName: node
linkType: hard
-"object.values@npm:^1.2.1":
+"object.values@npm:^1.1.6, object.values@npm:^1.2.1":
version: 1.2.1
resolution: "object.values@npm:1.2.1"
dependencies:
@@ -11285,6 +11539,15 @@ __metadata:
languageName: node
linkType: hard
+"parse-imports-exports@npm:^0.2.4":
+ version: 0.2.4
+ resolution: "parse-imports-exports@npm:0.2.4"
+ dependencies:
+ parse-statements: "npm:1.0.11"
+ checksum: 10c0/51b729037208abdf65c4a1f8e9ed06f4e7ccd907c17c668a64db54b37d95bb9e92081f8b16e4133e14102af3cb4e89870975b6ad661b4d654e9ec8f4fb5c77d6
+ languageName: node
+ linkType: hard
+
"parse-json@npm:^2.2.0":
version: 2.2.0
resolution: "parse-json@npm:2.2.0"
@@ -11349,6 +11612,13 @@ __metadata:
languageName: node
linkType: hard
+"parse-statements@npm:1.0.11":
+ version: 1.0.11
+ resolution: "parse-statements@npm:1.0.11"
+ checksum: 10c0/48960e085019068a5f5242e875fd9d21ec87df2e291acf5ad4e4887b40eab6929a8c8d59542acb85a6497e870c5c6a24f5ab7f980ef5f907c14cc5f7984a93f3
+ languageName: node
+ linkType: hard
+
"parse-url@npm:^8.1.0":
version: 8.1.0
resolution: "parse-url@npm:8.1.0"
@@ -11818,6 +12088,17 @@ __metadata:
languageName: node
linkType: hard
+"prop-types@npm:^15.8.1":
+ version: 15.8.1
+ resolution: "prop-types@npm:15.8.1"
+ dependencies:
+ loose-envify: "npm:^1.4.0"
+ object-assign: "npm:^4.1.1"
+ react-is: "npm:^16.13.1"
+ checksum: 10c0/59ece7ca2fb9838031d73a48d4becb9a7cc1ed10e610517c7d8f19a1e02fa47f7c27d557d8a5702bec3cfeccddc853579832b43f449e54635803f277b1c78077
+ languageName: node
+ linkType: hard
+
"property-information@npm:^5.0.0":
version: 5.6.0
resolution: "property-information@npm:5.6.0"
@@ -11961,6 +12242,13 @@ __metadata:
languageName: node
linkType: hard
+"react-is@npm:^16.13.1":
+ version: 16.13.1
+ resolution: "react-is@npm:16.13.1"
+ checksum: 10c0/33977da7a5f1a287936a0c85639fec6ca74f4f15ef1e59a6bc20338fc73dc69555381e211f7a3529b8150a1f71e4225525b41b60b52965bda53ce7d47377ada1
+ languageName: node
+ linkType: hard
+
"react-is@npm:^18.0.0":
version: 18.3.1
resolution: "react-is@npm:18.3.1"
@@ -12196,7 +12484,7 @@ __metadata:
languageName: node
linkType: hard
-"regexp.prototype.flags@npm:^1.5.1, regexp.prototype.flags@npm:^1.5.4":
+"regexp.prototype.flags@npm:^1.5.1, regexp.prototype.flags@npm:^1.5.3, regexp.prototype.flags@npm:^1.5.4":
version: 1.5.4
resolution: "regexp.prototype.flags@npm:1.5.4"
dependencies:
@@ -13180,6 +13468,19 @@ __metadata:
languageName: node
linkType: hard
+"resolve@npm:^2.0.0-next.5":
+ version: 2.0.0-next.5
+ resolution: "resolve@npm:2.0.0-next.5"
+ dependencies:
+ is-core-module: "npm:^2.13.0"
+ path-parse: "npm:^1.0.7"
+ supports-preserve-symlinks-flag: "npm:^1.0.0"
+ bin:
+ resolve: bin/resolve
+ checksum: 10c0/a6c33555e3482ea2ec4c6e3d3bf0d78128abf69dca99ae468e64f1e30acaa318fd267fb66c8836b04d558d3e2d6ed875fe388067e7d8e0de647d3c21af21c43a
+ languageName: node
+ linkType: hard
+
"resolve@patch:resolve@npm%3A^1.1.6#optional!builtin, resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin":
version: 1.22.10
resolution: "resolve@patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d"
@@ -13193,6 +13494,19 @@ __metadata:
languageName: node
linkType: hard
+"resolve@patch:resolve@npm%3A^2.0.0-next.5#optional!builtin":
+ version: 2.0.0-next.5
+ resolution: "resolve@patch:resolve@npm%3A2.0.0-next.5#optional!builtin::version=2.0.0-next.5&hash=c3c19d"
+ dependencies:
+ is-core-module: "npm:^2.13.0"
+ path-parse: "npm:^1.0.7"
+ supports-preserve-symlinks-flag: "npm:^1.0.0"
+ bin:
+ resolve: bin/resolve
+ checksum: 10c0/78ad6edb8309a2bfb720c2c1898f7907a37f858866ce11a5974643af1203a6a6e05b2fa9c53d8064a673a447b83d42569260c306d43628bff5bb101969708355
+ languageName: node
+ linkType: hard
+
"restore-cursor@npm:^3.1.0":
version: 3.1.0
resolution: "restore-cursor@npm:3.1.0"
@@ -13228,17 +13542,6 @@ __metadata:
languageName: node
linkType: hard
-"rimraf@npm:^3.0.2":
- version: 3.0.2
- resolution: "rimraf@npm:3.0.2"
- dependencies:
- glob: "npm:^7.1.3"
- bin:
- rimraf: bin.js
- checksum: 10c0/9cb7757acb489bd83757ba1a274ab545eafd75598a9d817e0c3f8b164238dd90eba50d6b848bd4dcc5f3040912e882dc7ba71653e35af660d77b25c381d402e8
- languageName: node
- linkType: hard
-
"rimraf@npm:^4.4.1":
version: 4.4.1
resolution: "rimraf@npm:4.4.1"
@@ -13361,7 +13664,7 @@ __metadata:
languageName: node
linkType: hard
-"semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.7.1":
+"semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.7.1, semver@npm:^7.7.2":
version: 7.7.2
resolution: "semver@npm:7.7.2"
bin:
@@ -13888,6 +14191,37 @@ __metadata:
languageName: node
linkType: hard
+"string.prototype.matchall@npm:^4.0.12":
+ version: 4.0.12
+ resolution: "string.prototype.matchall@npm:4.0.12"
+ dependencies:
+ call-bind: "npm:^1.0.8"
+ call-bound: "npm:^1.0.3"
+ define-properties: "npm:^1.2.1"
+ es-abstract: "npm:^1.23.6"
+ es-errors: "npm:^1.3.0"
+ es-object-atoms: "npm:^1.0.0"
+ get-intrinsic: "npm:^1.2.6"
+ gopd: "npm:^1.2.0"
+ has-symbols: "npm:^1.1.0"
+ internal-slot: "npm:^1.1.0"
+ regexp.prototype.flags: "npm:^1.5.3"
+ set-function-name: "npm:^2.0.2"
+ side-channel: "npm:^1.1.0"
+ checksum: 10c0/1a53328ada73f4a77f1fdf1c79414700cf718d0a8ef6672af5603e709d26a24f2181208144aed7e858b1bcc1a0d08567a570abfb45567db4ae47637ed2c2f85c
+ languageName: node
+ linkType: hard
+
+"string.prototype.repeat@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "string.prototype.repeat@npm:1.0.0"
+ dependencies:
+ define-properties: "npm:^1.1.3"
+ es-abstract: "npm:^1.17.5"
+ checksum: 10c0/94c7978566cffa1327d470fd924366438af9b04b497c43a9805e476e2e908aa37a1fd34cc0911156c17556dab62159d12c7b92b3cc304c3e1281fe4c8e668f40
+ languageName: node
+ linkType: hard
+
"string.prototype.trim@npm:^1.2.10":
version: 1.2.10
resolution: "string.prototype.trim@npm:1.2.10"
@@ -14661,12 +14995,12 @@ __metadata:
languageName: node
linkType: hard
-"ts-api-utils@npm:^1.0.1":
- version: 1.4.3
- resolution: "ts-api-utils@npm:1.4.3"
+"ts-api-utils@npm:^2.1.0":
+ version: 2.1.0
+ resolution: "ts-api-utils@npm:2.1.0"
peerDependencies:
- typescript: ">=4.2.0"
- checksum: 10c0/e65dc6e7e8141140c23e1dc94984bf995d4f6801919c71d6dc27cf0cd51b100a91ffcfe5217626193e5bea9d46831e8586febdc7e172df3f1091a7384299e23a
+ typescript: ">=4.8.4"
+ checksum: 10c0/9806a38adea2db0f6aa217ccc6bc9c391ddba338a9fe3080676d0d50ed806d305bb90e8cef0276e793d28c8a929f400abb184ddd7ff83a416959c0f4d2ce754f
languageName: node
linkType: hard
@@ -14693,13 +15027,6 @@ __metadata:
languageName: node
linkType: hard
-"tslib@npm:^1.8.1":
- version: 1.14.1
- resolution: "tslib@npm:1.14.1"
- checksum: 10c0/69ae09c49eea644bc5ebe1bca4fa4cc2c82b7b3e02f43b84bd891504edf66dbc6b2ec0eef31a957042de2269139e4acff911e6d186a258fb14069cd7f6febce2
- languageName: node
- linkType: hard
-
"tslib@npm:^2.0.0, tslib@npm:^2.1.0, tslib@npm:^2.3.0, tslib@npm:^2.3.1, tslib@npm:^2.4.0, tslib@npm:^2.4.1, tslib@npm:^2.5.0, tslib@npm:^2.6.2, tslib@npm:^2.7.0, tslib@npm:^2.8.1":
version: 2.8.1
resolution: "tslib@npm:2.8.1"
@@ -14707,17 +15034,6 @@ __metadata:
languageName: node
linkType: hard
-"tsutils@npm:^3.21.0":
- version: 3.21.0
- resolution: "tsutils@npm:3.21.0"
- dependencies:
- tslib: "npm:^1.8.1"
- peerDependencies:
- typescript: ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
- checksum: 10c0/02f19e458ec78ead8fffbf711f834ad8ecd2cc6ade4ec0320790713dccc0a412b99e7fd907c4cda2a1dc602c75db6f12e0108e87a5afad4b2f9e90a24cabd5a2
- languageName: node
- linkType: hard
-
"tuf-js@npm:^2.2.1":
version: 2.2.1
resolution: "tuf-js@npm:2.2.1"
@@ -14752,13 +15068,6 @@ __metadata:
languageName: node
linkType: hard
-"type-fest@npm:^0.20.2":
- version: 0.20.2
- resolution: "type-fest@npm:0.20.2"
- checksum: 10c0/dea9df45ea1f0aaa4e2d3bed3f9a0bfe9e5b2592bddb92eb1bf06e50bcf98dbb78189668cd8bc31a0511d3fc25539b4cd5c704497e53e93e2d40ca764b10bfc3
- languageName: node
- linkType: hard
-
"type-fest@npm:^0.21.3":
version: 0.21.3
resolution: "type-fest@npm:0.21.3"
@@ -14888,6 +15197,21 @@ __metadata:
languageName: node
linkType: hard
+"typescript-eslint@npm:^8.38.0":
+ version: 8.38.0
+ resolution: "typescript-eslint@npm:8.38.0"
+ dependencies:
+ "@typescript-eslint/eslint-plugin": "npm:8.38.0"
+ "@typescript-eslint/parser": "npm:8.38.0"
+ "@typescript-eslint/typescript-estree": "npm:8.38.0"
+ "@typescript-eslint/utils": "npm:8.38.0"
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: ">=4.8.4 <5.9.0"
+ checksum: 10c0/486b9862ee08f7827d808a2264ce03b58087b11c4c646c0da3533c192a67ae3fcb4e68d7a1e69d0f35a1edc274371a903a50ecfe74012d5eaa896cb9d5a81e0b
+ languageName: node
+ linkType: hard
+
"typescript@npm:>=3 < 6":
version: 5.9.2
resolution: "typescript@npm:5.9.2"
@@ -14936,10 +15260,10 @@ __metadata:
languageName: node
linkType: hard
-"undici-types@npm:~7.8.0":
- version: 7.8.0
- resolution: "undici-types@npm:7.8.0"
- checksum: 10c0/9d9d246d1dc32f318d46116efe3cfca5a72d4f16828febc1918d94e58f6ffcf39c158aa28bf5b4fc52f410446bc7858f35151367bd7a49f21746cab6497b709b
+"undici-types@npm:~7.10.0":
+ version: 7.10.0
+ resolution: "undici-types@npm:7.10.0"
+ checksum: 10c0/8b00ce50e235fe3cc601307f148b5e8fb427092ee3b23e8118ec0a5d7f68eca8cee468c8fc9f15cbb2cf2a3797945ebceb1cbd9732306a1d00e0a9b6afa0f635
languageName: node
linkType: hard