diff --git a/README.md b/README.md
index cb5ac72..0ace60a 100644
--- a/README.md
+++ b/README.md
@@ -8,5 +8,18 @@ For installation guide and setup please visit each package's readme.
[@bigcommerce/eslint-plugin](packages/eslint-plugin)
-## ESlint 9 Compatibility
-Due to a [significant change](https://eslint.org/blog/2023/10/flat-config-rollout-plans/) in ESLint 9, this configuration set currently **requires** ESLint 8. In order to avoid peer dependency resolution issues, you need to also install `eslint` in your project, using the same version range as that found in [package.json](./package.json).
+## ESLint 9 Compatibility
+
+This configuration now **requires ESLint 9** and uses the new [flat config format](https://eslint.org/docs/latest/use/configure/configuration-files).
+
+### Breaking Changes from v2.x
+
+- **ESLint 9 Required**: This version requires ESLint ^9.0.0
+- **Flat Config Format**: Configurations now use ESLint's flat config format
+- **ES Modules**: All packages now use ES modules (`"type": "module"`)
+- **No Patch Required**: The `require('@bigcommerce/eslint-config/patch')` is no longer needed (and won't work)
+- **Import Instead of Require**: Use `import` instead of `require` in your config files
+
+### Migration Guide
+
+See the package README files for migration instructions from ESLint 8 to ESLint 9.
diff --git a/eslint.config.js b/eslint.config.js
new file mode 100644
index 0000000..70553fd
--- /dev/null
+++ b/eslint.config.js
@@ -0,0 +1,39 @@
+import globals from 'globals';
+
+import config from './packages/eslint-config/index.js';
+
+const baseConfig = await config;
+
+export default [
+ {
+ ignores: ['**/node_modules/**', '**/__snapshots__/**', '**/dist/**', '**/build/**'],
+ },
+ ...baseConfig,
+ {
+ languageOptions: {
+ globals: {
+ ...globals.node,
+ },
+ },
+ settings: {
+ 'import/resolver': {
+ node: {
+ extensions: ['.js', '.jsx', '.ts', '.tsx'],
+ },
+ },
+ 'import/core-modules': [
+ '@typescript-eslint/eslint-plugin',
+ '@typescript-eslint/parser',
+ '@typescript-eslint/rule-tester',
+ ],
+ },
+ rules: {
+ // Allow .js extensions in ES module imports
+ 'import/extensions': ['error', 'ignorePackages'],
+ // Allow __dirname in ES modules
+ 'no-underscore-dangle': ['error', { allow: ['__dirname', '__filename'] }],
+ // Allow dynamic imports without webpack chunkname
+ 'import/dynamic-import-chunkname': 'off',
+ },
+ },
+];
diff --git a/package.json b/package.json
index 789cae7..b1ded07 100644
--- a/package.json
+++ b/package.json
@@ -2,6 +2,7 @@
"name": "@bigcommerce/eslint",
"version": "1.0.1",
"description": "Default ESLint configuration used at BigCommerce",
+ "type": "module",
"private": true,
"author": "BigCommerce",
"license": "MIT",
@@ -16,14 +17,16 @@
"scripts": {
"lint": "eslint . --ext .js",
"release": "lerna publish --sign-git-commit --sign-git-tag --git-remote origin --pre-dist-tag next",
- "test": "jest --projects packages/*"
+ "test": "NODE_OPTIONS='--experimental-vm-modules' jest --projects packages/*"
},
"devDependencies": {
- "eslint": "^8.14.0",
+ "eslint": "^9.0.0",
"jest": "^29.7.0",
"lerna": "^8.1.2",
"typescript": "^5.0.2"
},
- "dependencies": {},
+ "dependencies": {
+ "globals": "^15.0.0"
+ },
"packageManager": "yarn@1.22.22+sha256.c17d3797fb9a9115bf375e31bfd30058cac6bc9c3b8807a3d8cb2094794b51ca"
}
diff --git a/packages/eslint-config/README.md b/packages/eslint-config/README.md
index 0780a6e..b74219f 100644
--- a/packages/eslint-config/README.md
+++ b/packages/eslint-config/README.md
@@ -1,30 +1,27 @@
# @bigcommerce/eslint-config
-This package is a configuration preset for [ESLint](https://eslint.org/).
-
+This package is a configuration preset for [ESLint](https://eslint.org/) using the new flat config format (ESLint 9+).
## Install
```sh
-npm install --save-dev eslint prettier
+npm install --save-dev eslint@^9.0.0 prettier
npm install --save-dev @bigcommerce/eslint-config
```
-
## Usage
-Add `@bigcommerce/eslint-config` to your project's ESLint configuration file. i.e.:
+Create an `eslint.config.js` file in your project root:
```js
-// .eslintrc.js
-require('@bigcommerce/eslint-config/patch');
+// eslint.config.js
+import config from '@bigcommerce/eslint-config';
-module.exports = {
- extends: ['@bigcommerce/eslint-config'],
-};
+export default config;
```
-This config also runs prettier via eslint, add the following to your `package.json`
+This config also runs prettier via eslint, add the following to your `package.json`:
+
```json
{
"prettier": "@bigcommerce/eslint-config/prettier"
@@ -33,28 +30,49 @@ This config also runs prettier via eslint, add the following to your `package.js
Stylistic rules are considered `warnings` for better developer experience, however, we recommend
running CI with:
+
```
eslint --max-warnings 0
```
## Usage with Next.js
-Make sure to also extend from next's `core-web-vitals`.
+For Next.js projects, you can combine this config with Next.js's built-in ESLint configuration:
```js
-// .eslintrc.js
-require('@bigcommerce/eslint-config/patch');
+// eslint.config.js
+import config from '@bigcommerce/eslint-config';
+import { FlatCompat } from '@eslint/eslintrc';
+
+const compat = new FlatCompat();
-module.exports = {
- extends: ['@bigcommerce/eslint-config', 'next/core-web-vitals'],
-};
+export default [
+ ...config,
+ ...compat.extends('next/core-web-vitals'),
+];
```
+## Migration from ESLint 8
+
+### Breaking Changes
+
+- **ESLint 9 Required**: This version requires ESLint ^9.0.0
+- **Flat Config Format**: Use `eslint.config.js` instead of `.eslintrc.js`
+- **ES Modules**: Configuration must use ES module syntax
+- **No Patch Required**: Remove `require('@bigcommerce/eslint-config/patch')`
+
+### Migration Steps
+
+1. **Update ESLint**: `npm install --save-dev eslint@^9.0.0`
+2. **Update this package**: `npm install --save-dev @bigcommerce/eslint-config@latest`
+3. **Delete old config**: Remove `.eslintrc.js` or `.eslintrc.json`
+4. **Create new config**: Create `eslint.config.js` with the usage example above
+5. **Remove patch import**: Delete any `require('@bigcommerce/eslint-config/patch')` calls
+
## Release
Please refer to the documentation of [lerna](https://github.com/lerna/lerna) for release options.
-
## License
MIT
diff --git a/packages/eslint-config/configs/base.js b/packages/eslint-config/configs/base.js
index 30d1fa3..9dd5053 100644
--- a/packages/eslint-config/configs/base.js
+++ b/packages/eslint-config/configs/base.js
@@ -1,336 +1,352 @@
-/** @type {import("eslint").Linter.Config} */
-module.exports = {
- env: {
- browser: true,
- es6: true,
- },
- extends: ['eslint:recommended', 'plugin:import/errors', 'plugin:import/warnings'],
- parserOptions: {
- ecmaVersion: 'latest',
- sourceType: 'module',
- },
- plugins: ['import', 'gettext', 'switch-case', '@stylistic'],
- reportUnusedDisableDirectives: true,
- rules: {
- '@stylistic/padding-line-between-statements': [
- 'warn',
- {
- blankLine: 'always',
- next: 'return',
- prev: '*',
- },
- {
- blankLine: 'always',
- next: ['block', 'block-like', 'class', 'const', 'let', 'var', 'interface'],
- prev: '*',
- },
- {
- blankLine: 'always',
- next: '*',
- prev: ['block', 'block-like', 'class', 'const', 'let', 'var', 'interface'],
- },
- {
- blankLine: 'any',
- next: ['const', 'let', 'var'],
- prev: ['const', 'let', 'var'],
- },
- {
- blankLine: 'any',
- next: ['case'],
- prev: ['case'],
- },
- {
- blankLine: 'always',
- next: '*',
- prev: 'directive',
- },
- {
- blankLine: 'any',
- next: 'directive',
- prev: 'directive',
- },
- ],
- '@stylistic/spaced-comment': [
- 'warn',
- 'always',
- {
- block: { balanced: true, exceptions: ['-', '+'], markers: ['=', '!'] },
- line: { exceptions: ['-', '+'], markers: ['=', '!'] },
- },
- ],
- 'array-callback-return': 'error',
- 'arrow-body-style': ['error', 'as-needed', { requireReturnForObjectLiteral: false }],
- 'block-scoped-var': 'error',
- camelcase: ['error', { properties: 'never' }],
- complexity: 'error',
- 'consistent-return': 'error',
- 'default-case': ['error'],
- 'default-param-last': 'error',
- 'dot-notation': ['error', { allowKeywords: true }],
- eqeqeq: ['error', 'smart'],
- 'func-names': 'error',
- 'getter-return': ['error', { allowImplicit: true }],
- 'gettext/no-variable-string': 'error',
- 'guard-for-in': 'error',
- 'import/default': 'off',
- 'import/dynamic-import-chunkname': 'error',
- 'import/extensions': [
- 'error',
- {
- js: 'never',
- json: 'always',
- jsx: 'never',
- ts: 'never',
- tsx: 'never',
- },
- ],
- 'import/newline-after-import': 'warn',
- 'import/no-absolute-path': 'error',
- 'import/no-amd': 'error',
- 'import/no-duplicates': ['warn', { 'prefer-inline': true }],
- 'import/no-dynamic-require': 'error',
- 'import/no-extraneous-dependencies': 'error',
- 'import/no-mutable-exports': 'error',
- 'import/no-named-default': 'error',
- 'import/no-unresolved': ['error', { caseSensitive: true, commonjs: true }],
- 'import/no-webpack-loader-syntax': 'error',
- 'import/order': [
- 'warn',
- {
- alphabetize: { caseInsensitive: true, order: 'asc' },
- groups: [['builtin', 'external'], 'internal', 'parent', 'sibling', 'index'],
- 'newlines-between': 'always',
- },
- ],
- 'max-classes-per-file': ['error', 1],
- 'new-cap': [
- 'error',
- {
- capIsNew: false,
- capIsNewExceptions: ['Immutable.Map', 'Immutable.Set', 'Immutable.List'],
- newIsCap: true,
- newIsCapExceptions: [],
- },
- ],
- 'no-alert': 'warn',
- 'no-array-constructor': 'error',
- 'no-await-in-loop': 'error',
- 'no-bitwise': 'error',
- 'no-caller': 'error',
- 'no-cond-assign': ['error', 'always'],
- 'no-console': 'warn',
- 'no-constant-condition': 'warn',
- 'no-continue': 'error',
- 'no-duplicate-imports': 'error',
- 'no-else-return': ['error', { allowElseIf: true }],
- 'no-empty-function': ['error', { allow: ['arrowFunctions', 'functions', 'methods'] }],
- 'no-eval': 'error',
- 'no-extend-native': 'error',
- 'no-extra-bind': 'error',
- 'no-extra-label': 'error',
- 'no-implied-eval': 'error',
- 'no-iterator': 'error',
- 'no-label-var': 'error',
- 'no-labels': ['error', { allowLoop: false, allowSwitch: false }],
- 'no-lone-blocks': 'error',
- 'no-lonely-if': 'error',
- 'no-loop-func': 'error',
- 'no-multi-assign': ['error'],
- 'no-multi-str': 'error',
- 'no-nested-ternary': 'error',
- 'no-new': 'error',
- 'no-new-func': 'error',
- 'no-new-wrappers': 'error',
- 'no-object-constructor': 'error',
- 'no-octal-escape': 'error',
- 'no-param-reassign': ['error', { props: false }],
- 'no-plusplus': 'error',
- 'no-proto': 'error',
- 'no-prototype-builtins': 'off',
- 'no-restricted-globals': [
- 'error',
- 'isFinite',
- 'isNaN',
- 'addEventListener',
- 'blur',
- 'close',
- 'closed',
- 'confirm',
- 'defaultStatus',
- 'event',
- 'external',
- 'defaultstatus',
- 'find',
- 'focus',
- 'frameElement',
- 'frames',
- 'history',
- 'innerHeight',
- 'innerWidth',
- 'length',
- 'location',
- 'locationbar',
- 'menubar',
- 'moveBy',
- 'moveTo',
- 'name',
- 'onblur',
- 'onerror',
- 'onfocus',
- 'onload',
- 'onresize',
- 'onunload',
- 'open',
- 'opener',
- 'opera',
- 'outerHeight',
- 'outerWidth',
- 'pageXOffset',
- 'pageYOffset',
- 'parent',
- 'print',
- 'removeEventListener',
- 'resizeBy',
- 'resizeTo',
- 'screen',
- 'screenLeft',
- 'screenTop',
- 'screenX',
- 'screenY',
- 'scroll',
- 'scrollbars',
- 'scrollBy',
- 'scrollTo',
- 'scrollX',
- 'scrollY',
- 'self',
- 'status',
- 'statusbar',
- 'stop',
- 'toolbar',
- 'top',
- ],
- 'no-restricted-imports': ['error'],
- 'no-restricted-properties': [
- 'error',
- {
- message: 'arguments.callee is deprecated',
- object: 'arguments',
- property: 'callee',
- },
- {
- message: 'Please use Number.isFinite instead',
- object: 'global',
- property: 'isFinite',
- },
- {
- message: 'Please use Number.isFinite instead',
- object: 'self',
- property: 'isFinite',
- },
- {
- message: 'Please use Number.isFinite instead',
- object: 'window',
- property: 'isFinite',
- },
- {
- message: 'Please use Number.isNaN instead',
- object: 'global',
- property: 'isNaN',
- },
- {
- message: 'Please use Number.isNaN instead',
- object: 'self',
- property: 'isNaN',
- },
- {
- message: 'Please use Number.isNaN instead',
- object: 'window',
- property: 'isNaN',
- },
- {
- message: 'Please use Object.defineProperty instead.',
- property: '__defineGetter__',
- },
- {
- message: 'Please use Object.defineProperty instead.',
- property: '__defineSetter__',
- },
- {
- message: 'Use the exponentiation operator (**) instead.',
- object: 'Math',
- property: 'pow',
- },
- ],
- 'no-restricted-syntax': [
- 'error',
- {
- message:
- 'for..in loops iterate over the entire prototype chain, which is virtually never what you want. Use Object.{keys,values,entries}, and iterate over the resulting array.',
- selector: 'ForInStatement',
- },
- {
- message:
- 'iterators/generators require regenerator-runtime, which is too heavyweight for this guide to allow them. Separately, loops should be avoided in favor of array iterations.',
- selector: 'ForOfStatement',
- },
- {
- message:
- 'Labels are a form of GOTO; using them makes code confusing and hard to maintain and understand.',
- selector: 'LabeledStatement',
- },
- {
- message:
- '`with` is disallowed in strict mode because it makes code impossible to predict and optimize.',
- selector: 'WithStatement',
- },
- {
- message: 'Property setters are not allowed',
- selector: 'MethodDefinition[kind="set"]',
- },
- {
- message: 'Property getters are not allowed',
- selector: 'MethodDefinition[kind="get"]',
+import js from '@eslint/js';
+import stylisticPlugin from '@stylistic/eslint-plugin';
+import gettextPlugin from 'eslint-plugin-gettext';
+import importPlugin from 'eslint-plugin-import';
+import switchCasePlugin from 'eslint-plugin-switch-case';
+import globals from 'globals';
+
+export default [
+ js.configs.recommended,
+ {
+ languageOptions: {
+ ecmaVersion: 'latest',
+ sourceType: 'module',
+ globals: {
+ ...globals.browser,
+ ...globals.es2021,
},
- ],
- 'no-return-assign': ['error', 'except-parens'],
- 'no-script-url': 'error',
- 'no-self-compare': 'error',
- 'no-sequences': 'error',
- 'no-shadow': ['error', { hoist: 'all' }],
- 'no-template-curly-in-string': 'error',
- 'no-undef-init': 'error',
- 'no-underscore-dangle': ['error', { allowAfterSuper: true, allowAfterThis: true }],
- 'no-unneeded-ternary': ['error', { defaultAssignment: false }],
- 'no-unused-expressions': 'error',
- 'no-unused-vars': ['error', { args: 'after-used', ignoreRestSiblings: true, vars: 'all' }],
- 'no-use-before-define': ['error', 'nofunc'],
- 'no-useless-computed-key': 'error',
- 'no-useless-concat': 'error',
- 'no-useless-constructor': 'error',
- 'no-useless-rename': [
- 'error',
- { ignoreDestructuring: false, ignoreExport: false, ignoreImport: false },
- ],
- 'no-useless-return': 'error',
- 'no-var': 'error',
- 'no-void': ['error', { allowAsStatement: true }],
- 'object-shorthand': ['error', 'always', { avoidQuotes: true, ignoreConstructors: false }],
- 'one-var': ['error', 'never'],
- 'operator-assignment': ['error', 'always'],
- 'prefer-arrow-callback': ['error', { allowNamedFunctions: false, allowUnboundThis: true }],
- 'prefer-const': ['error', { destructuring: 'any', ignoreReadBeforeAssign: true }],
- 'prefer-numeric-literals': 'error',
- 'prefer-rest-params': 'error',
- 'prefer-template': 'error',
- radix: 'error',
- 'sort-imports': ['error', { ignoreCase: true, ignoreDeclarationSort: true }],
- strict: 'error',
- 'switch-case/newline-between-switch-case': ['warn', 'always', { fallthrough: 'never' }],
- 'symbol-description': 'error',
- 'valid-jsdoc': ['error', { requireParamDescription: false, requireReturnDescription: false }],
- 'valid-typeof': ['error', { requireStringLiterals: true }],
- 'vars-on-top': 'error',
- yoda: 'error',
+ },
+ plugins: {
+ import: importPlugin,
+ gettext: gettextPlugin,
+ 'switch-case': switchCasePlugin,
+ '@stylistic': stylisticPlugin,
+ },
+ settings: {},
+ linterOptions: {
+ reportUnusedDisableDirectives: 'error',
+ },
+ rules: {
+ '@stylistic/padding-line-between-statements': [
+ 'warn',
+ {
+ blankLine: 'always',
+ next: 'return',
+ prev: '*',
+ },
+ {
+ blankLine: 'always',
+ next: ['block', 'block-like', 'class', 'const', 'let', 'var', 'interface'],
+ prev: '*',
+ },
+ {
+ blankLine: 'always',
+ next: '*',
+ prev: ['block', 'block-like', 'class', 'const', 'let', 'var', 'interface'],
+ },
+ {
+ blankLine: 'any',
+ next: ['const', 'let', 'var'],
+ prev: ['const', 'let', 'var'],
+ },
+ {
+ blankLine: 'any',
+ next: ['case'],
+ prev: ['case'],
+ },
+ {
+ blankLine: 'always',
+ next: '*',
+ prev: 'directive',
+ },
+ {
+ blankLine: 'any',
+ next: 'directive',
+ prev: 'directive',
+ },
+ ],
+ '@stylistic/spaced-comment': [
+ 'warn',
+ 'always',
+ {
+ block: { balanced: true, exceptions: ['-', '+'], markers: ['=', '!'] },
+ line: { exceptions: ['-', '+'], markers: ['=', '!'] },
+ },
+ ],
+ 'array-callback-return': 'error',
+ 'arrow-body-style': ['error', 'as-needed', { requireReturnForObjectLiteral: false }],
+ 'block-scoped-var': 'error',
+ camelcase: ['error', { properties: 'never' }],
+ complexity: 'error',
+ 'consistent-return': 'error',
+ 'default-case': ['error'],
+ 'default-param-last': 'error',
+ 'dot-notation': ['error', { allowKeywords: true }],
+ eqeqeq: ['error', 'smart'],
+ 'func-names': 'error',
+ 'getter-return': ['error', { allowImplicit: true }],
+ 'gettext/no-variable-string': 'error',
+ 'guard-for-in': 'error',
+ 'import/default': 'off',
+ 'import/dynamic-import-chunkname': 'error',
+ 'import/extensions': [
+ 'error',
+ {
+ js: 'never',
+ json: 'always',
+ jsx: 'never',
+ ts: 'never',
+ tsx: 'never',
+ },
+ ],
+ 'import/newline-after-import': 'warn',
+ 'import/no-absolute-path': 'error',
+ 'import/no-amd': 'error',
+ 'import/no-duplicates': ['warn', { 'prefer-inline': true }],
+ 'import/no-dynamic-require': 'error',
+ 'import/no-extraneous-dependencies': 'error',
+ 'import/no-mutable-exports': 'error',
+ 'import/no-named-default': 'error',
+ 'import/no-unresolved': ['error', { caseSensitive: true, commonjs: true }],
+ 'import/no-webpack-loader-syntax': 'error',
+ 'import/order': [
+ 'warn',
+ {
+ alphabetize: { caseInsensitive: true, order: 'asc' },
+ groups: [['builtin', 'external'], 'internal', 'parent', 'sibling', 'index'],
+ 'newlines-between': 'always',
+ },
+ ],
+ 'max-classes-per-file': ['error', 1],
+ 'new-cap': [
+ 'error',
+ {
+ capIsNew: false,
+ capIsNewExceptions: ['Immutable.Map', 'Immutable.Set', 'Immutable.List'],
+ newIsCap: true,
+ newIsCapExceptions: [],
+ },
+ ],
+ 'no-alert': 'warn',
+ 'no-array-constructor': 'error',
+ 'no-await-in-loop': 'error',
+ 'no-bitwise': 'error',
+ 'no-caller': 'error',
+ 'no-cond-assign': ['error', 'always'],
+ 'no-console': 'warn',
+ 'no-constant-condition': 'warn',
+ 'no-continue': 'error',
+ 'no-duplicate-imports': 'error',
+ 'no-else-return': ['error', { allowElseIf: true }],
+ 'no-empty-function': ['error', { allow: ['arrowFunctions', 'functions', 'methods'] }],
+ 'no-eval': 'error',
+ 'no-extend-native': 'error',
+ 'no-extra-bind': 'error',
+ 'no-extra-label': 'error',
+ 'no-implied-eval': 'error',
+ 'no-iterator': 'error',
+ 'no-label-var': 'error',
+ 'no-labels': ['error', { allowLoop: false, allowSwitch: false }],
+ 'no-lone-blocks': 'error',
+ 'no-lonely-if': 'error',
+ 'no-loop-func': 'error',
+ 'no-multi-assign': ['error'],
+ 'no-multi-str': 'error',
+ 'no-nested-ternary': 'error',
+ 'no-new': 'error',
+ 'no-new-func': 'error',
+ 'no-new-wrappers': 'error',
+ 'no-object-constructor': 'error',
+ 'no-octal-escape': 'error',
+ 'no-param-reassign': ['error', { props: false }],
+ 'no-plusplus': 'error',
+ 'no-proto': 'error',
+ 'no-prototype-builtins': 'off',
+ 'no-restricted-globals': [
+ 'error',
+ 'isFinite',
+ 'isNaN',
+ 'addEventListener',
+ 'blur',
+ 'close',
+ 'closed',
+ 'confirm',
+ 'defaultStatus',
+ 'event',
+ 'external',
+ 'defaultstatus',
+ 'find',
+ 'focus',
+ 'frameElement',
+ 'frames',
+ 'history',
+ 'innerHeight',
+ 'innerWidth',
+ 'length',
+ 'location',
+ 'locationbar',
+ 'menubar',
+ 'moveBy',
+ 'moveTo',
+ 'name',
+ 'onblur',
+ 'onerror',
+ 'onfocus',
+ 'onload',
+ 'onresize',
+ 'onunload',
+ 'open',
+ 'opener',
+ 'opera',
+ 'outerHeight',
+ 'outerWidth',
+ 'pageXOffset',
+ 'pageYOffset',
+ 'parent',
+ 'print',
+ 'removeEventListener',
+ 'resizeBy',
+ 'resizeTo',
+ 'screen',
+ 'screenLeft',
+ 'screenTop',
+ 'screenX',
+ 'screenY',
+ 'scroll',
+ 'scrollbars',
+ 'scrollBy',
+ 'scrollTo',
+ 'scrollX',
+ 'scrollY',
+ 'self',
+ 'status',
+ 'statusbar',
+ 'stop',
+ 'toolbar',
+ 'top',
+ ],
+ 'no-restricted-imports': ['error'],
+ 'no-restricted-properties': [
+ 'error',
+ {
+ message: 'arguments.callee is deprecated',
+ object: 'arguments',
+ property: 'callee',
+ },
+ {
+ message: 'Please use Number.isFinite instead',
+ object: 'global',
+ property: 'isFinite',
+ },
+ {
+ message: 'Please use Number.isFinite instead',
+ object: 'self',
+ property: 'isFinite',
+ },
+ {
+ message: 'Please use Number.isFinite instead',
+ object: 'window',
+ property: 'isFinite',
+ },
+ {
+ message: 'Please use Number.isNaN instead',
+ object: 'global',
+ property: 'isNaN',
+ },
+ {
+ message: 'Please use Number.isNaN instead',
+ object: 'self',
+ property: 'isNaN',
+ },
+ {
+ message: 'Please use Number.isNaN instead',
+ object: 'window',
+ property: 'isNaN',
+ },
+ {
+ message: 'Please use Object.defineProperty instead.',
+ property: '__defineGetter__',
+ },
+ {
+ message: 'Please use Object.defineProperty instead.',
+ property: '__defineSetter__',
+ },
+ {
+ message: 'Use the exponentiation operator (**) instead.',
+ object: 'Math',
+ property: 'pow',
+ },
+ ],
+ 'no-restricted-syntax': [
+ 'error',
+ {
+ message:
+ 'for..in loops iterate over the entire prototype chain, which is virtually never what you want. Use Object.{keys,values,entries}, and iterate over the resulting array.',
+ selector: 'ForInStatement',
+ },
+ {
+ message:
+ 'iterators/generators require regenerator-runtime, which is too heavyweight for this guide to allow them. Separately, loops should be avoided in favor of array iterations.',
+ selector: 'ForOfStatement',
+ },
+ {
+ message:
+ 'Labels are a form of GOTO; using them makes code confusing and hard to maintain and understand.',
+ selector: 'LabeledStatement',
+ },
+ {
+ message:
+ '`with` is disallowed in strict mode because it makes code impossible to predict and optimize.',
+ selector: 'WithStatement',
+ },
+ {
+ message: 'Property setters are not allowed',
+ selector: 'MethodDefinition[kind="set"]',
+ },
+ {
+ message: 'Property getters are not allowed',
+ selector: 'MethodDefinition[kind="get"]',
+ },
+ ],
+ 'no-return-assign': ['error', 'except-parens'],
+ 'no-script-url': 'error',
+ 'no-self-compare': 'error',
+ 'no-sequences': 'error',
+ 'no-shadow': ['error', { hoist: 'all' }],
+ 'no-template-curly-in-string': 'error',
+ 'no-undef-init': 'error',
+ 'no-underscore-dangle': ['error', { allowAfterSuper: true, allowAfterThis: true }],
+ 'no-unneeded-ternary': ['error', { defaultAssignment: false }],
+ 'no-unused-expressions': 'error',
+ 'no-unused-vars': ['error', { args: 'after-used', ignoreRestSiblings: true, vars: 'all' }],
+ 'no-use-before-define': ['error', 'nofunc'],
+ 'no-useless-computed-key': 'error',
+ 'no-useless-concat': 'error',
+ 'no-useless-constructor': 'error',
+ 'no-useless-rename': [
+ 'error',
+ { ignoreDestructuring: false, ignoreExport: false, ignoreImport: false },
+ ],
+ 'no-useless-return': 'error',
+ 'no-var': 'error',
+ 'no-void': ['error', { allowAsStatement: true }],
+ 'object-shorthand': ['error', 'always', { avoidQuotes: true, ignoreConstructors: false }],
+ 'one-var': ['error', 'never'],
+ 'operator-assignment': ['error', 'always'],
+ 'prefer-arrow-callback': ['error', { allowNamedFunctions: false, allowUnboundThis: true }],
+ 'prefer-const': ['error', { destructuring: 'any', ignoreReadBeforeAssign: true }],
+ 'prefer-numeric-literals': 'error',
+ 'prefer-rest-params': 'error',
+ 'prefer-template': 'error',
+ radix: 'error',
+ 'sort-imports': ['error', { ignoreCase: true, ignoreDeclarationSort: true }],
+ strict: 'error',
+ 'switch-case/newline-between-switch-case': ['warn', 'always', { fallthrough: 'never' }],
+ 'symbol-description': 'error',
+ 'valid-jsdoc': ['error', { requireParamDescription: false, requireReturnDescription: false }],
+ 'valid-typeof': ['error', { requireStringLiterals: true }],
+ 'vars-on-top': 'error',
+ yoda: 'error',
+ },
},
-};
+];
diff --git a/packages/eslint-config/configs/jest-dom.js b/packages/eslint-config/configs/jest-dom.js
index 43db30b..6ae252f 100644
--- a/packages/eslint-config/configs/jest-dom.js
+++ b/packages/eslint-config/configs/jest-dom.js
@@ -1,5 +1,13 @@
-/** @type {import("eslint").Linter.Config} */
-module.exports = {
- extends: 'plugin:jest-dom/recommended',
- plugins: ['jest-dom'],
-};
+import jestDomPlugin from 'eslint-plugin-jest-dom';
+
+export default [
+ {
+ files: ['**/*.spec.*', '**/spec.*', 'jest-setup.*'],
+ plugins: {
+ 'jest-dom': jestDomPlugin,
+ },
+ rules: {
+ ...jestDomPlugin.configs.recommended.rules,
+ },
+ },
+];
diff --git a/packages/eslint-config/configs/jest.js b/packages/eslint-config/configs/jest.js
index 5e94c95..13d8d29 100644
--- a/packages/eslint-config/configs/jest.js
+++ b/packages/eslint-config/configs/jest.js
@@ -1,31 +1,43 @@
-/** @type {import("eslint").Linter.Config} */
-module.exports = {
- env: {
- jest: true,
- },
- extends: ['plugin:jest/recommended', 'plugin:jest/style'],
- plugins: ['jest', 'jest-formatting'],
- rules: {
- 'import/no-extraneous-dependencies': [
- 'error',
- {
- devDependencies: true,
- optionalDependencies: false,
- },
- ],
- 'jest-formatting/padding-around-all': 'warn',
- 'jest/no-conditional-in-test': 'error',
- 'jest/no-done-callback': 'off',
- 'jest/no-duplicate-hooks': 'off',
- 'jest/no-restricted-matchers': [
- 'error',
- {
- toBeFalsy: 'Avoid `toBeFalsy`, use `toBe(false)` instead.',
- toBeTruthy: 'Avoid `toBeTruthy`, use `toBe(true)` instead.',
+import jestPlugin from 'eslint-plugin-jest';
+import jestFormattingPlugin from 'eslint-plugin-jest-formatting';
+import globals from 'globals';
+
+export default [
+ {
+ files: ['**/*.spec.*', '**/spec.*', 'jest-setup.*'],
+ languageOptions: {
+ globals: {
+ ...globals.jest,
},
- ],
- 'jest/no-test-return-statement': 'error',
- 'jest/prefer-hooks-on-top': 'error',
- 'jest/prefer-todo': 'error',
+ },
+ plugins: {
+ jest: jestPlugin,
+ 'jest-formatting': jestFormattingPlugin,
+ },
+ rules: {
+ ...jestPlugin.configs.recommended.rules,
+ ...jestPlugin.configs.style.rules,
+ 'import/no-extraneous-dependencies': [
+ 'error',
+ {
+ devDependencies: true,
+ optionalDependencies: false,
+ },
+ ],
+ 'jest-formatting/padding-around-all': 'warn',
+ 'jest/no-conditional-in-test': 'error',
+ 'jest/no-done-callback': 'off',
+ 'jest/no-duplicate-hooks': 'off',
+ 'jest/no-restricted-matchers': [
+ 'error',
+ {
+ toBeFalsy: 'Avoid `toBeFalsy`, use `toBe(false)` instead.',
+ toBeTruthy: 'Avoid `toBeTruthy`, use `toBe(true)` instead.',
+ },
+ ],
+ 'jest/no-test-return-statement': 'error',
+ 'jest/prefer-hooks-on-top': 'error',
+ 'jest/prefer-todo': 'error',
+ },
},
-};
+];
diff --git a/packages/eslint-config/configs/jsdoc.js b/packages/eslint-config/configs/jsdoc.js
index 0b5b676..2af4815 100644
--- a/packages/eslint-config/configs/jsdoc.js
+++ b/packages/eslint-config/configs/jsdoc.js
@@ -1,16 +1,21 @@
-/** @type {import("eslint").Linter.Config} */
-module.exports = {
- plugins: ['jsdoc'],
- rules: {
- 'jsdoc/check-alignment': 'error',
- 'jsdoc/check-param-names': 'error',
- 'jsdoc/check-syntax': 'error',
- 'jsdoc/check-tag-names': 'error',
- 'jsdoc/implements-on-classes': 'error',
- 'jsdoc/require-param-name': 'error',
- 'jsdoc/require-param-type': 'error',
- 'jsdoc/require-returns-check': 'error',
- 'jsdoc/require-returns-type': 'error',
- 'valid-jsdoc': 'off',
+import jsdocPlugin from 'eslint-plugin-jsdoc';
+
+export default [
+ {
+ plugins: {
+ jsdoc: jsdocPlugin,
+ },
+ rules: {
+ 'jsdoc/check-alignment': 'error',
+ 'jsdoc/check-param-names': 'error',
+ 'jsdoc/check-syntax': 'error',
+ 'jsdoc/check-tag-names': 'error',
+ 'jsdoc/implements-on-classes': 'error',
+ 'jsdoc/require-param-name': 'error',
+ 'jsdoc/require-param-type': 'error',
+ 'jsdoc/require-returns-check': 'error',
+ 'jsdoc/require-returns-type': 'error',
+ 'valid-jsdoc': 'off',
+ },
},
-};
+];
diff --git a/packages/eslint-config/configs/prettier.js b/packages/eslint-config/configs/prettier.js
index e642266..b2239af 100644
--- a/packages/eslint-config/configs/prettier.js
+++ b/packages/eslint-config/configs/prettier.js
@@ -1,11 +1,13 @@
-const path = require('path');
+import prettierConfig from 'eslint-config-prettier';
+import prettierPlugin from 'eslint-plugin-prettier';
+import { readFileSync } from 'fs';
+import path from 'path';
-const defaultConfig = require('../prettier.config');
+import defaultPrettierConfig from '../prettier.config.js';
function getRules() {
const pkgPath = path.resolve(process.cwd(), 'package.json');
- // eslint-disable-next-line import/no-dynamic-require
- const pkg = require(pkgPath);
+ const pkg = JSON.parse(readFileSync(pkgPath, 'utf-8'));
if (pkg.prettier !== '@bigcommerce/eslint-config/prettier') {
throw new Error(`
@@ -17,12 +19,18 @@ function getRules() {
return {
curly: ['error', 'all'],
- 'prettier/prettier': ['warn', defaultConfig, { usePrettierrc: false }],
+ 'prettier/prettier': ['warn', defaultPrettierConfig, { usePrettierrc: false }],
};
}
-/** @type {import("eslint").Linter.Config} */
-module.exports = {
- extends: ['plugin:prettier/recommended'],
- rules: getRules(),
-};
+export default [
+ {
+ plugins: {
+ prettier: prettierPlugin,
+ },
+ rules: {
+ ...prettierConfig.rules,
+ ...getRules(),
+ },
+ },
+];
diff --git a/packages/eslint-config/configs/react.js b/packages/eslint-config/configs/react.js
index 0a6ff75..64663b4 100644
--- a/packages/eslint-config/configs/react.js
+++ b/packages/eslint-config/configs/react.js
@@ -1,72 +1,79 @@
-/** @type {import("eslint").Linter.Config} */
-module.exports = {
- extends: [
- 'plugin:react/recommended',
- 'plugin:react-hooks/recommended',
- 'plugin:jsx-a11y/recommended',
- ],
- parserOptions: {
- ecmaFeatures: {
- jsx: true,
- },
- },
- plugins: ['react-hooks'],
- rules: {
- // Remove when https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/pull/757 gets released
- 'jsx-a11y/no-onchange': 'off',
- 'react-hooks/exhaustive-deps': 'error',
- 'react-hooks/rules-of-hooks': 'error',
- 'react/destructuring-assignment': 'error',
- 'react/display-name': 'off',
- 'react/jsx-curly-brace-presence': [
- 'error',
- {
- children: 'never',
- propElementValues: 'always',
- props: 'never',
- },
- ],
- 'react/jsx-fragments': ['error', 'syntax'],
- 'react/jsx-no-bind': [
- 'error',
- {
- allowArrowFunctions: true,
+import jsxA11yPlugin from 'eslint-plugin-jsx-a11y';
+import reactPlugin from 'eslint-plugin-react';
+import reactHooksPlugin from 'eslint-plugin-react-hooks';
+
+export default [
+ {
+ files: ['**/*.js', '**/*.jsx', '**/*.ts', '**/*.tsx'],
+ languageOptions: {
+ parserOptions: {
+ ecmaFeatures: {
+ jsx: true,
+ },
},
- ],
- 'react/jsx-no-useless-fragment': 'error',
- 'react/jsx-pascal-case': 'error',
- 'react/jsx-sort-props': 'warn',
- 'react/no-redundant-should-component-update': 'error',
- 'react/no-this-in-sfc': 'error',
- 'react/no-unescaped-entities': [
- 'error',
- {
- forbid: [
- { alternatives: ['>'], char: '>' },
- { alternatives: ['}'], char: '}' },
- ],
+ },
+ plugins: {
+ react: reactPlugin,
+ 'react-hooks': reactHooksPlugin,
+ 'jsx-a11y': jsxA11yPlugin,
+ },
+ settings: {
+ react: {
+ version: 'detect',
},
- ],
- 'react/no-unsafe': 'error',
- 'react/no-unused-state': 'error',
- 'react/prefer-es6-class': 'error',
- 'react/prefer-read-only-props': 'error',
- 'react/prop-types': 'off',
- 'react/self-closing-comp': 'error',
- 'react/style-prop-object': 'error',
- },
- settings: {
- react: {
- version: 'detect',
+ },
+ rules: {
+ ...reactPlugin.configs.recommended.rules,
+ ...reactHooksPlugin.configs.recommended.rules,
+ ...jsxA11yPlugin.configs.recommended.rules,
+ // Remove when https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/pull/757 gets released
+ 'jsx-a11y/no-onchange': 'off',
+ 'react-hooks/exhaustive-deps': 'error',
+ 'react-hooks/rules-of-hooks': 'error',
+ 'react/destructuring-assignment': 'error',
+ 'react/display-name': 'off',
+ 'react/jsx-curly-brace-presence': [
+ 'error',
+ {
+ children: 'never',
+ propElementValues: 'always',
+ props: 'never',
+ },
+ ],
+ 'react/jsx-fragments': ['error', 'syntax'],
+ 'react/jsx-no-bind': [
+ 'error',
+ {
+ allowArrowFunctions: true,
+ },
+ ],
+ 'react/jsx-no-useless-fragment': 'error',
+ 'react/jsx-pascal-case': 'error',
+ 'react/jsx-sort-props': 'warn',
+ 'react/no-redundant-should-component-update': 'error',
+ 'react/no-this-in-sfc': 'error',
+ 'react/no-unescaped-entities': [
+ 'error',
+ {
+ forbid: [
+ { alternatives: ['>'], char: '>' },
+ { alternatives: ['}'], char: '}' },
+ ],
+ },
+ ],
+ 'react/no-unsafe': 'error',
+ 'react/no-unused-state': 'error',
+ 'react/prefer-es6-class': 'error',
+ 'react/prefer-read-only-props': 'error',
+ 'react/prop-types': 'off',
+ 'react/self-closing-comp': 'error',
+ 'react/style-prop-object': 'error',
},
},
- // eslint-disable-next-line sort-keys
- overrides: [
- {
- files: ['**/*.ts'],
- rules: {
- 'react/jsx-filename-extension': [1, { extensions: ['.tsx'] }],
- },
+ {
+ files: ['**/*.ts'],
+ rules: {
+ 'react/jsx-filename-extension': [1, { extensions: ['.tsx'] }],
},
- ],
-};
+ },
+];
diff --git a/packages/eslint-config/configs/testing-library.js b/packages/eslint-config/configs/testing-library.js
index 2b77f04..000a072 100644
--- a/packages/eslint-config/configs/testing-library.js
+++ b/packages/eslint-config/configs/testing-library.js
@@ -1,8 +1,14 @@
-/** @type {import("eslint").Linter.Config} */
-module.exports = {
- extends: ['plugin:testing-library/react'],
- plugins: ['testing-library'],
- rules: {
- 'testing-library/no-render-in-lifecycle': 'off',
+import testingLibraryPlugin from 'eslint-plugin-testing-library';
+
+export default [
+ {
+ files: ['**/*.spec.*', '**/spec.*', 'jest-setup.*'],
+ plugins: {
+ 'testing-library': testingLibraryPlugin,
+ },
+ rules: {
+ ...testingLibraryPlugin.configs.react.rules,
+ 'testing-library/no-render-in-lifecycle': 'off',
+ },
},
-};
+];
diff --git a/packages/eslint-config/configs/typescript.js b/packages/eslint-config/configs/typescript.js
index 54c57c9..7d1b0f4 100644
--- a/packages/eslint-config/configs/typescript.js
+++ b/packages/eslint-config/configs/typescript.js
@@ -1,176 +1,179 @@
-const { join } = require('path');
+import bigcommercePlugin from '@bigcommerce/eslint-plugin';
+import tseslint from '@typescript-eslint/eslint-plugin';
+import tsParser from '@typescript-eslint/parser';
+import { join } from 'path';
-/** @type {import("eslint").Linter.Config} */
-module.exports = {
- extends: [
- 'plugin:import/typescript',
- 'plugin:@typescript-eslint/stylistic-type-checked',
- 'plugin:@typescript-eslint/strict-type-checked',
- 'plugin:@bigcommerce/recommended',
- ],
- parser: '@typescript-eslint/parser',
- parserOptions: {
- project: join(process.cwd(), 'tsconfig.json'),
- },
- plugins: ['@typescript-eslint'],
- rules: {
- '@typescript-eslint/array-type': [
- 'error',
- {
- default: 'array-simple',
- },
- ],
- '@typescript-eslint/await-thenable': 'error',
- '@typescript-eslint/block-spacing': 'off',
- '@typescript-eslint/consistent-generic-constructors': 'off',
- '@typescript-eslint/consistent-type-assertions': [
- 'error',
- {
- assertionStyle: 'never',
- },
- ],
- '@typescript-eslint/consistent-type-definitions': 'error',
- '@typescript-eslint/default-param-last': ['error'],
- '@typescript-eslint/dot-notation': [
- 'error',
- {
- allowKeywords: true,
- },
- ],
- '@typescript-eslint/explicit-function-return-type': 'off',
- '@typescript-eslint/explicit-member-accessibility': [
- 'error',
- {
- accessibility: 'no-public',
- },
- ],
- '@typescript-eslint/explicit-module-boundary-types': 'off',
- '@typescript-eslint/key-spacing': 'off',
- '@typescript-eslint/lines-around-comment': 'off',
- '@typescript-eslint/member-ordering': 'error',
- '@typescript-eslint/naming-convention': [
- 'error',
- {
- format: ['camelCase', 'PascalCase'],
- selector: 'default',
- },
- {
- format: ['camelCase', 'PascalCase', 'UPPER_CASE'],
- selector: 'variable',
- },
- {
- format: ['camelCase', 'UPPER_CASE'],
- selector: 'variable',
- types: ['boolean', 'string', 'number', 'array'],
- },
- {
- format: ['camelCase'],
- selector: 'property',
- },
- {
- format: ['camelCase'],
- selector: 'parameterProperty',
- },
- {
- format: ['PascalCase'],
- selector: 'typeLike',
- },
- {
- format: ['PascalCase', 'UPPER_CASE'],
- selector: 'enumMember',
+export default [
+ {
+ files: ['**/*.ts', '**/*.tsx'],
+ languageOptions: {
+ parser: tsParser,
+ parserOptions: {
+ project: join(process.cwd(), 'tsconfig.json'),
},
- {
- format: ['camelCase'],
- selector: 'parameter',
- },
- {
- format: ['camelCase'],
- leadingUnderscore: 'allow',
- modifiers: ['unused'],
- selector: 'parameter',
- },
- {
- format: null,
- modifiers: ['requiresQuotes'],
- selector: ['objectLiteralProperty', 'typeProperty'],
- },
- ],
- '@typescript-eslint/no-confusing-void-expression': ['error', { ignoreArrowShorthand: true }],
- '@typescript-eslint/no-explicit-any': 'error',
- '@typescript-eslint/no-misused-promises': [
- 'error',
- {
- checksVoidReturn: {
- attributes: false,
+ },
+ plugins: {
+ '@typescript-eslint': tseslint,
+ '@bigcommerce': bigcommercePlugin,
+ },
+ settings: {
+ 'import/resolver': {
+ typescript: {
+ alwaysTryTypes: true,
},
},
- ],
- '@typescript-eslint/no-namespace': [
- 'error',
- {
- allowDeclarations: true,
- },
- ],
- '@typescript-eslint/no-shadow': ['error', { hoist: 'all' }],
- '@typescript-eslint/no-unnecessary-condition': 'error',
- '@typescript-eslint/no-unnecessary-type-assertion': 'error',
- '@typescript-eslint/no-unused-expressions': 'error',
- '@typescript-eslint/no-unused-vars': [
- 'error',
- {
- args: 'after-used',
- ignoreRestSiblings: true,
- vars: 'all',
- },
- ],
- '@typescript-eslint/no-use-before-define': ['error', 'nofunc'],
- '@typescript-eslint/no-useless-constructor': 'error',
- '@typescript-eslint/prefer-for-of': 'error',
- '@typescript-eslint/prefer-function-type': 'error',
- '@typescript-eslint/require-await': 'error',
- '@typescript-eslint/restrict-template-expressions': ['error', { allowNumber: true }],
- '@typescript-eslint/return-await': 'error',
- '@typescript-eslint/unbound-method': 'off',
- '@typescript-eslint/unified-signatures': 'error',
- // The following rules are off mostly due to incompatibilities with their
- // @typescript-eslint version
- camelcase: 'off',
- 'consistent-return': 'off',
- 'default-case': 'off',
- 'default-param-last': 'off',
- 'import/named': 'off',
- 'no-duplicate-imports': 'off',
- 'no-shadow': 'off',
- 'no-throw-literal': 'off',
- 'no-unused-expressions': 'off',
- 'no-unused-vars': 'off',
- 'no-use-before-define': 'off',
- 'no-useless-constructor': 'off',
- 'sort-keys': 'off',
- },
- settings: {
- 'import/resolver': {
- typescript: {
- alwaysTryTypes: true,
- },
+ },
+ rules: {
+ ...tseslint.configs['stylistic-type-checked'].rules,
+ ...tseslint.configs['strict-type-checked'].rules,
+ '@typescript-eslint/array-type': [
+ 'error',
+ {
+ default: 'array-simple',
+ },
+ ],
+ '@typescript-eslint/await-thenable': 'error',
+ '@typescript-eslint/block-spacing': 'off',
+ '@typescript-eslint/consistent-generic-constructors': 'off',
+ '@typescript-eslint/consistent-type-assertions': [
+ 'error',
+ {
+ assertionStyle: 'never',
+ },
+ ],
+ '@typescript-eslint/consistent-type-definitions': 'error',
+ '@typescript-eslint/default-param-last': ['error'],
+ '@typescript-eslint/dot-notation': [
+ 'error',
+ {
+ allowKeywords: true,
+ },
+ ],
+ '@typescript-eslint/explicit-function-return-type': 'off',
+ '@typescript-eslint/explicit-member-accessibility': [
+ 'error',
+ {
+ accessibility: 'no-public',
+ },
+ ],
+ '@typescript-eslint/explicit-module-boundary-types': 'off',
+ '@typescript-eslint/key-spacing': 'off',
+ '@typescript-eslint/lines-around-comment': 'off',
+ '@typescript-eslint/member-ordering': 'error',
+ '@typescript-eslint/naming-convention': [
+ 'error',
+ {
+ format: ['camelCase', 'PascalCase'],
+ selector: 'default',
+ },
+ {
+ format: ['camelCase', 'PascalCase', 'UPPER_CASE'],
+ selector: 'variable',
+ },
+ {
+ format: ['camelCase', 'UPPER_CASE'],
+ selector: 'variable',
+ types: ['boolean', 'string', 'number', 'array'],
+ },
+ {
+ format: ['camelCase'],
+ selector: 'property',
+ },
+ {
+ format: ['camelCase'],
+ selector: 'parameterProperty',
+ },
+ {
+ format: ['PascalCase'],
+ selector: 'typeLike',
+ },
+ {
+ format: ['PascalCase', 'UPPER_CASE'],
+ selector: 'enumMember',
+ },
+ {
+ format: ['camelCase'],
+ selector: 'parameter',
+ },
+ {
+ format: ['camelCase'],
+ leadingUnderscore: 'allow',
+ modifiers: ['unused'],
+ selector: 'parameter',
+ },
+ {
+ format: null,
+ modifiers: ['requiresQuotes'],
+ selector: ['objectLiteralProperty', 'typeProperty'],
+ },
+ ],
+ '@typescript-eslint/no-confusing-void-expression': ['error', { ignoreArrowShorthand: true }],
+ '@typescript-eslint/no-explicit-any': 'error',
+ '@typescript-eslint/no-misused-promises': [
+ 'error',
+ {
+ checksVoidReturn: {
+ attributes: false,
+ },
+ },
+ ],
+ '@typescript-eslint/no-namespace': [
+ 'error',
+ {
+ allowDeclarations: true,
+ },
+ ],
+ '@typescript-eslint/no-shadow': ['error', { hoist: 'all' }],
+ '@typescript-eslint/no-unnecessary-condition': 'error',
+ '@typescript-eslint/no-unnecessary-type-assertion': 'error',
+ '@typescript-eslint/no-unused-expressions': 'error',
+ '@typescript-eslint/no-unused-vars': [
+ 'error',
+ {
+ args: 'after-used',
+ ignoreRestSiblings: true,
+ vars: 'all',
+ },
+ ],
+ '@typescript-eslint/no-use-before-define': ['error', 'nofunc'],
+ '@typescript-eslint/no-useless-constructor': 'error',
+ '@typescript-eslint/prefer-for-of': 'error',
+ '@typescript-eslint/prefer-function-type': 'error',
+ '@typescript-eslint/require-await': 'error',
+ '@typescript-eslint/restrict-template-expressions': ['error', { allowNumber: true }],
+ '@typescript-eslint/return-await': 'error',
+ '@typescript-eslint/unbound-method': 'off',
+ '@typescript-eslint/unified-signatures': 'error',
+ // The following rules are off mostly due to incompatibilities with their
+ // @typescript-eslint version
+ camelcase: 'off',
+ 'consistent-return': 'off',
+ 'default-case': 'off',
+ 'default-param-last': 'off',
+ 'import/named': 'off',
+ 'no-duplicate-imports': 'off',
+ 'no-shadow': 'off',
+ 'no-throw-literal': 'off',
+ 'no-unused-expressions': 'off',
+ 'no-unused-vars': 'off',
+ 'no-use-before-define': 'off',
+ 'no-useless-constructor': 'off',
+ 'sort-keys': 'off',
},
},
// We add an additional `/` marker for .d.ts files to allow for triple-slash directives
// eg: ///
- // eslint-disable-next-line sort-keys
- overrides: [
- {
- files: ['**/*.d.ts'],
- rules: {
- '@stylistic/spaced-comment': [
- 'warn',
- 'always',
- {
- block: { balanced: true, exceptions: ['-', '+'], markers: ['=', '!'] },
- line: { exceptions: ['-', '+'], markers: ['=', '!', '/'] },
- },
- ],
- },
+ {
+ files: ['**/*.d.ts'],
+ rules: {
+ '@stylistic/spaced-comment': [
+ 'warn',
+ 'always',
+ {
+ block: { balanced: true, exceptions: ['-', '+'], markers: ['=', '!'] },
+ line: { exceptions: ['-', '+'], markers: ['=', '!', '/'] },
+ },
+ ],
},
- ],
-};
+ },
+];
diff --git a/packages/eslint-config/index.js b/packages/eslint-config/index.js
index 38f5378..328128c 100644
--- a/packages/eslint-config/index.js
+++ b/packages/eslint-config/index.js
@@ -1,35 +1,56 @@
-const { hasPackage } = require('./utils');
-
-module.exports = {
- extends: ['./configs/base', './configs/jsdoc', './configs/prettier'],
- overrides: [
- hasPackage('jest') && {
- extends: './configs/jest',
- files: ['**/*.spec.*', '**/spec.*', 'jest-setup.*'],
- },
- hasPackage('@testing-library/jest-dom') && {
- extends: './configs/jest-dom',
- files: ['**/*.spec.*', '**/spec.*', 'jest-setup.*'],
- },
- hasPackage('@testing-library/react') && {
- extends: './configs/testing-library',
- files: ['**/*.spec.*', '**/spec.*', 'jest-setup.*'],
- },
- hasPackage('react') && {
- extends: './configs/react',
- files: ['**/*.ts', '**/*.tsx', '**/*.js', '**/*.jsx'],
- },
- hasPackage('typescript') && {
- extends: './configs/typescript',
- files: ['**/*.ts', '**/*.tsx'],
- },
- {
- env: {
- es6: true,
- node: true,
+import globals from 'globals';
+
+import baseConfig from './configs/base.js';
+import jestDomConfig from './configs/jest-dom.js';
+import jestConfig from './configs/jest.js';
+import jsdocConfig from './configs/jsdoc.js';
+import prettierConfig from './configs/prettier.js';
+import reactConfig from './configs/react.js';
+import testingLibraryConfig from './configs/testing-library.js';
+import typescriptConfig from './configs/typescript.js';
+import { hasPackage } from './utils/index.js';
+
+export default (async () => {
+ const configs = [
+ // Base configurations
+ ...baseConfig,
+ ...jsdocConfig,
+ ...prettierConfig,
+ ];
+
+ // Conditionally add test-related configs
+ if (await hasPackage('jest')) {
+ configs.push(...jestConfig);
+ }
+
+ if (await hasPackage('@testing-library/jest-dom')) {
+ configs.push(...jestDomConfig);
+ }
+
+ if (await hasPackage('@testing-library/react')) {
+ configs.push(...testingLibraryConfig);
+ }
+
+ // Conditionally add React config
+ if (await hasPackage('react')) {
+ configs.push(...reactConfig);
+ }
+
+ // Conditionally add TypeScript config
+ if (await hasPackage('typescript')) {
+ configs.push(...typescriptConfig);
+ }
+
+ // Add Node.js environment for .js files in the root
+ configs.push({
+ files: ['*.js'],
+ languageOptions: {
+ globals: {
+ ...globals.es2021,
+ ...globals.node,
},
- files: '*.js',
},
- ].filter(Boolean),
- root: true,
-};
+ });
+
+ return configs;
+})();
diff --git a/packages/eslint-config/jest.config.js b/packages/eslint-config/jest.config.js
index 32f68c0..fa9bf79 100644
--- a/packages/eslint-config/jest.config.js
+++ b/packages/eslint-config/jest.config.js
@@ -1,6 +1,8 @@
/** @type {import('jest').Config} */
const config = {
testPathIgnorePatterns: ['/__.*/', '/node_modules/'],
+ transform: {},
+ testEnvironment: 'node',
};
-module.exports = config;
+export default config;
diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json
index 8f9a347..582a4e9 100644
--- a/packages/eslint-config/package.json
+++ b/packages/eslint-config/package.json
@@ -2,11 +2,11 @@
"name": "@bigcommerce/eslint-config",
"version": "2.11.0",
"description": "Default ESLint configuration used at BigCommerce",
+ "type": "module",
"main": "index.js",
"files": [
"index.js",
"configs",
- "patch",
"plugin",
"utils",
"prettier",
@@ -21,7 +21,7 @@
},
"dependencies": {
"@bigcommerce/eslint-plugin": "^1.4.0",
- "@rushstack/eslint-patch": "^1.10.5",
+ "@eslint/js": "^9.0.0",
"@stylistic/eslint-plugin": "^2.1.0",
"@typescript-eslint/eslint-plugin": "^8.26.0",
"@typescript-eslint/parser": "^8.26.0",
@@ -39,6 +39,7 @@
"eslint-plugin-react-hooks": "^5.2.0",
"eslint-plugin-switch-case": "^1.1.2",
"eslint-plugin-testing-library": "^7.1.1",
+ "globals": "^15.0.0",
"prettier": "^3.5.3"
},
"devDependencies": {
@@ -47,7 +48,7 @@
"react": "^18.3.1"
},
"peerDependencies": {
- "eslint": "^8.0.0",
+ "eslint": "^9.0.0",
"typescript": "^4.0.0 || ^5.0.0"
},
"peerDependenciesMeta": {
diff --git a/packages/eslint-config/patch/index.js b/packages/eslint-config/patch/index.js
deleted file mode 100644
index 3ec0ebe..0000000
--- a/packages/eslint-config/patch/index.js
+++ /dev/null
@@ -1 +0,0 @@
-require('@rushstack/eslint-patch/modern-module-resolution');
diff --git a/packages/eslint-config/prettier.config.js b/packages/eslint-config/prettier.config.js
index 3c0f46c..888cab6 100644
--- a/packages/eslint-config/prettier.config.js
+++ b/packages/eslint-config/prettier.config.js
@@ -1,4 +1,4 @@
-module.exports = {
+export default {
printWidth: 100,
singleQuote: true,
trailingComma: 'all',
diff --git a/packages/eslint-config/prettier/index.js b/packages/eslint-config/prettier/index.js
deleted file mode 100644
index bd837c6..0000000
--- a/packages/eslint-config/prettier/index.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('../prettier.config');
diff --git a/packages/eslint-config/test/__snapshots__/d.ts.spec.js.snap b/packages/eslint-config/test/__snapshots__/d.ts.spec.js.snap
index 7794fe6..333ff39 100644
--- a/packages/eslint-config/test/__snapshots__/d.ts.spec.js.snap
+++ b/packages/eslint-config/test/__snapshots__/d.ts.spec.js.snap
@@ -2,48 +2,1235 @@
exports[`keeps rules stable 1`] = `
{
- "env": {
- "browser": true,
- "es6": true,
- },
- "globals": {},
- "ignorePatterns": [],
- "noInlineConfig": undefined,
- "parser": "/node_modules/@typescript-eslint/parser/dist/index.js",
- "parserOptions": {
- "ecmaFeatures": {
- "jsx": true,
+ "language": "@/js",
+ "languageOptions": {
+ "ecmaVersion": 2026,
+ "globals": {
+ "AI": false,
+ "AITextSession": false,
+ "AbortController": false,
+ "AbortSignal": false,
+ "AbsoluteOrientationSensor": false,
+ "AbstractRange": false,
+ "Accelerometer": false,
+ "AggregateError": false,
+ "AnalyserNode": false,
+ "Animation": false,
+ "AnimationEffect": false,
+ "AnimationEvent": false,
+ "AnimationPlaybackEvent": false,
+ "AnimationTimeline": false,
+ "Array": false,
+ "ArrayBuffer": false,
+ "Atomics": false,
+ "Attr": false,
+ "Audio": false,
+ "AudioBuffer": false,
+ "AudioBufferSourceNode": false,
+ "AudioContext": false,
+ "AudioData": false,
+ "AudioDecoder": false,
+ "AudioDestinationNode": false,
+ "AudioEncoder": false,
+ "AudioListener": false,
+ "AudioNode": false,
+ "AudioParam": false,
+ "AudioParamMap": false,
+ "AudioProcessingEvent": false,
+ "AudioScheduledSourceNode": false,
+ "AudioSinkInfo": false,
+ "AudioWorklet": false,
+ "AudioWorkletGlobalScope": false,
+ "AudioWorkletNode": false,
+ "AudioWorkletProcessor": false,
+ "AuthenticatorAssertionResponse": false,
+ "AuthenticatorAttestationResponse": false,
+ "AuthenticatorResponse": false,
+ "BackgroundFetchManager": false,
+ "BackgroundFetchRecord": false,
+ "BackgroundFetchRegistration": false,
+ "BarProp": false,
+ "BarcodeDetector": false,
+ "BaseAudioContext": false,
+ "BatteryManager": false,
+ "BeforeUnloadEvent": false,
+ "BigInt": false,
+ "BigInt64Array": false,
+ "BigUint64Array": false,
+ "BiquadFilterNode": false,
+ "Blob": false,
+ "BlobEvent": false,
+ "Bluetooth": false,
+ "BluetoothCharacteristicProperties": false,
+ "BluetoothDevice": false,
+ "BluetoothRemoteGATTCharacteristic": false,
+ "BluetoothRemoteGATTDescriptor": false,
+ "BluetoothRemoteGATTServer": false,
+ "BluetoothRemoteGATTService": false,
+ "BluetoothUUID": false,
+ "Boolean": false,
+ "BroadcastChannel": false,
+ "BrowserCaptureMediaStreamTrack": false,
+ "ByteLengthQueuingStrategy": false,
+ "CDATASection": false,
+ "CSS": false,
+ "CSSAnimation": false,
+ "CSSConditionRule": false,
+ "CSSContainerRule": false,
+ "CSSCounterStyleRule": false,
+ "CSSFontFaceRule": false,
+ "CSSFontFeatureValuesRule": false,
+ "CSSFontPaletteValuesRule": false,
+ "CSSGroupingRule": false,
+ "CSSImageValue": false,
+ "CSSImportRule": false,
+ "CSSKeyframeRule": false,
+ "CSSKeyframesRule": false,
+ "CSSKeywordValue": false,
+ "CSSLayerBlockRule": false,
+ "CSSLayerStatementRule": false,
+ "CSSMarginRule": false,
+ "CSSMathClamp": false,
+ "CSSMathInvert": false,
+ "CSSMathMax": false,
+ "CSSMathMin": false,
+ "CSSMathNegate": false,
+ "CSSMathProduct": false,
+ "CSSMathSum": false,
+ "CSSMathValue": false,
+ "CSSMatrixComponent": false,
+ "CSSMediaRule": false,
+ "CSSNamespaceRule": false,
+ "CSSNestedDeclarations": false,
+ "CSSNumericArray": false,
+ "CSSNumericValue": false,
+ "CSSPageDescriptors": false,
+ "CSSPageRule": false,
+ "CSSPerspective": false,
+ "CSSPositionTryDescriptors": false,
+ "CSSPositionTryRule": false,
+ "CSSPositionValue": false,
+ "CSSPropertyRule": false,
+ "CSSRotate": false,
+ "CSSRule": false,
+ "CSSRuleList": false,
+ "CSSScale": false,
+ "CSSScopeRule": false,
+ "CSSSkew": false,
+ "CSSSkewX": false,
+ "CSSSkewY": false,
+ "CSSStartingStyleRule": false,
+ "CSSStyleDeclaration": false,
+ "CSSStyleRule": false,
+ "CSSStyleSheet": false,
+ "CSSStyleValue": false,
+ "CSSSupportsRule": false,
+ "CSSTransformComponent": false,
+ "CSSTransformValue": false,
+ "CSSTransition": false,
+ "CSSTranslate": false,
+ "CSSUnitValue": false,
+ "CSSUnparsedValue": false,
+ "CSSVariableReferenceValue": false,
+ "CSSViewTransitionRule": false,
+ "Cache": false,
+ "CacheStorage": false,
+ "CanvasCaptureMediaStream": false,
+ "CanvasCaptureMediaStreamTrack": false,
+ "CanvasGradient": false,
+ "CanvasPattern": false,
+ "CanvasRenderingContext2D": false,
+ "CaptureController": false,
+ "CaretPosition": false,
+ "ChannelMergerNode": false,
+ "ChannelSplitterNode": false,
+ "ChapterInformation": false,
+ "CharacterBoundsUpdateEvent": false,
+ "CharacterData": false,
+ "Clipboard": false,
+ "ClipboardEvent": false,
+ "ClipboardItem": false,
+ "CloseEvent": false,
+ "CloseWatcher": false,
+ "Comment": false,
+ "CompositionEvent": false,
+ "CompressionStream": false,
+ "ConstantSourceNode": false,
+ "ContentVisibilityAutoStateChangeEvent": false,
+ "ConvolverNode": false,
+ "CookieChangeEvent": false,
+ "CookieDeprecationLabel": false,
+ "CookieStore": false,
+ "CookieStoreManager": false,
+ "CountQueuingStrategy": false,
+ "Credential": false,
+ "CredentialsContainer": false,
+ "CropTarget": false,
+ "Crypto": false,
+ "CryptoKey": false,
+ "CustomElementRegistry": false,
+ "CustomEvent": false,
+ "CustomStateSet": false,
+ "DOMError": false,
+ "DOMException": false,
+ "DOMImplementation": false,
+ "DOMMatrix": false,
+ "DOMMatrixReadOnly": false,
+ "DOMParser": false,
+ "DOMPoint": false,
+ "DOMPointReadOnly": false,
+ "DOMQuad": false,
+ "DOMRect": false,
+ "DOMRectList": false,
+ "DOMRectReadOnly": false,
+ "DOMStringList": false,
+ "DOMStringMap": false,
+ "DOMTokenList": false,
+ "DataTransfer": false,
+ "DataTransferItem": false,
+ "DataTransferItemList": false,
+ "DataView": false,
+ "Date": false,
+ "DecompressionStream": false,
+ "DelayNode": false,
+ "DelegatedInkTrailPresenter": false,
+ "DeviceMotionEvent": false,
+ "DeviceMotionEventAcceleration": false,
+ "DeviceMotionEventRotationRate": false,
+ "DeviceOrientationEvent": false,
+ "Document": false,
+ "DocumentFragment": false,
+ "DocumentPictureInPicture": false,
+ "DocumentPictureInPictureEvent": false,
+ "DocumentTimeline": false,
+ "DocumentType": false,
+ "DragEvent": false,
+ "DynamicsCompressorNode": false,
+ "EditContext": false,
+ "Element": false,
+ "ElementInternals": false,
+ "EncodedAudioChunk": false,
+ "EncodedVideoChunk": false,
+ "Error": false,
+ "ErrorEvent": false,
+ "EvalError": false,
+ "Event": false,
+ "EventCounts": false,
+ "EventSource": false,
+ "EventTarget": false,
+ "External": false,
+ "EyeDropper": false,
+ "FeaturePolicy": false,
+ "FederatedCredential": false,
+ "Fence": false,
+ "FencedFrameConfig": false,
+ "FetchLaterResult": false,
+ "File": false,
+ "FileList": false,
+ "FileReader": false,
+ "FileSystem": false,
+ "FileSystemDirectoryEntry": false,
+ "FileSystemDirectoryHandle": false,
+ "FileSystemDirectoryReader": false,
+ "FileSystemEntry": false,
+ "FileSystemFileEntry": false,
+ "FileSystemFileHandle": false,
+ "FileSystemHandle": false,
+ "FileSystemWritableFileStream": false,
+ "FinalizationRegistry": false,
+ "Float16Array": false,
+ "Float32Array": false,
+ "Float64Array": false,
+ "FocusEvent": false,
+ "FontData": false,
+ "FontFace": false,
+ "FontFaceSet": false,
+ "FontFaceSetLoadEvent": false,
+ "FormData": false,
+ "FormDataEvent": false,
+ "FragmentDirective": false,
+ "Function": false,
+ "GPU": false,
+ "GPUAdapter": false,
+ "GPUAdapterInfo": false,
+ "GPUBindGroup": false,
+ "GPUBindGroupLayout": false,
+ "GPUBuffer": false,
+ "GPUBufferUsage": false,
+ "GPUCanvasContext": false,
+ "GPUColorWrite": false,
+ "GPUCommandBuffer": false,
+ "GPUCommandEncoder": false,
+ "GPUCompilationInfo": false,
+ "GPUCompilationMessage": false,
+ "GPUComputePassEncoder": false,
+ "GPUComputePipeline": false,
+ "GPUDevice": false,
+ "GPUDeviceLostInfo": false,
+ "GPUError": false,
+ "GPUExternalTexture": false,
+ "GPUInternalError": false,
+ "GPUMapMode": false,
+ "GPUOutOfMemoryError": false,
+ "GPUPipelineError": false,
+ "GPUPipelineLayout": false,
+ "GPUQuerySet": false,
+ "GPUQueue": false,
+ "GPURenderBundle": false,
+ "GPURenderBundleEncoder": false,
+ "GPURenderPassEncoder": false,
+ "GPURenderPipeline": false,
+ "GPUSampler": false,
+ "GPUShaderModule": false,
+ "GPUShaderStage": false,
+ "GPUSupportedFeatures": false,
+ "GPUSupportedLimits": false,
+ "GPUTexture": false,
+ "GPUTextureUsage": false,
+ "GPUTextureView": false,
+ "GPUUncapturedErrorEvent": false,
+ "GPUValidationError": false,
+ "GainNode": false,
+ "Gamepad": false,
+ "GamepadAxisMoveEvent": false,
+ "GamepadButton": false,
+ "GamepadButtonEvent": false,
+ "GamepadEvent": false,
+ "GamepadHapticActuator": false,
+ "GamepadPose": false,
+ "Geolocation": false,
+ "GeolocationCoordinates": false,
+ "GeolocationPosition": false,
+ "GeolocationPositionError": false,
+ "GravitySensor": false,
+ "Gyroscope": false,
+ "HID": false,
+ "HIDConnectionEvent": false,
+ "HIDDevice": false,
+ "HIDInputReportEvent": false,
+ "HTMLAllCollection": false,
+ "HTMLAnchorElement": false,
+ "HTMLAreaElement": false,
+ "HTMLAudioElement": false,
+ "HTMLBRElement": false,
+ "HTMLBaseElement": false,
+ "HTMLBodyElement": false,
+ "HTMLButtonElement": false,
+ "HTMLCanvasElement": false,
+ "HTMLCollection": false,
+ "HTMLDListElement": false,
+ "HTMLDataElement": false,
+ "HTMLDataListElement": false,
+ "HTMLDetailsElement": false,
+ "HTMLDialogElement": false,
+ "HTMLDirectoryElement": false,
+ "HTMLDivElement": false,
+ "HTMLDocument": false,
+ "HTMLElement": false,
+ "HTMLEmbedElement": false,
+ "HTMLFencedFrameElement": false,
+ "HTMLFieldSetElement": false,
+ "HTMLFontElement": false,
+ "HTMLFormControlsCollection": false,
+ "HTMLFormElement": false,
+ "HTMLFrameElement": false,
+ "HTMLFrameSetElement": false,
+ "HTMLHRElement": false,
+ "HTMLHeadElement": false,
+ "HTMLHeadingElement": false,
+ "HTMLHtmlElement": false,
+ "HTMLIFrameElement": false,
+ "HTMLImageElement": false,
+ "HTMLInputElement": false,
+ "HTMLLIElement": false,
+ "HTMLLabelElement": false,
+ "HTMLLegendElement": false,
+ "HTMLLinkElement": false,
+ "HTMLMapElement": false,
+ "HTMLMarqueeElement": false,
+ "HTMLMediaElement": false,
+ "HTMLMenuElement": false,
+ "HTMLMetaElement": false,
+ "HTMLMeterElement": false,
+ "HTMLModElement": false,
+ "HTMLOListElement": false,
+ "HTMLObjectElement": false,
+ "HTMLOptGroupElement": false,
+ "HTMLOptionElement": false,
+ "HTMLOptionsCollection": false,
+ "HTMLOutputElement": false,
+ "HTMLParagraphElement": false,
+ "HTMLParamElement": false,
+ "HTMLPictureElement": false,
+ "HTMLPreElement": false,
+ "HTMLProgressElement": false,
+ "HTMLQuoteElement": false,
+ "HTMLScriptElement": false,
+ "HTMLSelectElement": false,
+ "HTMLSlotElement": false,
+ "HTMLSourceElement": false,
+ "HTMLSpanElement": false,
+ "HTMLStyleElement": false,
+ "HTMLTableCaptionElement": false,
+ "HTMLTableCellElement": false,
+ "HTMLTableColElement": false,
+ "HTMLTableElement": false,
+ "HTMLTableRowElement": false,
+ "HTMLTableSectionElement": false,
+ "HTMLTemplateElement": false,
+ "HTMLTextAreaElement": false,
+ "HTMLTimeElement": false,
+ "HTMLTitleElement": false,
+ "HTMLTrackElement": false,
+ "HTMLUListElement": false,
+ "HTMLUnknownElement": false,
+ "HTMLVideoElement": false,
+ "HashChangeEvent": false,
+ "Headers": false,
+ "Highlight": false,
+ "HighlightRegistry": false,
+ "History": false,
+ "IDBCursor": false,
+ "IDBCursorWithValue": false,
+ "IDBDatabase": false,
+ "IDBFactory": false,
+ "IDBIndex": false,
+ "IDBKeyRange": false,
+ "IDBObjectStore": false,
+ "IDBOpenDBRequest": false,
+ "IDBRequest": false,
+ "IDBTransaction": false,
+ "IDBVersionChangeEvent": false,
+ "IIRFilterNode": false,
+ "IdentityCredential": false,
+ "IdentityCredentialError": false,
+ "IdentityProvider": false,
+ "IdleDeadline": false,
+ "IdleDetector": false,
+ "Image": false,
+ "ImageBitmap": false,
+ "ImageBitmapRenderingContext": false,
+ "ImageCapture": false,
+ "ImageData": false,
+ "ImageDecoder": false,
+ "ImageTrack": false,
+ "ImageTrackList": false,
+ "Infinity": false,
+ "Ink": false,
+ "InputDeviceCapabilities": false,
+ "InputDeviceInfo": false,
+ "InputEvent": false,
+ "Int16Array": false,
+ "Int32Array": false,
+ "Int8Array": false,
+ "IntersectionObserver": false,
+ "IntersectionObserverEntry": false,
+ "Intl": false,
+ "JSON": false,
+ "Keyboard": false,
+ "KeyboardEvent": false,
+ "KeyboardLayoutMap": false,
+ "KeyframeEffect": false,
+ "LargestContentfulPaint": false,
+ "LaunchParams": false,
+ "LaunchQueue": false,
+ "LayoutShift": false,
+ "LayoutShiftAttribution": false,
+ "LinearAccelerationSensor": false,
+ "Location": false,
+ "Lock": false,
+ "LockManager": false,
+ "MIDIAccess": false,
+ "MIDIConnectionEvent": false,
+ "MIDIInput": false,
+ "MIDIInputMap": false,
+ "MIDIMessageEvent": false,
+ "MIDIOutput": false,
+ "MIDIOutputMap": false,
+ "MIDIPort": false,
+ "Map": false,
+ "Math": false,
+ "MathMLElement": false,
+ "MediaCapabilities": false,
+ "MediaCapabilitiesInfo": false,
+ "MediaDeviceInfo": false,
+ "MediaDevices": false,
+ "MediaElementAudioSourceNode": false,
+ "MediaEncryptedEvent": false,
+ "MediaError": false,
+ "MediaKeyError": false,
+ "MediaKeyMessageEvent": false,
+ "MediaKeySession": false,
+ "MediaKeyStatusMap": false,
+ "MediaKeySystemAccess": false,
+ "MediaKeys": false,
+ "MediaList": false,
+ "MediaMetadata": false,
+ "MediaQueryList": false,
+ "MediaQueryListEvent": false,
+ "MediaRecorder": false,
+ "MediaRecorderErrorEvent": false,
+ "MediaSession": false,
+ "MediaSource": false,
+ "MediaSourceHandle": false,
+ "MediaStream": false,
+ "MediaStreamAudioDestinationNode": false,
+ "MediaStreamAudioSourceNode": false,
+ "MediaStreamEvent": false,
+ "MediaStreamTrack": false,
+ "MediaStreamTrackAudioSourceNode": false,
+ "MediaStreamTrackAudioStats": false,
+ "MediaStreamTrackEvent": false,
+ "MediaStreamTrackGenerator": false,
+ "MediaStreamTrackProcessor": false,
+ "MediaStreamTrackVideoStats": false,
+ "MessageChannel": false,
+ "MessageEvent": false,
+ "MessagePort": false,
+ "MimeType": false,
+ "MimeTypeArray": false,
+ "ModelGenericSession": false,
+ "ModelManager": false,
+ "MouseEvent": false,
+ "MutationEvent": false,
+ "MutationObserver": false,
+ "MutationRecord": false,
+ "NaN": false,
+ "NamedNodeMap": false,
+ "NavigateEvent": false,
+ "Navigation": false,
+ "NavigationActivation": false,
+ "NavigationCurrentEntryChangeEvent": false,
+ "NavigationDestination": false,
+ "NavigationHistoryEntry": false,
+ "NavigationPreloadManager": false,
+ "NavigationTransition": false,
+ "Navigator": false,
+ "NavigatorLogin": false,
+ "NavigatorManagedData": false,
+ "NavigatorUAData": false,
+ "NetworkInformation": false,
+ "Node": false,
+ "NodeFilter": false,
+ "NodeIterator": false,
+ "NodeList": false,
+ "NotRestoredReasonDetails": false,
+ "NotRestoredReasons": false,
+ "Notification": false,
+ "NotifyPaintEvent": false,
+ "Number": false,
+ "OTPCredential": false,
+ "Object": false,
+ "OfflineAudioCompletionEvent": false,
+ "OfflineAudioContext": false,
+ "OffscreenCanvas": false,
+ "OffscreenCanvasRenderingContext2D": false,
+ "Option": false,
+ "OrientationSensor": false,
+ "OscillatorNode": false,
+ "OverconstrainedError": false,
+ "PERSISTENT": false,
+ "PageRevealEvent": false,
+ "PageSwapEvent": false,
+ "PageTransitionEvent": false,
+ "PannerNode": false,
+ "PasswordCredential": false,
+ "Path2D": false,
+ "PaymentAddress": false,
+ "PaymentManager": false,
+ "PaymentMethodChangeEvent": false,
+ "PaymentRequest": false,
+ "PaymentRequestUpdateEvent": false,
+ "PaymentResponse": false,
+ "Performance": false,
+ "PerformanceElementTiming": false,
+ "PerformanceEntry": false,
+ "PerformanceEventTiming": false,
+ "PerformanceLongAnimationFrameTiming": false,
+ "PerformanceLongTaskTiming": false,
+ "PerformanceMark": false,
+ "PerformanceMeasure": false,
+ "PerformanceNavigation": false,
+ "PerformanceNavigationTiming": false,
+ "PerformanceObserver": false,
+ "PerformanceObserverEntryList": false,
+ "PerformancePaintTiming": false,
+ "PerformanceResourceTiming": false,
+ "PerformanceScriptTiming": false,
+ "PerformanceServerTiming": false,
+ "PerformanceTiming": false,
+ "PeriodicSyncManager": false,
+ "PeriodicWave": false,
+ "PermissionStatus": false,
+ "Permissions": false,
+ "PictureInPictureEvent": false,
+ "PictureInPictureWindow": false,
+ "Plugin": false,
+ "PluginArray": false,
+ "PointerEvent": false,
+ "PopStateEvent": false,
+ "Presentation": false,
+ "PresentationAvailability": false,
+ "PresentationConnection": false,
+ "PresentationConnectionAvailableEvent": false,
+ "PresentationConnectionCloseEvent": false,
+ "PresentationConnectionList": false,
+ "PresentationReceiver": false,
+ "PresentationRequest": false,
+ "PressureObserver": false,
+ "PressureRecord": false,
+ "ProcessingInstruction": false,
+ "Profiler": false,
+ "ProgressEvent": false,
+ "Promise": false,
+ "PromiseRejectionEvent": false,
+ "ProtectedAudience": false,
+ "Proxy": false,
+ "PublicKeyCredential": false,
+ "PushManager": false,
+ "PushSubscription": false,
+ "PushSubscriptionOptions": false,
+ "RTCCertificate": false,
+ "RTCDTMFSender": false,
+ "RTCDTMFToneChangeEvent": false,
+ "RTCDataChannel": false,
+ "RTCDataChannelEvent": false,
+ "RTCDtlsTransport": false,
+ "RTCEncodedAudioFrame": false,
+ "RTCEncodedVideoFrame": false,
+ "RTCError": false,
+ "RTCErrorEvent": false,
+ "RTCIceCandidate": false,
+ "RTCIceTransport": false,
+ "RTCPeerConnection": false,
+ "RTCPeerConnectionIceErrorEvent": false,
+ "RTCPeerConnectionIceEvent": false,
+ "RTCRtpReceiver": false,
+ "RTCRtpScriptTransform": false,
+ "RTCRtpSender": false,
+ "RTCRtpTransceiver": false,
+ "RTCSctpTransport": false,
+ "RTCSessionDescription": false,
+ "RTCStatsReport": false,
+ "RTCTrackEvent": false,
+ "RadioNodeList": false,
+ "Range": false,
+ "RangeError": false,
+ "ReadableByteStreamController": false,
+ "ReadableStream": false,
+ "ReadableStreamBYOBReader": false,
+ "ReadableStreamBYOBRequest": false,
+ "ReadableStreamDefaultController": false,
+ "ReadableStreamDefaultReader": false,
+ "ReferenceError": false,
+ "Reflect": false,
+ "RegExp": false,
+ "RelativeOrientationSensor": false,
+ "RemotePlayback": false,
+ "ReportingObserver": false,
+ "Request": false,
+ "ResizeObserver": false,
+ "ResizeObserverEntry": false,
+ "ResizeObserverSize": false,
+ "Response": false,
+ "SVGAElement": false,
+ "SVGAngle": false,
+ "SVGAnimateElement": false,
+ "SVGAnimateMotionElement": false,
+ "SVGAnimateTransformElement": false,
+ "SVGAnimatedAngle": false,
+ "SVGAnimatedBoolean": false,
+ "SVGAnimatedEnumeration": false,
+ "SVGAnimatedInteger": false,
+ "SVGAnimatedLength": false,
+ "SVGAnimatedLengthList": false,
+ "SVGAnimatedNumber": false,
+ "SVGAnimatedNumberList": false,
+ "SVGAnimatedPreserveAspectRatio": false,
+ "SVGAnimatedRect": false,
+ "SVGAnimatedString": false,
+ "SVGAnimatedTransformList": false,
+ "SVGAnimationElement": false,
+ "SVGCircleElement": false,
+ "SVGClipPathElement": false,
+ "SVGComponentTransferFunctionElement": false,
+ "SVGDefsElement": false,
+ "SVGDescElement": false,
+ "SVGElement": false,
+ "SVGEllipseElement": false,
+ "SVGFEBlendElement": false,
+ "SVGFEColorMatrixElement": false,
+ "SVGFEComponentTransferElement": false,
+ "SVGFECompositeElement": false,
+ "SVGFEConvolveMatrixElement": false,
+ "SVGFEDiffuseLightingElement": false,
+ "SVGFEDisplacementMapElement": false,
+ "SVGFEDistantLightElement": false,
+ "SVGFEDropShadowElement": false,
+ "SVGFEFloodElement": false,
+ "SVGFEFuncAElement": false,
+ "SVGFEFuncBElement": false,
+ "SVGFEFuncGElement": false,
+ "SVGFEFuncRElement": false,
+ "SVGFEGaussianBlurElement": false,
+ "SVGFEImageElement": false,
+ "SVGFEMergeElement": false,
+ "SVGFEMergeNodeElement": false,
+ "SVGFEMorphologyElement": false,
+ "SVGFEOffsetElement": false,
+ "SVGFEPointLightElement": false,
+ "SVGFESpecularLightingElement": false,
+ "SVGFESpotLightElement": false,
+ "SVGFETileElement": false,
+ "SVGFETurbulenceElement": false,
+ "SVGFilterElement": false,
+ "SVGForeignObjectElement": false,
+ "SVGGElement": false,
+ "SVGGeometryElement": false,
+ "SVGGradientElement": false,
+ "SVGGraphicsElement": false,
+ "SVGImageElement": false,
+ "SVGLength": false,
+ "SVGLengthList": false,
+ "SVGLineElement": false,
+ "SVGLinearGradientElement": false,
+ "SVGMPathElement": false,
+ "SVGMarkerElement": false,
+ "SVGMaskElement": false,
+ "SVGMatrix": false,
+ "SVGMetadataElement": false,
+ "SVGNumber": false,
+ "SVGNumberList": false,
+ "SVGPathElement": false,
+ "SVGPatternElement": false,
+ "SVGPoint": false,
+ "SVGPointList": false,
+ "SVGPolygonElement": false,
+ "SVGPolylineElement": false,
+ "SVGPreserveAspectRatio": false,
+ "SVGRadialGradientElement": false,
+ "SVGRect": false,
+ "SVGRectElement": false,
+ "SVGSVGElement": false,
+ "SVGScriptElement": false,
+ "SVGSetElement": false,
+ "SVGStopElement": false,
+ "SVGStringList": false,
+ "SVGStyleElement": false,
+ "SVGSwitchElement": false,
+ "SVGSymbolElement": false,
+ "SVGTSpanElement": false,
+ "SVGTextContentElement": false,
+ "SVGTextElement": false,
+ "SVGTextPathElement": false,
+ "SVGTextPositioningElement": false,
+ "SVGTitleElement": false,
+ "SVGTransform": false,
+ "SVGTransformList": false,
+ "SVGUnitTypes": false,
+ "SVGUseElement": false,
+ "SVGViewElement": false,
+ "Scheduler": false,
+ "Scheduling": false,
+ "Screen": false,
+ "ScreenDetailed": false,
+ "ScreenDetails": false,
+ "ScreenOrientation": false,
+ "ScriptProcessorNode": false,
+ "ScrollTimeline": false,
+ "SecurityPolicyViolationEvent": false,
+ "Selection": false,
+ "Sensor": false,
+ "SensorErrorEvent": false,
+ "Serial": false,
+ "SerialPort": false,
+ "ServiceWorker": false,
+ "ServiceWorkerContainer": false,
+ "ServiceWorkerRegistration": false,
+ "Set": false,
+ "ShadowRoot": false,
+ "SharedArrayBuffer": false,
+ "SharedStorage": false,
+ "SharedStorageWorklet": false,
+ "SharedWorker": false,
+ "SnapEvent": false,
+ "SourceBuffer": false,
+ "SourceBufferList": false,
+ "SpeechSynthesis": false,
+ "SpeechSynthesisErrorEvent": false,
+ "SpeechSynthesisEvent": false,
+ "SpeechSynthesisUtterance": false,
+ "SpeechSynthesisVoice": false,
+ "StaticRange": false,
+ "StereoPannerNode": false,
+ "Storage": false,
+ "StorageBucket": false,
+ "StorageBucketManager": false,
+ "StorageEvent": false,
+ "StorageManager": false,
+ "String": false,
+ "StylePropertyMap": false,
+ "StylePropertyMapReadOnly": false,
+ "StyleSheet": false,
+ "StyleSheetList": false,
+ "SubmitEvent": false,
+ "SubtleCrypto": false,
+ "Symbol": false,
+ "SyncManager": false,
+ "SyntaxError": false,
+ "TEMPORARY": false,
+ "TaskAttributionTiming": false,
+ "TaskController": false,
+ "TaskPriorityChangeEvent": false,
+ "TaskSignal": false,
+ "Text": false,
+ "TextDecoder": false,
+ "TextDecoderStream": false,
+ "TextEncoder": false,
+ "TextEncoderStream": false,
+ "TextEvent": false,
+ "TextFormat": false,
+ "TextFormatUpdateEvent": false,
+ "TextMetrics": false,
+ "TextTrack": false,
+ "TextTrackCue": false,
+ "TextTrackCueList": false,
+ "TextTrackList": false,
+ "TextUpdateEvent": false,
+ "TimeEvent": false,
+ "TimeRanges": false,
+ "ToggleEvent": false,
+ "Touch": false,
+ "TouchEvent": false,
+ "TouchList": false,
+ "TrackEvent": false,
+ "TransformStream": false,
+ "TransformStreamDefaultController": false,
+ "TransitionEvent": false,
+ "TreeWalker": false,
+ "TrustedHTML": false,
+ "TrustedScript": false,
+ "TrustedScriptURL": false,
+ "TrustedTypePolicy": false,
+ "TrustedTypePolicyFactory": false,
+ "TypeError": false,
+ "UIEvent": false,
+ "URIError": false,
+ "URL": false,
+ "URLPattern": false,
+ "URLSearchParams": false,
+ "USB": false,
+ "USBAlternateInterface": false,
+ "USBConfiguration": false,
+ "USBConnectionEvent": false,
+ "USBDevice": false,
+ "USBEndpoint": false,
+ "USBInTransferResult": false,
+ "USBInterface": false,
+ "USBIsochronousInTransferPacket": false,
+ "USBIsochronousInTransferResult": false,
+ "USBIsochronousOutTransferPacket": false,
+ "USBIsochronousOutTransferResult": false,
+ "USBOutTransferResult": false,
+ "Uint16Array": false,
+ "Uint32Array": false,
+ "Uint8Array": false,
+ "Uint8ClampedArray": false,
+ "UserActivation": false,
+ "VTTCue": false,
+ "VTTRegion": false,
+ "ValidityState": false,
+ "VideoColorSpace": false,
+ "VideoDecoder": false,
+ "VideoEncoder": false,
+ "VideoFrame": false,
+ "VideoPlaybackQuality": false,
+ "ViewTimeline": false,
+ "ViewTransition": false,
+ "ViewTransitionTypeSet": false,
+ "VirtualKeyboard": false,
+ "VirtualKeyboardGeometryChangeEvent": false,
+ "VisibilityStateEntry": false,
+ "VisualViewport": false,
+ "WGSLLanguageFeatures": false,
+ "WakeLock": false,
+ "WakeLockSentinel": false,
+ "WaveShaperNode": false,
+ "WeakMap": false,
+ "WeakRef": false,
+ "WeakSet": false,
+ "WebAssembly": false,
+ "WebGL2RenderingContext": false,
+ "WebGLActiveInfo": false,
+ "WebGLBuffer": false,
+ "WebGLContextEvent": false,
+ "WebGLFramebuffer": false,
+ "WebGLObject": false,
+ "WebGLProgram": false,
+ "WebGLQuery": false,
+ "WebGLRenderbuffer": false,
+ "WebGLRenderingContext": false,
+ "WebGLSampler": false,
+ "WebGLShader": false,
+ "WebGLShaderPrecisionFormat": false,
+ "WebGLSync": false,
+ "WebGLTexture": false,
+ "WebGLTransformFeedback": false,
+ "WebGLUniformLocation": false,
+ "WebGLVertexArrayObject": false,
+ "WebSocket": false,
+ "WebSocketError": false,
+ "WebSocketStream": false,
+ "WebTransport": false,
+ "WebTransportBidirectionalStream": false,
+ "WebTransportDatagramDuplexStream": false,
+ "WebTransportError": false,
+ "WebTransportReceiveStream": false,
+ "WebTransportSendStream": false,
+ "WheelEvent": false,
+ "Window": false,
+ "WindowControlsOverlay": false,
+ "WindowControlsOverlayGeometryChangeEvent": false,
+ "Worker": false,
+ "Worklet": false,
+ "WorkletGlobalScope": false,
+ "WritableStream": false,
+ "WritableStreamDefaultController": false,
+ "WritableStreamDefaultWriter": false,
+ "XMLDocument": false,
+ "XMLHttpRequest": false,
+ "XMLHttpRequestEventTarget": false,
+ "XMLHttpRequestUpload": false,
+ "XMLSerializer": false,
+ "XPathEvaluator": false,
+ "XPathExpression": false,
+ "XPathResult": false,
+ "XRAnchor": false,
+ "XRAnchorSet": false,
+ "XRBoundedReferenceSpace": false,
+ "XRCPUDepthInformation": false,
+ "XRCamera": false,
+ "XRDOMOverlayState": false,
+ "XRDepthInformation": false,
+ "XRFrame": false,
+ "XRHand": false,
+ "XRHitTestResult": false,
+ "XRHitTestSource": false,
+ "XRInputSource": false,
+ "XRInputSourceArray": false,
+ "XRInputSourceEvent": false,
+ "XRInputSourcesChangeEvent": false,
+ "XRJointPose": false,
+ "XRJointSpace": false,
+ "XRLayer": false,
+ "XRLightEstimate": false,
+ "XRLightProbe": false,
+ "XRPose": false,
+ "XRRay": false,
+ "XRReferenceSpace": false,
+ "XRReferenceSpaceEvent": false,
+ "XRRenderState": false,
+ "XRRigidTransform": false,
+ "XRSession": false,
+ "XRSessionEvent": false,
+ "XRSpace": false,
+ "XRSystem": false,
+ "XRTransientInputHitTestResult": false,
+ "XRTransientInputHitTestSource": false,
+ "XRView": false,
+ "XRViewerPose": false,
+ "XRViewport": false,
+ "XRWebGLBinding": false,
+ "XRWebGLDepthInformation": false,
+ "XRWebGLLayer": false,
+ "XSLTProcessor": false,
+ "addEventListener": false,
+ "ai": false,
+ "alert": false,
+ "atob": false,
+ "blur": false,
+ "btoa": false,
+ "caches": false,
+ "cancelAnimationFrame": false,
+ "cancelIdleCallback": false,
+ "clearInterval": false,
+ "clearTimeout": false,
+ "clientInformation": false,
+ "close": false,
+ "closed": false,
+ "confirm": false,
+ "console": false,
+ "cookieStore": false,
+ "createImageBitmap": false,
+ "credentialless": false,
+ "crossOriginIsolated": false,
+ "crypto": false,
+ "currentFrame": false,
+ "currentTime": false,
+ "customElements": false,
+ "decodeURI": false,
+ "decodeURIComponent": false,
+ "devicePixelRatio": false,
+ "dispatchEvent": false,
+ "document": false,
+ "documentPictureInPicture": false,
+ "encodeURI": false,
+ "encodeURIComponent": false,
+ "escape": false,
+ "eval": false,
+ "event": false,
+ "external": false,
+ "fence": false,
+ "fetch": false,
+ "fetchLater": false,
+ "find": false,
+ "focus": false,
+ "frameElement": false,
+ "frames": false,
+ "getComputedStyle": false,
+ "getScreenDetails": false,
+ "getSelection": false,
+ "globalThis": false,
+ "history": false,
+ "indexedDB": false,
+ "innerHeight": false,
+ "innerWidth": false,
+ "isFinite": false,
+ "isNaN": false,
+ "isSecureContext": false,
+ "launchQueue": false,
+ "length": false,
+ "localStorage": false,
+ "location": true,
+ "locationbar": false,
+ "matchMedia": false,
+ "menubar": false,
+ "model": false,
+ "moveBy": false,
+ "moveTo": false,
+ "name": false,
+ "navigation": false,
+ "navigator": false,
+ "offscreenBuffering": false,
+ "onabort": true,
+ "onafterprint": true,
+ "onanimationcancel": true,
+ "onanimationend": true,
+ "onanimationiteration": true,
+ "onanimationstart": true,
+ "onappinstalled": true,
+ "onauxclick": true,
+ "onbeforeinput": true,
+ "onbeforeinstallprompt": true,
+ "onbeforematch": true,
+ "onbeforeprint": true,
+ "onbeforetoggle": true,
+ "onbeforeunload": true,
+ "onbeforexrselect": true,
+ "onblur": true,
+ "oncancel": true,
+ "oncanplay": true,
+ "oncanplaythrough": true,
+ "onchange": true,
+ "onclick": true,
+ "onclose": true,
+ "oncontentvisibilityautostatechange": true,
+ "oncontextlost": true,
+ "oncontextmenu": true,
+ "oncontextrestored": true,
+ "oncopy": true,
+ "oncuechange": true,
+ "oncut": true,
+ "ondblclick": true,
+ "ondevicemotion": true,
+ "ondeviceorientation": true,
+ "ondeviceorientationabsolute": true,
+ "ondrag": true,
+ "ondragend": true,
+ "ondragenter": true,
+ "ondragleave": true,
+ "ondragover": true,
+ "ondragstart": true,
+ "ondrop": true,
+ "ondurationchange": true,
+ "onemptied": true,
+ "onended": true,
+ "onerror": true,
+ "onfocus": true,
+ "onformdata": true,
+ "ongamepadconnected": true,
+ "ongamepaddisconnected": true,
+ "ongotpointercapture": true,
+ "onhashchange": true,
+ "oninput": true,
+ "oninvalid": true,
+ "onkeydown": true,
+ "onkeypress": true,
+ "onkeyup": true,
+ "onlanguagechange": true,
+ "onload": true,
+ "onloadeddata": true,
+ "onloadedmetadata": true,
+ "onloadstart": true,
+ "onlostpointercapture": true,
+ "onmessage": true,
+ "onmessageerror": true,
+ "onmousedown": true,
+ "onmouseenter": true,
+ "onmouseleave": true,
+ "onmousemove": true,
+ "onmouseout": true,
+ "onmouseover": true,
+ "onmouseup": true,
+ "onmousewheel": true,
+ "onoffline": true,
+ "ononline": true,
+ "onpagehide": true,
+ "onpagereveal": true,
+ "onpageshow": true,
+ "onpageswap": true,
+ "onpaste": true,
+ "onpause": true,
+ "onplay": true,
+ "onplaying": true,
+ "onpointercancel": true,
+ "onpointerdown": true,
+ "onpointerenter": true,
+ "onpointerleave": true,
+ "onpointermove": true,
+ "onpointerout": true,
+ "onpointerover": true,
+ "onpointerrawupdate": true,
+ "onpointerup": true,
+ "onpopstate": true,
+ "onprogress": true,
+ "onratechange": true,
+ "onrejectionhandled": true,
+ "onreset": true,
+ "onresize": true,
+ "onscroll": true,
+ "onscrollend": true,
+ "onscrollsnapchange": true,
+ "onscrollsnapchanging": true,
+ "onsearch": true,
+ "onsecuritypolicyviolation": true,
+ "onseeked": true,
+ "onseeking": true,
+ "onselect": true,
+ "onselectionchange": true,
+ "onselectstart": true,
+ "onslotchange": true,
+ "onstalled": true,
+ "onstorage": true,
+ "onsubmit": true,
+ "onsuspend": true,
+ "ontimeupdate": true,
+ "ontoggle": true,
+ "ontransitioncancel": true,
+ "ontransitionend": true,
+ "ontransitionrun": true,
+ "ontransitionstart": true,
+ "onunhandledrejection": true,
+ "onunload": true,
+ "onvolumechange": true,
+ "onwaiting": true,
+ "onwheel": true,
+ "open": false,
+ "opener": false,
+ "origin": false,
+ "originAgentCluster": false,
+ "outerHeight": false,
+ "outerWidth": false,
+ "pageXOffset": false,
+ "pageYOffset": false,
+ "parent": false,
+ "parseFloat": false,
+ "parseInt": false,
+ "performance": false,
+ "personalbar": false,
+ "postMessage": false,
+ "print": false,
+ "prompt": false,
+ "queryLocalFonts": false,
+ "queueMicrotask": false,
+ "registerProcessor": false,
+ "removeEventListener": false,
+ "reportError": false,
+ "requestAnimationFrame": false,
+ "requestIdleCallback": false,
+ "resizeBy": false,
+ "resizeTo": false,
+ "sampleRate": false,
+ "scheduler": false,
+ "screen": false,
+ "screenLeft": false,
+ "screenTop": false,
+ "screenX": false,
+ "screenY": false,
+ "scroll": false,
+ "scrollBy": false,
+ "scrollTo": false,
+ "scrollX": false,
+ "scrollY": false,
+ "scrollbars": false,
+ "self": false,
+ "sessionStorage": false,
+ "setInterval": false,
+ "setTimeout": false,
+ "sharedStorage": false,
+ "showDirectoryPicker": false,
+ "showOpenFilePicker": false,
+ "showSaveFilePicker": false,
+ "speechSynthesis": false,
+ "status": false,
+ "statusbar": false,
+ "stop": false,
+ "structuredClone": false,
+ "styleMedia": false,
+ "toolbar": false,
+ "top": false,
+ "trustedTypes": false,
+ "undefined": false,
+ "unescape": false,
+ "visualViewport": false,
+ "window": false,
+ },
+ "parser": "typescript-eslint/parser@8.26.0",
+ "parserOptions": {
+ "ecmaFeatures": {
+ "jsx": true,
+ },
+ "project": "/home/circleci/project/packages/eslint-config/test/__fixtures__/tsconfig.json",
},
- "ecmaVersion": "latest",
- "project": "/packages/eslint-config/test/__fixtures__/tsconfig.json",
"sourceType": "module",
},
+ "linterOptions": {
+ "reportUnusedDisableDirectives": 2,
+ },
"plugins": [
- "@stylistic",
- "switch-case",
- "gettext",
+ "@",
"import",
+ "gettext",
+ "switch-case",
+ "@stylistic",
"jsdoc",
- "prettier",
+ "prettier:eslint-plugin-prettier@5.2.3",
"react",
- "jsx-a11y",
- "react-hooks",
+ "react-hooks:eslint-plugin-react-hooks",
+ "jsx-a11y:eslint-plugin-jsx-a11y@6.10.2",
+ "@typescript-eslint:@typescript-eslint/eslint-plugin@8.26.0",
"@bigcommerce",
- "@typescript-eslint",
],
- "reportUnusedDisableDirectives": true,
+ "processor": undefined,
"rules": {
"@babel/object-curly-spacing": [
- "off",
+ 0,
],
"@babel/semi": [
- "off",
- ],
- "@bigcommerce/jsx-short-circuit-conditionals": [
- "error",
+ 0,
],
"@stylistic/padding-line-between-statements": [
- "warn",
+ 1,
{
"blankLine": "always",
"next": "return",
@@ -109,7 +1296,7 @@ exports[`keeps rules stable 1`] = `
},
],
"@stylistic/spaced-comment": [
- "warn",
+ 1,
"always",
{
"block": {
@@ -137,61 +1324,61 @@ exports[`keeps rules stable 1`] = `
},
],
"@typescript-eslint/adjacent-overload-signatures": [
- "error",
+ 2,
],
"@typescript-eslint/array-type": [
- "error",
+ 2,
{
"default": "array-simple",
},
],
"@typescript-eslint/await-thenable": [
- "error",
+ 2,
],
"@typescript-eslint/ban-ts-comment": [
- "error",
+ 2,
{
"minimumDescriptionLength": 10,
},
],
"@typescript-eslint/ban-tslint-comment": [
- "error",
+ 2,
],
"@typescript-eslint/block-spacing": [
- "off",
+ 0,
],
"@typescript-eslint/brace-style": [
- "off",
+ 0,
],
"@typescript-eslint/class-literal-property-style": [
- "error",
+ 2,
],
"@typescript-eslint/comma-dangle": [
- "off",
+ 0,
],
"@typescript-eslint/comma-spacing": [
- "off",
+ 0,
],
"@typescript-eslint/consistent-generic-constructors": [
- "off",
+ 0,
],
"@typescript-eslint/consistent-indexed-object-style": [
- "error",
+ 2,
],
"@typescript-eslint/consistent-type-assertions": [
- "error",
+ 2,
{
"assertionStyle": "never",
},
],
"@typescript-eslint/consistent-type-definitions": [
- "error",
+ 2,
],
"@typescript-eslint/default-param-last": [
- "error",
+ 2,
],
"@typescript-eslint/dot-notation": [
- "error",
+ 2,
{
"allowIndexSignaturePropertyAccess": false,
"allowKeywords": true,
@@ -201,40 +1388,40 @@ exports[`keeps rules stable 1`] = `
},
],
"@typescript-eslint/explicit-function-return-type": [
- "off",
+ 0,
],
"@typescript-eslint/explicit-member-accessibility": [
- "error",
+ 2,
{
"accessibility": "no-public",
},
],
"@typescript-eslint/explicit-module-boundary-types": [
- "off",
+ 0,
],
"@typescript-eslint/func-call-spacing": [
- "off",
+ 0,
],
"@typescript-eslint/indent": [
- "off",
+ 0,
],
"@typescript-eslint/key-spacing": [
- "off",
+ 0,
],
"@typescript-eslint/keyword-spacing": [
- "off",
+ 0,
],
"@typescript-eslint/lines-around-comment": [
- "off",
+ 0,
],
"@typescript-eslint/member-delimiter-style": [
- "off",
+ 0,
],
"@typescript-eslint/member-ordering": [
- "error",
+ 2,
],
"@typescript-eslint/naming-convention": [
- "error",
+ 2,
{
"format": [
"camelCase",
@@ -316,79 +1503,82 @@ exports[`keeps rules stable 1`] = `
},
],
"@typescript-eslint/no-array-constructor": [
- "error",
+ 2,
],
"@typescript-eslint/no-array-delete": [
- "error",
+ 2,
],
"@typescript-eslint/no-base-to-string": [
- "error",
+ 2,
],
"@typescript-eslint/no-confusing-non-null-assertion": [
- "error",
+ 2,
],
"@typescript-eslint/no-confusing-void-expression": [
- "error",
+ 2,
{
"ignoreArrowShorthand": true,
},
],
"@typescript-eslint/no-deprecated": [
- "error",
+ 2,
],
"@typescript-eslint/no-duplicate-enum-values": [
- "error",
+ 2,
],
"@typescript-eslint/no-duplicate-type-constituents": [
- "error",
+ 2,
],
"@typescript-eslint/no-dynamic-delete": [
- "error",
+ 2,
],
"@typescript-eslint/no-empty-function": [
- "error",
+ 2,
+ {
+ "allow": [],
+ },
],
"@typescript-eslint/no-empty-object-type": [
- "error",
+ 2,
],
"@typescript-eslint/no-explicit-any": [
- "error",
+ 2,
],
"@typescript-eslint/no-extra-non-null-assertion": [
- "error",
+ 2,
],
"@typescript-eslint/no-extra-parens": [
- "off",
+ 0,
],
"@typescript-eslint/no-extra-semi": [
- "off",
+ 0,
],
"@typescript-eslint/no-extraneous-class": [
- "error",
+ 2,
],
"@typescript-eslint/no-floating-promises": [
- "error",
+ 2,
],
"@typescript-eslint/no-for-in-array": [
- "error",
+ 2,
],
"@typescript-eslint/no-implied-eval": [
- "error",
+ 2,
],
"@typescript-eslint/no-inferrable-types": [
- "error",
+ 2,
],
"@typescript-eslint/no-invalid-void-type": [
- "error",
+ 2,
],
"@typescript-eslint/no-meaningless-void-operator": [
- "error",
+ 2,
],
"@typescript-eslint/no-misused-new": [
- "error",
+ 2,
],
"@typescript-eslint/no-misused-promises": [
- "error",
+ 2,
{
"checksVoidReturn": {
"attributes": false,
@@ -396,94 +1586,99 @@ exports[`keeps rules stable 1`] = `
},
],
"@typescript-eslint/no-misused-spread": [
- "error",
+ 2,
],
"@typescript-eslint/no-mixed-enums": [
- "error",
+ 2,
],
"@typescript-eslint/no-namespace": [
- "error",
+ 2,
{
"allowDeclarations": true,
},
],
"@typescript-eslint/no-non-null-asserted-nullish-coalescing": [
- "error",
+ 2,
],
"@typescript-eslint/no-non-null-asserted-optional-chain": [
- "error",
+ 2,
],
"@typescript-eslint/no-non-null-assertion": [
- "error",
+ 2,
],
"@typescript-eslint/no-redundant-type-constituents": [
- "error",
+ 2,
],
"@typescript-eslint/no-require-imports": [
- "error",
+ 2,
],
"@typescript-eslint/no-shadow": [
- "error",
+ 2,
{
"hoist": "all",
},
],
"@typescript-eslint/no-this-alias": [
- "error",
+ 2,
],
"@typescript-eslint/no-unnecessary-boolean-literal-compare": [
- "error",
+ 2,
],
"@typescript-eslint/no-unnecessary-condition": [
- "error",
+ 2,
],
"@typescript-eslint/no-unnecessary-template-expression": [
- "error",
+ 2,
],
"@typescript-eslint/no-unnecessary-type-arguments": [
- "error",
+ 2,
],
"@typescript-eslint/no-unnecessary-type-assertion": [
- "error",
+ 2,
],
"@typescript-eslint/no-unnecessary-type-constraint": [
- "error",
+ 2,
],
"@typescript-eslint/no-unnecessary-type-parameters": [
- "error",
+ 2,
],
"@typescript-eslint/no-unsafe-argument": [
- "error",
+ 2,
],
"@typescript-eslint/no-unsafe-assignment": [
- "error",
+ 2,
],
"@typescript-eslint/no-unsafe-call": [
- "error",
+ 2,
],
"@typescript-eslint/no-unsafe-declaration-merging": [
- "error",
+ 2,
],
"@typescript-eslint/no-unsafe-enum-comparison": [
- "error",
+ 2,
],
"@typescript-eslint/no-unsafe-function-type": [
- "error",
+ 2,
],
"@typescript-eslint/no-unsafe-member-access": [
- "error",
+ 2,
],
"@typescript-eslint/no-unsafe-return": [
- "error",
+ 2,
],
"@typescript-eslint/no-unsafe-unary-minus": [
- "error",
+ 2,
],
"@typescript-eslint/no-unused-expressions": [
- "error",
+ 2,
+ {
+ "allowShortCircuit": false,
+ "allowTaggedTemplates": false,
+ "allowTernary": false,
+ },
],
"@typescript-eslint/no-unused-vars": [
- "error",
+ 2,
{
"args": "after-used",
"ignoreRestSiblings": true,
@@ -491,77 +1686,77 @@ exports[`keeps rules stable 1`] = `
},
],
"@typescript-eslint/no-use-before-define": [
- "error",
+ 2,
"nofunc",
],
"@typescript-eslint/no-useless-constructor": [
- "error",
+ 2,
],
"@typescript-eslint/no-wrapper-object-types": [
- "error",
+ 2,
],
"@typescript-eslint/non-nullable-type-assertion-style": [
- "error",
+ 2,
],
"@typescript-eslint/object-curly-spacing": [
- "off",
+ 0,
],
"@typescript-eslint/only-throw-error": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-as-const": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-find": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-for-of": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-function-type": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-includes": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-literal-enum-member": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-namespace-keyword": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-nullish-coalescing": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-optional-chain": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-promise-reject-errors": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-reduce-type-parameter": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-regexp-exec": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-return-this-type": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-string-starts-ends-with": [
- "error",
+ 2,
],
"@typescript-eslint/quotes": [
0,
],
"@typescript-eslint/related-getter-setter-pairs": [
- "error",
+ 2,
],
"@typescript-eslint/require-await": [
- "error",
+ 2,
],
"@typescript-eslint/restrict-plus-operands": [
- "error",
+ 2,
{
"allowAny": false,
"allowBoolean": false,
@@ -571,88 +1766,93 @@ exports[`keeps rules stable 1`] = `
},
],
"@typescript-eslint/restrict-template-expressions": [
- "error",
+ 2,
{
"allowNumber": true,
},
],
"@typescript-eslint/return-await": [
- "error",
- "error-handling-correctness-only",
+ 2,
],
"@typescript-eslint/semi": [
- "off",
+ 0,
],
"@typescript-eslint/space-before-blocks": [
- "off",
+ 0,
],
"@typescript-eslint/space-before-function-paren": [
- "off",
+ 0,
],
"@typescript-eslint/space-infix-ops": [
- "off",
+ 0,
],
"@typescript-eslint/triple-slash-reference": [
- "error",
+ 2,
],
"@typescript-eslint/type-annotation-spacing": [
- "off",
+ 0,
],
"@typescript-eslint/unbound-method": [
- "off",
+ 0,
],
"@typescript-eslint/unified-signatures": [
- "error",
+ 2,
],
"@typescript-eslint/use-unknown-in-catch-callback-variable": [
- "error",
+ 2,
],
"array-bracket-newline": [
- "off",
+ 0,
],
"array-bracket-spacing": [
- "off",
+ 0,
],
"array-callback-return": [
- "error",
+ 2,
+ {
+ "allowImplicit": false,
+ "allowVoid": false,
+ "checkForEach": false,
+ },
],
"array-element-newline": [
- "off",
+ 0,
],
"arrow-body-style": [
- "off",
+ 2,
"as-needed",
{
"requireReturnForObjectLiteral": false,
},
],
"arrow-parens": [
- "off",
+ 0,
],
"arrow-spacing": [
- "off",
+ 0,
],
"babel/object-curly-spacing": [
- "off",
+ 0,
],
"babel/quotes": [
0,
],
"babel/semi": [
- "off",
+ 0,
],
"block-scoped-var": [
- "error",
+ 2,
],
"block-spacing": [
- "off",
+ 0,
],
"brace-style": [
- "off",
+ 0,
],
"camelcase": [
- "off",
+ 0,
{
+ "allow": [],
"ignoreDestructuring": false,
"ignoreGlobals": false,
"ignoreImports": false,
@@ -660,133 +1860,137 @@ exports[`keeps rules stable 1`] = `
},
],
"comma-dangle": [
- "off",
+ 0,
],
"comma-spacing": [
- "off",
+ 0,
],
"comma-style": [
- "off",
+ 0,
],
"complexity": [
- "error",
+ 2,
+ 20,
],
"computed-property-spacing": [
- "off",
+ 0,
],
"consistent-return": [
- "off",
+ 0,
+ {
+ "treatUndefinedAsUnspecified": false,
+ },
],
"constructor-super": [
- "off",
+ 2,
],
"curly": [
- "error",
+ 2,
"all",
],
"default-case": [
- "off",
+ 0,
+ {},
],
"default-param-last": [
- "off",
+ 0,
],
"dot-location": [
- "off",
+ 0,
],
"dot-notation": [
- "off",
+ 0,
{
"allowKeywords": true,
"allowPattern": "",
},
],
"eol-last": [
- "off",
+ 0,
],
"eqeqeq": [
- "error",
+ 2,
"smart",
],
"flowtype/boolean-style": [
- "off",
+ 0,
],
"flowtype/delimiter-dangle": [
- "off",
+ 0,
],
"flowtype/generic-spacing": [
- "off",
+ 0,
],
"flowtype/object-type-curly-spacing": [
- "off",
+ 0,
],
"flowtype/object-type-delimiter": [
- "off",
+ 0,
],
"flowtype/quotes": [
- "off",
+ 0,
],
"flowtype/semi": [
- "off",
+ 0,
],
"flowtype/space-after-type-colon": [
- "off",
+ 0,
],
"flowtype/space-before-generic-bracket": [
- "off",
+ 0,
],
"flowtype/space-before-type-colon": [
- "off",
+ 0,
],
"flowtype/union-intersection-spacing": [
- "off",
+ 0,
],
"for-direction": [
- "error",
+ 2,
],
"func-call-spacing": [
- "off",
+ 0,
],
"func-names": [
- "error",
+ 2,
+ "always",
+ {},
],
"function-call-argument-newline": [
- "off",
+ 0,
],
"function-paren-newline": [
- "off",
+ 0,
],
"generator-star": [
- "off",
+ 0,
],
"generator-star-spacing": [
- "off",
+ 0,
],
"getter-return": [
- "off",
+ 2,
{
"allowImplicit": true,
},
],
"gettext/no-variable-string": [
- "error",
+ 2,
],
"guard-for-in": [
- "error",
+ 2,
],
"implicit-arrow-linebreak": [
- "off",
+ 0,
],
"import/default": [
- "off",
+ 0,
],
"import/dynamic-import-chunkname": [
- "error",
- ],
- "import/export": [
2,
],
"import/extensions": [
- "error",
+ 2,
{
"js": "never",
"json": "always",
@@ -796,46 +2000,37 @@ exports[`keeps rules stable 1`] = `
},
],
"import/named": [
- "off",
- ],
- "import/namespace": [
- 2,
+ 0,
],
"import/newline-after-import": [
- "warn",
+ 1,
],
"import/no-absolute-path": [
- "error",
+ 2,
],
"import/no-amd": [
- "error",
+ 2,
],
"import/no-duplicates": [
- "warn",
+ 1,
{
"prefer-inline": true,
},
],
"import/no-dynamic-require": [
- "error",
+ 2,
],
"import/no-extraneous-dependencies": [
- "error",
+ 2,
],
"import/no-mutable-exports": [
- "error",
- ],
- "import/no-named-as-default": [
- 1,
- ],
- "import/no-named-as-default-member": [
- 1,
+ 2,
],
"import/no-named-default": [
- "error",
+ 2,
],
"import/no-unresolved": [
- "error",
+ 2,
{
"caseSensitive": true,
"caseSensitiveStrict": false,
@@ -843,10 +2038,10 @@ exports[`keeps rules stable 1`] = `
},
],
"import/no-webpack-loader-syntax": [
- "error",
+ 2,
],
"import/order": [
- "warn",
+ 1,
{
"alphabetize": {
"caseInsensitive": true,
@@ -870,73 +2065,73 @@ exports[`keeps rules stable 1`] = `
},
],
"indent": [
- "off",
+ 0,
],
"indent-legacy": [
- "off",
+ 0,
],
"jsdoc/check-alignment": [
- "error",
+ 2,
],
"jsdoc/check-param-names": [
- "error",
+ 2,
],
"jsdoc/check-syntax": [
- "error",
+ 2,
],
"jsdoc/check-tag-names": [
- "error",
+ 2,
],
"jsdoc/implements-on-classes": [
- "error",
+ 2,
],
"jsdoc/require-param-name": [
- "error",
+ 2,
],
"jsdoc/require-param-type": [
- "error",
+ 2,
],
"jsdoc/require-returns-check": [
- "error",
+ 2,
],
"jsdoc/require-returns-type": [
- "error",
+ 2,
],
"jsx-a11y/alt-text": [
- "error",
+ 2,
],
"jsx-a11y/anchor-ambiguous-text": [
- "off",
+ 0,
],
"jsx-a11y/anchor-has-content": [
- "error",
+ 2,
],
"jsx-a11y/anchor-is-valid": [
- "error",
+ 2,
],
"jsx-a11y/aria-activedescendant-has-tabindex": [
- "error",
+ 2,
],
"jsx-a11y/aria-props": [
- "error",
+ 2,
],
"jsx-a11y/aria-proptypes": [
- "error",
+ 2,
],
"jsx-a11y/aria-role": [
- "error",
+ 2,
],
"jsx-a11y/aria-unsupported-elements": [
- "error",
+ 2,
],
"jsx-a11y/autocomplete-valid": [
- "error",
+ 2,
],
"jsx-a11y/click-events-have-key-events": [
- "error",
+ 2,
],
"jsx-a11y/control-has-associated-label": [
- "off",
+ 0,
{
"ignoreElements": [
"audio",
@@ -966,19 +2161,19 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/heading-has-content": [
- "error",
+ 2,
],
"jsx-a11y/html-has-lang": [
- "error",
+ 2,
],
"jsx-a11y/iframe-has-title": [
- "error",
+ 2,
],
"jsx-a11y/img-redundant-alt": [
- "error",
+ 2,
],
"jsx-a11y/interactive-supports-focus": [
- "error",
+ 2,
{
"tabbable": [
"button",
@@ -992,28 +2187,28 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/label-has-associated-control": [
- "error",
+ 2,
],
"jsx-a11y/label-has-for": [
- "off",
+ 0,
],
"jsx-a11y/media-has-caption": [
- "error",
+ 2,
],
"jsx-a11y/mouse-events-have-key-events": [
- "error",
+ 2,
],
"jsx-a11y/no-access-key": [
- "error",
+ 2,
],
"jsx-a11y/no-autofocus": [
- "error",
+ 2,
],
"jsx-a11y/no-distracting-elements": [
- "error",
+ 2,
],
"jsx-a11y/no-interactive-element-to-noninteractive-role": [
- "error",
+ 2,
{
"canvas": [
"img",
@@ -1025,7 +2220,7 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/no-noninteractive-element-interactions": [
- "error",
+ 2,
{
"alert": [
"onKeyUp",
@@ -1062,7 +2257,7 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/no-noninteractive-element-to-interactive-role": [
- "error",
+ 2,
{
"fieldset": [
"radiogroup",
@@ -1104,7 +2299,7 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/no-noninteractive-tabindex": [
- "error",
+ 2,
{
"allowExpressionValues": true,
"roles": [
@@ -1114,13 +2309,13 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/no-onchange": [
- "off",
+ 0,
],
"jsx-a11y/no-redundant-roles": [
- "error",
+ 2,
],
"jsx-a11y/no-static-element-interactions": [
- "error",
+ 2,
{
"allowExpressionValues": true,
"handlers": [
@@ -1134,47 +2329,47 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/role-has-required-aria-props": [
- "error",
+ 2,
],
"jsx-a11y/role-supports-aria-props": [
- "error",
+ 2,
],
"jsx-a11y/scope": [
- "error",
+ 2,
],
"jsx-a11y/tabindex-no-positive": [
- "error",
+ 2,
],
"jsx-quotes": [
- "off",
+ 0,
],
"key-spacing": [
- "off",
+ 0,
],
"keyword-spacing": [
- "off",
+ 0,
],
"linebreak-style": [
- "off",
+ 0,
],
"lines-around-comment": [
0,
],
"max-classes-per-file": [
- "error",
+ 2,
1,
],
"max-len": [
0,
],
"max-statements-per-line": [
- "off",
+ 0,
],
"multiline-ternary": [
- "off",
+ 0,
],
"new-cap": [
- "error",
+ 2,
{
"capIsNew": false,
"capIsNewExceptions": [
@@ -1188,104 +2383,122 @@ exports[`keeps rules stable 1`] = `
},
],
"new-parens": [
- "off",
+ 0,
],
"newline-per-chained-call": [
- "off",
+ 0,
],
"no-alert": [
- "warn",
+ 1,
],
"no-array-constructor": [
- "off",
+ 0,
],
"no-arrow-condition": [
- "off",
+ 0,
],
"no-async-promise-executor": [
- "error",
+ 2,
],
"no-await-in-loop": [
- "error",
+ 2,
],
"no-bitwise": [
- "error",
+ 2,
+ {
+ "allow": [],
+ "int32Hint": false,
+ },
],
"no-caller": [
- "error",
+ 2,
],
"no-case-declarations": [
- "error",
+ 2,
],
"no-class-assign": [
- "off",
+ 2,
],
"no-comma-dangle": [
- "off",
+ 0,
],
"no-compare-neg-zero": [
- "error",
+ 2,
],
"no-cond-assign": [
- "error",
+ 2,
"always",
],
"no-confusing-arrow": [
0,
],
"no-console": [
- "warn",
+ 1,
+ {},
],
"no-const-assign": [
- "off",
+ 2,
+ ],
+ "no-constant-binary-expression": [
+ 2,
],
"no-constant-condition": [
- "warn",
+ 1,
+ {
+ "checkLoops": "allExceptWhileTrue",
+ },
],
"no-continue": [
- "error",
+ 2,
],
"no-control-regex": [
- "error",
+ 2,
],
"no-debugger": [
- "error",
+ 2,
],
"no-delete-var": [
- "error",
+ 2,
],
"no-dupe-args": [
- "off",
+ 2,
],
"no-dupe-class-members": [
- "off",
+ 2,
],
"no-dupe-else-if": [
- "error",
+ 2,
],
"no-dupe-keys": [
- "off",
+ 2,
],
"no-duplicate-case": [
- "error",
+ 2,
],
"no-duplicate-imports": [
- "off",
+ 0,
+ {
+ "allowSeparateTypeImports": false,
+ "includeExports": false,
+ },
],
"no-else-return": [
- "error",
+ 2,
{
"allowElseIf": true,
},
],
"no-empty": [
- "error",
+ 2,
+ {
+ "allowEmptyCatch": false,
+ },
],
"no-empty-character-class": [
- "error",
+ 2,
],
"no-empty-function": [
- "off",
+ 0,
{
"allow": [
"arrowFunctions",
@@ -1295,164 +2508,198 @@ exports[`keeps rules stable 1`] = `
},
],
"no-empty-pattern": [
- "error",
+ 2,
+ {
+ "allowObjectPatternsAsParameters": false,
+ },
+ ],
+ "no-empty-static-block": [
+ 2,
],
"no-eval": [
- "error",
+ 2,
+ {
+ "allowIndirect": false,
+ },
],
"no-ex-assign": [
- "error",
+ 2,
],
"no-extend-native": [
- "error",
+ 2,
+ {
+ "exceptions": [],
+ },
],
"no-extra-bind": [
- "error",
+ 2,
],
"no-extra-boolean-cast": [
- "error",
+ 2,
+ {},
],
"no-extra-label": [
- "error",
+ 2,
],
"no-extra-parens": [
- "off",
+ 0,
],
"no-extra-semi": [
- "off",
+ 0,
],
"no-fallthrough": [
- "error",
+ 2,
+ {
+ "allowEmptyCase": false,
+ "reportUnusedFallthroughComment": false,
+ },
],
"no-floating-decimal": [
- "off",
+ 0,
],
"no-func-assign": [
- "off",
+ 2,
],
"no-global-assign": [
- "error",
+ 2,
+ {
+ "exceptions": [],
+ },
],
"no-implied-eval": [
- "off",
+ 0,
],
"no-import-assign": [
- "off",
- ],
- "no-inner-declarations": [
- "error",
+ 2,
],
"no-invalid-regexp": [
- "error",
+ 2,
+ {},
],
"no-irregular-whitespace": [
- "error",
+ 2,
+ {
+ "skipComments": false,
+ "skipJSXText": false,
+ "skipRegExps": false,
+ "skipStrings": true,
+ "skipTemplates": false,
+ },
],
"no-iterator": [
- "error",
+ 2,
],
"no-label-var": [
- "error",
+ 2,
],
"no-labels": [
- "error",
+ 2,
{
"allowLoop": false,
"allowSwitch": false,
},
],
"no-lone-blocks": [
- "error",
+ 2,
],
"no-lonely-if": [
- "error",
+ 2,
],
"no-loop-func": [
- "error",
+ 2,
],
"no-loss-of-precision": [
- "error",
+ 2,
],
"no-misleading-character-class": [
- "error",
+ 2,
+ {
+ "allowEscape": false,
+ },
],
"no-mixed-operators": [
0,
],
"no-mixed-spaces-and-tabs": [
- "off",
+ 0,
],
"no-multi-assign": [
- "error",
+ 2,
+ {
+ "ignoreNonDeclaration": false,
+ },
],
"no-multi-spaces": [
- "off",
+ 0,
],
"no-multi-str": [
- "error",
+ 2,
],
"no-multiple-empty-lines": [
- "off",
+ 0,
],
"no-nested-ternary": [
- "error",
+ 2,
],
"no-new": [
- "error",
+ 2,
],
"no-new-func": [
- "error",
+ 2,
],
"no-new-native-nonconstructor": [
- "off",
- ],
- "no-new-symbol": [
- "off",
+ 2,
],
"no-new-wrappers": [
- "error",
+ 2,
],
"no-nonoctal-decimal-escape": [
- "error",
+ 2,
],
"no-obj-calls": [
- "off",
+ 2,
],
"no-object-constructor": [
- "error",
+ 2,
],
"no-octal": [
- "error",
+ 2,
],
"no-octal-escape": [
- "error",
+ 2,
],
"no-param-reassign": [
- "error",
+ 2,
{
"props": false,
},
],
"no-plusplus": [
- "error",
+ 2,
+ {
+ "allowForLoopAfterthoughts": false,
+ },
],
"no-proto": [
- "error",
+ 2,
],
"no-prototype-builtins": [
- "off",
+ 0,
],
"no-redeclare": [
- "off",
+ 2,
+ {
+ "builtinGlobals": true,
+ },
],
"no-regex-spaces": [
- "error",
+ 2,
],
"no-reserved-keys": [
- "off",
+ 0,
],
"no-restricted-globals": [
- "error",
+ 2,
"isFinite",
"isNaN",
"addEventListener",
@@ -1515,10 +2762,10 @@ exports[`keeps rules stable 1`] = `
"top",
],
"no-restricted-imports": [
- "error",
+ 2,
],
"no-restricted-properties": [
- "error",
+ 2,
{
"message": "arguments.callee is deprecated",
"object": "arguments",
@@ -1569,7 +2816,7 @@ exports[`keeps rules stable 1`] = `
},
],
"no-restricted-syntax": [
- "error",
+ 2,
{
"message": "for..in loops iterate over the entire prototype chain, which is virtually never what you want. Use Object.{keys,values,entries}, and iterate over the resulting array.",
"selector": "ForInStatement",
@@ -1596,71 +2843,87 @@ exports[`keeps rules stable 1`] = `
},
],
"no-return-assign": [
- "error",
+ 2,
"except-parens",
],
"no-return-await": [
- "off",
+ 0,
],
"no-script-url": [
- "error",
+ 2,
],
"no-self-assign": [
- "error",
+ 2,
+ {
+ "props": true,
+ },
],
"no-self-compare": [
- "error",
+ 2,
],
"no-sequences": [
- "error",
+ 2,
+ {
+ "allowInParentheses": true,
+ },
],
"no-setter-return": [
- "off",
+ 2,
],
"no-shadow": [
- "off",
+ 0,
{
+ "allow": [],
"builtinGlobals": false,
"hoist": "all",
+ "ignoreFunctionTypeParameterNameValueShadow": true,
"ignoreOnInitialization": false,
+ "ignoreTypeValueShadow": true,
},
],
"no-shadow-restricted-names": [
- "error",
+ 2,
+ {
+ "reportGlobalThis": false,
+ },
],
"no-space-before-semi": [
- "off",
+ 0,
],
"no-spaced-func": [
- "off",
+ 0,
],
"no-sparse-arrays": [
- "error",
+ 2,
],
"no-tabs": [
0,
],
"no-template-curly-in-string": [
- "error",
+ 2,
],
"no-this-before-super": [
- "off",
+ 2,
],
"no-throw-literal": [
- "off",
+ 0,
],
"no-trailing-spaces": [
- "off",
+ 0,
],
"no-undef": [
- "off",
+ 2,
+ {
+ "typeof": false,
+ },
],
"no-undef-init": [
- "error",
+ 2,
],
"no-underscore-dangle": [
- "error",
+ 2,
{
+ "allow": [],
"allowAfterSuper": true,
"allowAfterThis": true,
"allowAfterThisConstructor": false,
@@ -1675,31 +2938,47 @@ exports[`keeps rules stable 1`] = `
0,
],
"no-unneeded-ternary": [
- "error",
+ 2,
{
"defaultAssignment": false,
},
],
"no-unreachable": [
- "off",
+ 2,
],
"no-unsafe-finally": [
- "error",
+ 2,
],
"no-unsafe-negation": [
- "off",
+ 2,
+ {
+ "enforceForOrderingRelations": false,
+ },
],
"no-unsafe-optional-chaining": [
- "error",
+ 2,
+ {
+ "disallowArithmeticOperators": false,
+ },
],
"no-unused-expressions": [
- "off",
+ 0,
+ {
+ "allowShortCircuit": false,
+ "allowTaggedTemplates": false,
+ "allowTernary": false,
+ "enforceForJSX": false,
+ "ignoreDirectives": false,
+ },
],
"no-unused-labels": [
- "error",
+ 2,
+ ],
+ "no-unused-private-class-members": [
+ 2,
],
"no-unused-vars": [
- "off",
+ 0,
{
"args": "after-used",
"ignoreRestSiblings": true,
@@ -1707,29 +2986,35 @@ exports[`keeps rules stable 1`] = `
},
],
"no-use-before-define": [
- "off",
+ 0,
"nofunc",
],
"no-useless-backreference": [
- "error",
+ 2,
],
"no-useless-catch": [
- "error",
+ 2,
],
"no-useless-computed-key": [
- "error",
+ 2,
+ {
+ "enforceForClassMembers": true,
+ },
],
"no-useless-concat": [
- "error",
+ 2,
],
"no-useless-constructor": [
- "off",
+ 0,
],
"no-useless-escape": [
- "error",
+ 2,
+ {
+ "allowRegexCharacters": [],
+ },
],
"no-useless-rename": [
- "error",
+ 2,
{
"ignoreDestructuring": false,
"ignoreExport": false,
@@ -1737,40 +3022,40 @@ exports[`keeps rules stable 1`] = `
},
],
"no-useless-return": [
- "error",
+ 2,
],
"no-var": [
- "error",
+ 2,
],
"no-void": [
- "error",
+ 2,
{
"allowAsStatement": true,
},
],
"no-whitespace-before-property": [
- "off",
+ 0,
],
"no-with": [
- "error",
+ 2,
],
"no-wrap-func": [
- "off",
+ 0,
],
"nonblock-statement-body-position": [
- "off",
+ 0,
],
"object-curly-newline": [
- "off",
+ 0,
],
"object-curly-spacing": [
- "off",
+ 0,
],
"object-property-newline": [
- "off",
+ 0,
],
"object-shorthand": [
- "error",
+ 2,
"always",
{
"avoidQuotes": true,
@@ -1778,53 +3063,53 @@ exports[`keeps rules stable 1`] = `
},
],
"one-var": [
- "error",
+ 2,
"never",
],
"one-var-declaration-per-line": [
- "off",
+ 0,
],
"operator-assignment": [
- "error",
+ 2,
"always",
],
"operator-linebreak": [
- "off",
+ 0,
],
"padded-blocks": [
- "off",
+ 0,
],
"prefer-arrow-callback": [
- "off",
+ 2,
{
"allowNamedFunctions": false,
"allowUnboundThis": true,
},
],
"prefer-const": [
- "error",
+ 2,
{
"destructuring": "any",
"ignoreReadBeforeAssign": true,
},
],
"prefer-numeric-literals": [
- "error",
+ 2,
],
"prefer-promise-reject-errors": [
- "off",
+ 0,
+ {
+ "allowEmptyReject": false,
+ },
],
"prefer-rest-params": [
- "error",
- ],
- "prefer-spread": [
- "error",
+ 2,
],
"prefer-template": [
- "error",
+ 2,
],
"prettier/prettier": [
- "warn",
+ 1,
{
"printWidth": 100,
"singleQuote": true,
@@ -1835,37 +3120,38 @@ exports[`keeps rules stable 1`] = `
},
],
"quote-props": [
- "off",
+ 0,
],
"quotes": [
0,
],
"radix": [
- "error",
+ 2,
+ "always",
],
"react-hooks/exhaustive-deps": [
- "error",
+ 2,
],
"react-hooks/rules-of-hooks": [
- "error",
+ 2,
],
"react/destructuring-assignment": [
- "error",
+ 2,
],
"react/display-name": [
- "off",
+ 0,
],
"react/jsx-child-element-spacing": [
- "off",
+ 0,
],
"react/jsx-closing-bracket-location": [
- "off",
+ 0,
],
"react/jsx-closing-tag-location": [
- "off",
+ 0,
],
"react/jsx-curly-brace-presence": [
- "error",
+ 2,
{
"children": "never",
"propElementValues": "always",
@@ -1873,13 +3159,13 @@ exports[`keeps rules stable 1`] = `
},
],
"react/jsx-curly-newline": [
- "off",
+ 0,
],
"react/jsx-curly-spacing": [
- "off",
+ 0,
],
"react/jsx-equals-spacing": [
- "off",
+ 0,
],
"react/jsx-filename-extension": [
1,
@@ -1890,29 +3176,29 @@ exports[`keeps rules stable 1`] = `
},
],
"react/jsx-first-prop-new-line": [
- "off",
+ 0,
],
"react/jsx-fragments": [
- "error",
+ 2,
"syntax",
],
"react/jsx-indent": [
- "off",
+ 0,
],
"react/jsx-indent-props": [
- "off",
+ 0,
],
"react/jsx-key": [
2,
],
"react/jsx-max-props-per-line": [
- "off",
+ 0,
],
"react/jsx-newline": [
- "off",
+ 0,
],
"react/jsx-no-bind": [
- "error",
+ 2,
{
"allowArrowFunctions": true,
"allowBind": false,
@@ -1934,25 +3220,25 @@ exports[`keeps rules stable 1`] = `
2,
],
"react/jsx-no-useless-fragment": [
- "error",
+ 2,
],
"react/jsx-one-expression-per-line": [
- "off",
+ 0,
],
"react/jsx-pascal-case": [
- "error",
+ 2,
],
"react/jsx-props-no-multi-spaces": [
- "off",
+ 0,
],
"react/jsx-sort-props": [
- "warn",
+ 1,
],
"react/jsx-space-before-closing": [
- "off",
+ 0,
],
"react/jsx-tag-spacing": [
- "off",
+ 0,
],
"react/jsx-uses-react": [
2,
@@ -1961,7 +3247,7 @@ exports[`keeps rules stable 1`] = `
2,
],
"react/jsx-wrap-multilines": [
- "off",
+ 0,
],
"react/no-children-prop": [
2,
@@ -1982,7 +3268,7 @@ exports[`keeps rules stable 1`] = `
2,
],
"react/no-redundant-should-component-update": [
- "error",
+ 2,
],
"react/no-render-return-value": [
2,
@@ -1991,10 +3277,10 @@ exports[`keeps rules stable 1`] = `
2,
],
"react/no-this-in-sfc": [
- "error",
+ 2,
],
"react/no-unescaped-entities": [
- "error",
+ 2,
{
"forbid": [
{
@@ -2016,19 +3302,19 @@ exports[`keeps rules stable 1`] = `
2,
],
"react/no-unsafe": [
- "error",
+ 2,
],
"react/no-unused-state": [
- "error",
+ 2,
],
"react/prefer-es6-class": [
- "error",
+ 2,
],
"react/prefer-read-only-props": [
- "error",
+ 2,
],
"react/prop-types": [
- "off",
+ 0,
],
"react/react-in-jsx-scope": [
2,
@@ -2037,308 +3323,295 @@ exports[`keeps rules stable 1`] = `
2,
],
"react/self-closing-comp": [
- "error",
+ 2,
],
"react/style-prop-object": [
- "error",
+ 2,
],
"require-await": [
- "off",
+ 0,
],
"require-yield": [
- "error",
+ 2,
],
"rest-spread-spacing": [
- "off",
+ 0,
],
"semi": [
- "off",
+ 0,
],
"semi-spacing": [
- "off",
+ 0,
],
"semi-style": [
- "off",
+ 0,
],
"sort-imports": [
- "error",
+ 2,
{
"allowSeparatedGroups": false,
"ignoreCase": true,
"ignoreDeclarationSort": true,
"ignoreMemberSort": false,
+ "memberSyntaxSortOrder": [
+ "none",
+ "all",
+ "multiple",
+ "single",
+ ],
},
],
"sort-keys": [
- "off",
+ 0,
+ "asc",
+ {
+ "allowLineSeparatedGroups": false,
+ "caseSensitive": true,
+ "ignoreComputedKeys": false,
+ "minKeys": 2,
+ "natural": false,
+ },
],
"space-after-function-name": [
- "off",
+ 0,
],
"space-after-keywords": [
- "off",
+ 0,
],
"space-before-blocks": [
- "off",
+ 0,
],
"space-before-function-paren": [
- "off",
+ 0,
],
"space-before-function-parentheses": [
- "off",
+ 0,
],
"space-before-keywords": [
- "off",
+ 0,
],
"space-in-brackets": [
- "off",
+ 0,
],
"space-in-parens": [
- "off",
+ 0,
],
"space-infix-ops": [
- "off",
+ 0,
],
"space-return-throw-case": [
- "off",
+ 0,
],
"space-unary-ops": [
- "off",
+ 0,
],
"space-unary-word-ops": [
- "off",
+ 0,
],
"standard/array-bracket-even-spacing": [
- "off",
+ 0,
],
"standard/computed-property-even-spacing": [
- "off",
+ 0,
],
"standard/object-curly-even-spacing": [
- "off",
+ 0,
],
"strict": [
- "error",
+ 2,
+ "safe",
],
"switch-case/newline-between-switch-case": [
- "warn",
+ 1,
"always",
{
"fallthrough": "never",
},
],
"switch-colon-spacing": [
- "off",
+ 0,
],
"symbol-description": [
- "error",
+ 2,
],
"template-curly-spacing": [
- "off",
+ 0,
],
"template-tag-spacing": [
- "off",
+ 0,
],
"unicorn/empty-brace-spaces": [
- "off",
+ 0,
],
"unicorn/no-nested-ternary": [
- "off",
+ 0,
],
"unicorn/number-literal-case": [
- "off",
+ 0,
],
"unicorn/template-indent": [
0,
],
"use-isnan": [
- "error",
+ 2,
+ {
+ "enforceForIndexOf": false,
+ "enforceForSwitchCase": true,
+ },
],
"valid-jsdoc": [
- "off",
+ 0,
{
"requireParamDescription": false,
- "requireParamType": true,
- "requireReturn": true,
"requireReturnDescription": false,
- "requireReturnType": true,
},
],
"valid-typeof": [
- "error",
+ 2,
{
"requireStringLiterals": true,
},
],
"vars-on-top": [
- "error",
+ 2,
],
"vue/array-bracket-newline": [
- "off",
+ 0,
],
"vue/array-bracket-spacing": [
- "off",
+ 0,
],
"vue/array-element-newline": [
- "off",
+ 0,
],
"vue/arrow-spacing": [
- "off",
+ 0,
],
"vue/block-spacing": [
- "off",
+ 0,
],
"vue/block-tag-newline": [
- "off",
+ 0,
],
"vue/brace-style": [
- "off",
+ 0,
],
"vue/comma-dangle": [
- "off",
+ 0,
],
"vue/comma-spacing": [
- "off",
+ 0,
],
"vue/comma-style": [
- "off",
+ 0,
],
"vue/dot-location": [
- "off",
+ 0,
],
"vue/func-call-spacing": [
- "off",
+ 0,
],
"vue/html-closing-bracket-newline": [
- "off",
+ 0,
],
"vue/html-closing-bracket-spacing": [
- "off",
+ 0,
],
"vue/html-end-tags": [
- "off",
+ 0,
],
"vue/html-indent": [
- "off",
+ 0,
],
"vue/html-quotes": [
- "off",
+ 0,
],
"vue/html-self-closing": [
0,
],
"vue/key-spacing": [
- "off",
+ 0,
],
"vue/keyword-spacing": [
- "off",
+ 0,
],
"vue/max-attributes-per-line": [
- "off",
+ 0,
],
"vue/max-len": [
0,
],
"vue/multiline-html-element-content-newline": [
- "off",
+ 0,
],
"vue/multiline-ternary": [
- "off",
+ 0,
],
"vue/mustache-interpolation-spacing": [
- "off",
+ 0,
],
"vue/no-extra-parens": [
- "off",
+ 0,
],
"vue/no-multi-spaces": [
- "off",
+ 0,
],
"vue/no-spaces-around-equal-signs-in-attribute": [
- "off",
+ 0,
],
"vue/object-curly-newline": [
- "off",
+ 0,
],
"vue/object-curly-spacing": [
- "off",
+ 0,
],
"vue/object-property-newline": [
- "off",
+ 0,
],
"vue/operator-linebreak": [
- "off",
+ 0,
],
"vue/quote-props": [
- "off",
+ 0,
],
"vue/script-indent": [
- "off",
+ 0,
],
"vue/singleline-html-element-content-newline": [
- "off",
+ 0,
],
"vue/space-in-parens": [
- "off",
+ 0,
],
"vue/space-infix-ops": [
- "off",
+ 0,
],
"vue/space-unary-ops": [
- "off",
+ 0,
],
"vue/template-curly-spacing": [
- "off",
+ 0,
],
"wrap-iife": [
- "off",
+ 0,
],
"wrap-regex": [
- "off",
+ 0,
],
"yield-star-spacing": [
- "off",
+ 0,
],
"yoda": [
- "error",
+ 2,
+ "never",
+ {
+ "exceptRange": false,
+ "onlyEquality": false,
+ },
],
},
"settings": {
- "import/extensions": [
- ".ts",
- ".cts",
- ".mts",
- ".tsx",
- ".js",
- ".jsx",
- ".mjs",
- ".cjs",
- ],
- "import/external-module-folders": [
- "node_modules",
- "node_modules/@types",
- ],
- "import/parsers": {
- "@typescript-eslint/parser": [
- ".ts",
- ".cts",
- ".mts",
- ".tsx",
- ],
- },
"import/resolver": {
- "node": {
- "extensions": [
- ".ts",
- ".cts",
- ".mts",
- ".tsx",
- ".js",
- ".jsx",
- ".mjs",
- ".cjs",
- ],
- },
"typescript": {
"alwaysTryTypes": true,
},
diff --git a/packages/eslint-config/test/__snapshots__/js.spec.js.snap b/packages/eslint-config/test/__snapshots__/js.spec.js.snap
index c10ece8..71942ed 100644
--- a/packages/eslint-config/test/__snapshots__/js.spec.js.snap
+++ b/packages/eslint-config/test/__snapshots__/js.spec.js.snap
@@ -2,43 +2,1233 @@
exports[`keeps rules stable 1`] = `
{
- "env": {
- "browser": true,
- "es6": true,
- "node": true,
- },
- "globals": {},
- "ignorePatterns": [],
- "noInlineConfig": undefined,
- "parser": null,
- "parserOptions": {
- "ecmaFeatures": {
- "jsx": true,
+ "language": "@/js",
+ "languageOptions": {
+ "ecmaVersion": 2026,
+ "globals": {
+ "AI": false,
+ "AITextSession": false,
+ "AbortController": false,
+ "AbortSignal": false,
+ "AbsoluteOrientationSensor": false,
+ "AbstractRange": false,
+ "Accelerometer": false,
+ "AggregateError": false,
+ "AnalyserNode": false,
+ "Animation": false,
+ "AnimationEffect": false,
+ "AnimationEvent": false,
+ "AnimationPlaybackEvent": false,
+ "AnimationTimeline": false,
+ "Array": false,
+ "ArrayBuffer": false,
+ "Atomics": false,
+ "Attr": false,
+ "Audio": false,
+ "AudioBuffer": false,
+ "AudioBufferSourceNode": false,
+ "AudioContext": false,
+ "AudioData": false,
+ "AudioDecoder": false,
+ "AudioDestinationNode": false,
+ "AudioEncoder": false,
+ "AudioListener": false,
+ "AudioNode": false,
+ "AudioParam": false,
+ "AudioParamMap": false,
+ "AudioProcessingEvent": false,
+ "AudioScheduledSourceNode": false,
+ "AudioSinkInfo": false,
+ "AudioWorklet": false,
+ "AudioWorkletGlobalScope": false,
+ "AudioWorkletNode": false,
+ "AudioWorkletProcessor": false,
+ "AuthenticatorAssertionResponse": false,
+ "AuthenticatorAttestationResponse": false,
+ "AuthenticatorResponse": false,
+ "BackgroundFetchManager": false,
+ "BackgroundFetchRecord": false,
+ "BackgroundFetchRegistration": false,
+ "BarProp": false,
+ "BarcodeDetector": false,
+ "BaseAudioContext": false,
+ "BatteryManager": false,
+ "BeforeUnloadEvent": false,
+ "BigInt": false,
+ "BigInt64Array": false,
+ "BigUint64Array": false,
+ "BiquadFilterNode": false,
+ "Blob": false,
+ "BlobEvent": false,
+ "Bluetooth": false,
+ "BluetoothCharacteristicProperties": false,
+ "BluetoothDevice": false,
+ "BluetoothRemoteGATTCharacteristic": false,
+ "BluetoothRemoteGATTDescriptor": false,
+ "BluetoothRemoteGATTServer": false,
+ "BluetoothRemoteGATTService": false,
+ "BluetoothUUID": false,
+ "Boolean": false,
+ "BroadcastChannel": false,
+ "BrowserCaptureMediaStreamTrack": false,
+ "ByteLengthQueuingStrategy": false,
+ "CDATASection": false,
+ "CSS": false,
+ "CSSAnimation": false,
+ "CSSConditionRule": false,
+ "CSSContainerRule": false,
+ "CSSCounterStyleRule": false,
+ "CSSFontFaceRule": false,
+ "CSSFontFeatureValuesRule": false,
+ "CSSFontPaletteValuesRule": false,
+ "CSSGroupingRule": false,
+ "CSSImageValue": false,
+ "CSSImportRule": false,
+ "CSSKeyframeRule": false,
+ "CSSKeyframesRule": false,
+ "CSSKeywordValue": false,
+ "CSSLayerBlockRule": false,
+ "CSSLayerStatementRule": false,
+ "CSSMarginRule": false,
+ "CSSMathClamp": false,
+ "CSSMathInvert": false,
+ "CSSMathMax": false,
+ "CSSMathMin": false,
+ "CSSMathNegate": false,
+ "CSSMathProduct": false,
+ "CSSMathSum": false,
+ "CSSMathValue": false,
+ "CSSMatrixComponent": false,
+ "CSSMediaRule": false,
+ "CSSNamespaceRule": false,
+ "CSSNestedDeclarations": false,
+ "CSSNumericArray": false,
+ "CSSNumericValue": false,
+ "CSSPageDescriptors": false,
+ "CSSPageRule": false,
+ "CSSPerspective": false,
+ "CSSPositionTryDescriptors": false,
+ "CSSPositionTryRule": false,
+ "CSSPositionValue": false,
+ "CSSPropertyRule": false,
+ "CSSRotate": false,
+ "CSSRule": false,
+ "CSSRuleList": false,
+ "CSSScale": false,
+ "CSSScopeRule": false,
+ "CSSSkew": false,
+ "CSSSkewX": false,
+ "CSSSkewY": false,
+ "CSSStartingStyleRule": false,
+ "CSSStyleDeclaration": false,
+ "CSSStyleRule": false,
+ "CSSStyleSheet": false,
+ "CSSStyleValue": false,
+ "CSSSupportsRule": false,
+ "CSSTransformComponent": false,
+ "CSSTransformValue": false,
+ "CSSTransition": false,
+ "CSSTranslate": false,
+ "CSSUnitValue": false,
+ "CSSUnparsedValue": false,
+ "CSSVariableReferenceValue": false,
+ "CSSViewTransitionRule": false,
+ "Cache": false,
+ "CacheStorage": false,
+ "CanvasCaptureMediaStream": false,
+ "CanvasCaptureMediaStreamTrack": false,
+ "CanvasGradient": false,
+ "CanvasPattern": false,
+ "CanvasRenderingContext2D": false,
+ "CaptureController": false,
+ "CaretPosition": false,
+ "ChannelMergerNode": false,
+ "ChannelSplitterNode": false,
+ "ChapterInformation": false,
+ "CharacterBoundsUpdateEvent": false,
+ "CharacterData": false,
+ "Clipboard": false,
+ "ClipboardEvent": false,
+ "ClipboardItem": false,
+ "CloseEvent": false,
+ "CloseWatcher": false,
+ "Comment": false,
+ "CompositionEvent": false,
+ "CompressionStream": false,
+ "ConstantSourceNode": false,
+ "ContentVisibilityAutoStateChangeEvent": false,
+ "ConvolverNode": false,
+ "CookieChangeEvent": false,
+ "CookieDeprecationLabel": false,
+ "CookieStore": false,
+ "CookieStoreManager": false,
+ "CountQueuingStrategy": false,
+ "Credential": false,
+ "CredentialsContainer": false,
+ "CropTarget": false,
+ "Crypto": false,
+ "CryptoKey": false,
+ "CustomElementRegistry": false,
+ "CustomEvent": false,
+ "CustomStateSet": false,
+ "DOMError": false,
+ "DOMException": false,
+ "DOMImplementation": false,
+ "DOMMatrix": false,
+ "DOMMatrixReadOnly": false,
+ "DOMParser": false,
+ "DOMPoint": false,
+ "DOMPointReadOnly": false,
+ "DOMQuad": false,
+ "DOMRect": false,
+ "DOMRectList": false,
+ "DOMRectReadOnly": false,
+ "DOMStringList": false,
+ "DOMStringMap": false,
+ "DOMTokenList": false,
+ "DataTransfer": false,
+ "DataTransferItem": false,
+ "DataTransferItemList": false,
+ "DataView": false,
+ "Date": false,
+ "DecompressionStream": false,
+ "DelayNode": false,
+ "DelegatedInkTrailPresenter": false,
+ "DeviceMotionEvent": false,
+ "DeviceMotionEventAcceleration": false,
+ "DeviceMotionEventRotationRate": false,
+ "DeviceOrientationEvent": false,
+ "Document": false,
+ "DocumentFragment": false,
+ "DocumentPictureInPicture": false,
+ "DocumentPictureInPictureEvent": false,
+ "DocumentTimeline": false,
+ "DocumentType": false,
+ "DragEvent": false,
+ "DynamicsCompressorNode": false,
+ "EditContext": false,
+ "Element": false,
+ "ElementInternals": false,
+ "EncodedAudioChunk": false,
+ "EncodedVideoChunk": false,
+ "Error": false,
+ "ErrorEvent": false,
+ "EvalError": false,
+ "Event": false,
+ "EventCounts": false,
+ "EventSource": false,
+ "EventTarget": false,
+ "External": false,
+ "EyeDropper": false,
+ "FeaturePolicy": false,
+ "FederatedCredential": false,
+ "Fence": false,
+ "FencedFrameConfig": false,
+ "FetchLaterResult": false,
+ "File": false,
+ "FileList": false,
+ "FileReader": false,
+ "FileSystem": false,
+ "FileSystemDirectoryEntry": false,
+ "FileSystemDirectoryHandle": false,
+ "FileSystemDirectoryReader": false,
+ "FileSystemEntry": false,
+ "FileSystemFileEntry": false,
+ "FileSystemFileHandle": false,
+ "FileSystemHandle": false,
+ "FileSystemWritableFileStream": false,
+ "FinalizationRegistry": false,
+ "Float16Array": false,
+ "Float32Array": false,
+ "Float64Array": false,
+ "FocusEvent": false,
+ "FontData": false,
+ "FontFace": false,
+ "FontFaceSet": false,
+ "FontFaceSetLoadEvent": false,
+ "FormData": false,
+ "FormDataEvent": false,
+ "FragmentDirective": false,
+ "Function": false,
+ "GPU": false,
+ "GPUAdapter": false,
+ "GPUAdapterInfo": false,
+ "GPUBindGroup": false,
+ "GPUBindGroupLayout": false,
+ "GPUBuffer": false,
+ "GPUBufferUsage": false,
+ "GPUCanvasContext": false,
+ "GPUColorWrite": false,
+ "GPUCommandBuffer": false,
+ "GPUCommandEncoder": false,
+ "GPUCompilationInfo": false,
+ "GPUCompilationMessage": false,
+ "GPUComputePassEncoder": false,
+ "GPUComputePipeline": false,
+ "GPUDevice": false,
+ "GPUDeviceLostInfo": false,
+ "GPUError": false,
+ "GPUExternalTexture": false,
+ "GPUInternalError": false,
+ "GPUMapMode": false,
+ "GPUOutOfMemoryError": false,
+ "GPUPipelineError": false,
+ "GPUPipelineLayout": false,
+ "GPUQuerySet": false,
+ "GPUQueue": false,
+ "GPURenderBundle": false,
+ "GPURenderBundleEncoder": false,
+ "GPURenderPassEncoder": false,
+ "GPURenderPipeline": false,
+ "GPUSampler": false,
+ "GPUShaderModule": false,
+ "GPUShaderStage": false,
+ "GPUSupportedFeatures": false,
+ "GPUSupportedLimits": false,
+ "GPUTexture": false,
+ "GPUTextureUsage": false,
+ "GPUTextureView": false,
+ "GPUUncapturedErrorEvent": false,
+ "GPUValidationError": false,
+ "GainNode": false,
+ "Gamepad": false,
+ "GamepadAxisMoveEvent": false,
+ "GamepadButton": false,
+ "GamepadButtonEvent": false,
+ "GamepadEvent": false,
+ "GamepadHapticActuator": false,
+ "GamepadPose": false,
+ "Geolocation": false,
+ "GeolocationCoordinates": false,
+ "GeolocationPosition": false,
+ "GeolocationPositionError": false,
+ "GravitySensor": false,
+ "Gyroscope": false,
+ "HID": false,
+ "HIDConnectionEvent": false,
+ "HIDDevice": false,
+ "HIDInputReportEvent": false,
+ "HTMLAllCollection": false,
+ "HTMLAnchorElement": false,
+ "HTMLAreaElement": false,
+ "HTMLAudioElement": false,
+ "HTMLBRElement": false,
+ "HTMLBaseElement": false,
+ "HTMLBodyElement": false,
+ "HTMLButtonElement": false,
+ "HTMLCanvasElement": false,
+ "HTMLCollection": false,
+ "HTMLDListElement": false,
+ "HTMLDataElement": false,
+ "HTMLDataListElement": false,
+ "HTMLDetailsElement": false,
+ "HTMLDialogElement": false,
+ "HTMLDirectoryElement": false,
+ "HTMLDivElement": false,
+ "HTMLDocument": false,
+ "HTMLElement": false,
+ "HTMLEmbedElement": false,
+ "HTMLFencedFrameElement": false,
+ "HTMLFieldSetElement": false,
+ "HTMLFontElement": false,
+ "HTMLFormControlsCollection": false,
+ "HTMLFormElement": false,
+ "HTMLFrameElement": false,
+ "HTMLFrameSetElement": false,
+ "HTMLHRElement": false,
+ "HTMLHeadElement": false,
+ "HTMLHeadingElement": false,
+ "HTMLHtmlElement": false,
+ "HTMLIFrameElement": false,
+ "HTMLImageElement": false,
+ "HTMLInputElement": false,
+ "HTMLLIElement": false,
+ "HTMLLabelElement": false,
+ "HTMLLegendElement": false,
+ "HTMLLinkElement": false,
+ "HTMLMapElement": false,
+ "HTMLMarqueeElement": false,
+ "HTMLMediaElement": false,
+ "HTMLMenuElement": false,
+ "HTMLMetaElement": false,
+ "HTMLMeterElement": false,
+ "HTMLModElement": false,
+ "HTMLOListElement": false,
+ "HTMLObjectElement": false,
+ "HTMLOptGroupElement": false,
+ "HTMLOptionElement": false,
+ "HTMLOptionsCollection": false,
+ "HTMLOutputElement": false,
+ "HTMLParagraphElement": false,
+ "HTMLParamElement": false,
+ "HTMLPictureElement": false,
+ "HTMLPreElement": false,
+ "HTMLProgressElement": false,
+ "HTMLQuoteElement": false,
+ "HTMLScriptElement": false,
+ "HTMLSelectElement": false,
+ "HTMLSlotElement": false,
+ "HTMLSourceElement": false,
+ "HTMLSpanElement": false,
+ "HTMLStyleElement": false,
+ "HTMLTableCaptionElement": false,
+ "HTMLTableCellElement": false,
+ "HTMLTableColElement": false,
+ "HTMLTableElement": false,
+ "HTMLTableRowElement": false,
+ "HTMLTableSectionElement": false,
+ "HTMLTemplateElement": false,
+ "HTMLTextAreaElement": false,
+ "HTMLTimeElement": false,
+ "HTMLTitleElement": false,
+ "HTMLTrackElement": false,
+ "HTMLUListElement": false,
+ "HTMLUnknownElement": false,
+ "HTMLVideoElement": false,
+ "HashChangeEvent": false,
+ "Headers": false,
+ "Highlight": false,
+ "HighlightRegistry": false,
+ "History": false,
+ "IDBCursor": false,
+ "IDBCursorWithValue": false,
+ "IDBDatabase": false,
+ "IDBFactory": false,
+ "IDBIndex": false,
+ "IDBKeyRange": false,
+ "IDBObjectStore": false,
+ "IDBOpenDBRequest": false,
+ "IDBRequest": false,
+ "IDBTransaction": false,
+ "IDBVersionChangeEvent": false,
+ "IIRFilterNode": false,
+ "IdentityCredential": false,
+ "IdentityCredentialError": false,
+ "IdentityProvider": false,
+ "IdleDeadline": false,
+ "IdleDetector": false,
+ "Image": false,
+ "ImageBitmap": false,
+ "ImageBitmapRenderingContext": false,
+ "ImageCapture": false,
+ "ImageData": false,
+ "ImageDecoder": false,
+ "ImageTrack": false,
+ "ImageTrackList": false,
+ "Infinity": false,
+ "Ink": false,
+ "InputDeviceCapabilities": false,
+ "InputDeviceInfo": false,
+ "InputEvent": false,
+ "Int16Array": false,
+ "Int32Array": false,
+ "Int8Array": false,
+ "IntersectionObserver": false,
+ "IntersectionObserverEntry": false,
+ "Intl": false,
+ "JSON": false,
+ "Keyboard": false,
+ "KeyboardEvent": false,
+ "KeyboardLayoutMap": false,
+ "KeyframeEffect": false,
+ "LargestContentfulPaint": false,
+ "LaunchParams": false,
+ "LaunchQueue": false,
+ "LayoutShift": false,
+ "LayoutShiftAttribution": false,
+ "LinearAccelerationSensor": false,
+ "Location": false,
+ "Lock": false,
+ "LockManager": false,
+ "MIDIAccess": false,
+ "MIDIConnectionEvent": false,
+ "MIDIInput": false,
+ "MIDIInputMap": false,
+ "MIDIMessageEvent": false,
+ "MIDIOutput": false,
+ "MIDIOutputMap": false,
+ "MIDIPort": false,
+ "Map": false,
+ "Math": false,
+ "MathMLElement": false,
+ "MediaCapabilities": false,
+ "MediaCapabilitiesInfo": false,
+ "MediaDeviceInfo": false,
+ "MediaDevices": false,
+ "MediaElementAudioSourceNode": false,
+ "MediaEncryptedEvent": false,
+ "MediaError": false,
+ "MediaKeyError": false,
+ "MediaKeyMessageEvent": false,
+ "MediaKeySession": false,
+ "MediaKeyStatusMap": false,
+ "MediaKeySystemAccess": false,
+ "MediaKeys": false,
+ "MediaList": false,
+ "MediaMetadata": false,
+ "MediaQueryList": false,
+ "MediaQueryListEvent": false,
+ "MediaRecorder": false,
+ "MediaRecorderErrorEvent": false,
+ "MediaSession": false,
+ "MediaSource": false,
+ "MediaSourceHandle": false,
+ "MediaStream": false,
+ "MediaStreamAudioDestinationNode": false,
+ "MediaStreamAudioSourceNode": false,
+ "MediaStreamEvent": false,
+ "MediaStreamTrack": false,
+ "MediaStreamTrackAudioSourceNode": false,
+ "MediaStreamTrackAudioStats": false,
+ "MediaStreamTrackEvent": false,
+ "MediaStreamTrackGenerator": false,
+ "MediaStreamTrackProcessor": false,
+ "MediaStreamTrackVideoStats": false,
+ "MessageChannel": false,
+ "MessageEvent": false,
+ "MessagePort": false,
+ "MimeType": false,
+ "MimeTypeArray": false,
+ "ModelGenericSession": false,
+ "ModelManager": false,
+ "MouseEvent": false,
+ "MutationEvent": false,
+ "MutationObserver": false,
+ "MutationRecord": false,
+ "NaN": false,
+ "NamedNodeMap": false,
+ "NavigateEvent": false,
+ "Navigation": false,
+ "NavigationActivation": false,
+ "NavigationCurrentEntryChangeEvent": false,
+ "NavigationDestination": false,
+ "NavigationHistoryEntry": false,
+ "NavigationPreloadManager": false,
+ "NavigationTransition": false,
+ "Navigator": false,
+ "NavigatorLogin": false,
+ "NavigatorManagedData": false,
+ "NavigatorUAData": false,
+ "NetworkInformation": false,
+ "Node": false,
+ "NodeFilter": false,
+ "NodeIterator": false,
+ "NodeList": false,
+ "NotRestoredReasonDetails": false,
+ "NotRestoredReasons": false,
+ "Notification": false,
+ "NotifyPaintEvent": false,
+ "Number": false,
+ "OTPCredential": false,
+ "Object": false,
+ "OfflineAudioCompletionEvent": false,
+ "OfflineAudioContext": false,
+ "OffscreenCanvas": false,
+ "OffscreenCanvasRenderingContext2D": false,
+ "Option": false,
+ "OrientationSensor": false,
+ "OscillatorNode": false,
+ "OverconstrainedError": false,
+ "PERSISTENT": false,
+ "PageRevealEvent": false,
+ "PageSwapEvent": false,
+ "PageTransitionEvent": false,
+ "PannerNode": false,
+ "PasswordCredential": false,
+ "Path2D": false,
+ "PaymentAddress": false,
+ "PaymentManager": false,
+ "PaymentMethodChangeEvent": false,
+ "PaymentRequest": false,
+ "PaymentRequestUpdateEvent": false,
+ "PaymentResponse": false,
+ "Performance": false,
+ "PerformanceElementTiming": false,
+ "PerformanceEntry": false,
+ "PerformanceEventTiming": false,
+ "PerformanceLongAnimationFrameTiming": false,
+ "PerformanceLongTaskTiming": false,
+ "PerformanceMark": false,
+ "PerformanceMeasure": false,
+ "PerformanceNavigation": false,
+ "PerformanceNavigationTiming": false,
+ "PerformanceObserver": false,
+ "PerformanceObserverEntryList": false,
+ "PerformancePaintTiming": false,
+ "PerformanceResourceTiming": false,
+ "PerformanceScriptTiming": false,
+ "PerformanceServerTiming": false,
+ "PerformanceTiming": false,
+ "PeriodicSyncManager": false,
+ "PeriodicWave": false,
+ "PermissionStatus": false,
+ "Permissions": false,
+ "PictureInPictureEvent": false,
+ "PictureInPictureWindow": false,
+ "Plugin": false,
+ "PluginArray": false,
+ "PointerEvent": false,
+ "PopStateEvent": false,
+ "Presentation": false,
+ "PresentationAvailability": false,
+ "PresentationConnection": false,
+ "PresentationConnectionAvailableEvent": false,
+ "PresentationConnectionCloseEvent": false,
+ "PresentationConnectionList": false,
+ "PresentationReceiver": false,
+ "PresentationRequest": false,
+ "PressureObserver": false,
+ "PressureRecord": false,
+ "ProcessingInstruction": false,
+ "Profiler": false,
+ "ProgressEvent": false,
+ "Promise": false,
+ "PromiseRejectionEvent": false,
+ "ProtectedAudience": false,
+ "Proxy": false,
+ "PublicKeyCredential": false,
+ "PushManager": false,
+ "PushSubscription": false,
+ "PushSubscriptionOptions": false,
+ "RTCCertificate": false,
+ "RTCDTMFSender": false,
+ "RTCDTMFToneChangeEvent": false,
+ "RTCDataChannel": false,
+ "RTCDataChannelEvent": false,
+ "RTCDtlsTransport": false,
+ "RTCEncodedAudioFrame": false,
+ "RTCEncodedVideoFrame": false,
+ "RTCError": false,
+ "RTCErrorEvent": false,
+ "RTCIceCandidate": false,
+ "RTCIceTransport": false,
+ "RTCPeerConnection": false,
+ "RTCPeerConnectionIceErrorEvent": false,
+ "RTCPeerConnectionIceEvent": false,
+ "RTCRtpReceiver": false,
+ "RTCRtpScriptTransform": false,
+ "RTCRtpSender": false,
+ "RTCRtpTransceiver": false,
+ "RTCSctpTransport": false,
+ "RTCSessionDescription": false,
+ "RTCStatsReport": false,
+ "RTCTrackEvent": false,
+ "RadioNodeList": false,
+ "Range": false,
+ "RangeError": false,
+ "ReadableByteStreamController": false,
+ "ReadableStream": false,
+ "ReadableStreamBYOBReader": false,
+ "ReadableStreamBYOBRequest": false,
+ "ReadableStreamDefaultController": false,
+ "ReadableStreamDefaultReader": false,
+ "ReferenceError": false,
+ "Reflect": false,
+ "RegExp": false,
+ "RelativeOrientationSensor": false,
+ "RemotePlayback": false,
+ "ReportingObserver": false,
+ "Request": false,
+ "ResizeObserver": false,
+ "ResizeObserverEntry": false,
+ "ResizeObserverSize": false,
+ "Response": false,
+ "SVGAElement": false,
+ "SVGAngle": false,
+ "SVGAnimateElement": false,
+ "SVGAnimateMotionElement": false,
+ "SVGAnimateTransformElement": false,
+ "SVGAnimatedAngle": false,
+ "SVGAnimatedBoolean": false,
+ "SVGAnimatedEnumeration": false,
+ "SVGAnimatedInteger": false,
+ "SVGAnimatedLength": false,
+ "SVGAnimatedLengthList": false,
+ "SVGAnimatedNumber": false,
+ "SVGAnimatedNumberList": false,
+ "SVGAnimatedPreserveAspectRatio": false,
+ "SVGAnimatedRect": false,
+ "SVGAnimatedString": false,
+ "SVGAnimatedTransformList": false,
+ "SVGAnimationElement": false,
+ "SVGCircleElement": false,
+ "SVGClipPathElement": false,
+ "SVGComponentTransferFunctionElement": false,
+ "SVGDefsElement": false,
+ "SVGDescElement": false,
+ "SVGElement": false,
+ "SVGEllipseElement": false,
+ "SVGFEBlendElement": false,
+ "SVGFEColorMatrixElement": false,
+ "SVGFEComponentTransferElement": false,
+ "SVGFECompositeElement": false,
+ "SVGFEConvolveMatrixElement": false,
+ "SVGFEDiffuseLightingElement": false,
+ "SVGFEDisplacementMapElement": false,
+ "SVGFEDistantLightElement": false,
+ "SVGFEDropShadowElement": false,
+ "SVGFEFloodElement": false,
+ "SVGFEFuncAElement": false,
+ "SVGFEFuncBElement": false,
+ "SVGFEFuncGElement": false,
+ "SVGFEFuncRElement": false,
+ "SVGFEGaussianBlurElement": false,
+ "SVGFEImageElement": false,
+ "SVGFEMergeElement": false,
+ "SVGFEMergeNodeElement": false,
+ "SVGFEMorphologyElement": false,
+ "SVGFEOffsetElement": false,
+ "SVGFEPointLightElement": false,
+ "SVGFESpecularLightingElement": false,
+ "SVGFESpotLightElement": false,
+ "SVGFETileElement": false,
+ "SVGFETurbulenceElement": false,
+ "SVGFilterElement": false,
+ "SVGForeignObjectElement": false,
+ "SVGGElement": false,
+ "SVGGeometryElement": false,
+ "SVGGradientElement": false,
+ "SVGGraphicsElement": false,
+ "SVGImageElement": false,
+ "SVGLength": false,
+ "SVGLengthList": false,
+ "SVGLineElement": false,
+ "SVGLinearGradientElement": false,
+ "SVGMPathElement": false,
+ "SVGMarkerElement": false,
+ "SVGMaskElement": false,
+ "SVGMatrix": false,
+ "SVGMetadataElement": false,
+ "SVGNumber": false,
+ "SVGNumberList": false,
+ "SVGPathElement": false,
+ "SVGPatternElement": false,
+ "SVGPoint": false,
+ "SVGPointList": false,
+ "SVGPolygonElement": false,
+ "SVGPolylineElement": false,
+ "SVGPreserveAspectRatio": false,
+ "SVGRadialGradientElement": false,
+ "SVGRect": false,
+ "SVGRectElement": false,
+ "SVGSVGElement": false,
+ "SVGScriptElement": false,
+ "SVGSetElement": false,
+ "SVGStopElement": false,
+ "SVGStringList": false,
+ "SVGStyleElement": false,
+ "SVGSwitchElement": false,
+ "SVGSymbolElement": false,
+ "SVGTSpanElement": false,
+ "SVGTextContentElement": false,
+ "SVGTextElement": false,
+ "SVGTextPathElement": false,
+ "SVGTextPositioningElement": false,
+ "SVGTitleElement": false,
+ "SVGTransform": false,
+ "SVGTransformList": false,
+ "SVGUnitTypes": false,
+ "SVGUseElement": false,
+ "SVGViewElement": false,
+ "Scheduler": false,
+ "Scheduling": false,
+ "Screen": false,
+ "ScreenDetailed": false,
+ "ScreenDetails": false,
+ "ScreenOrientation": false,
+ "ScriptProcessorNode": false,
+ "ScrollTimeline": false,
+ "SecurityPolicyViolationEvent": false,
+ "Selection": false,
+ "Sensor": false,
+ "SensorErrorEvent": false,
+ "Serial": false,
+ "SerialPort": false,
+ "ServiceWorker": false,
+ "ServiceWorkerContainer": false,
+ "ServiceWorkerRegistration": false,
+ "Set": false,
+ "ShadowRoot": false,
+ "SharedArrayBuffer": false,
+ "SharedStorage": false,
+ "SharedStorageWorklet": false,
+ "SharedWorker": false,
+ "SnapEvent": false,
+ "SourceBuffer": false,
+ "SourceBufferList": false,
+ "SpeechSynthesis": false,
+ "SpeechSynthesisErrorEvent": false,
+ "SpeechSynthesisEvent": false,
+ "SpeechSynthesisUtterance": false,
+ "SpeechSynthesisVoice": false,
+ "StaticRange": false,
+ "StereoPannerNode": false,
+ "Storage": false,
+ "StorageBucket": false,
+ "StorageBucketManager": false,
+ "StorageEvent": false,
+ "StorageManager": false,
+ "String": false,
+ "StylePropertyMap": false,
+ "StylePropertyMapReadOnly": false,
+ "StyleSheet": false,
+ "StyleSheetList": false,
+ "SubmitEvent": false,
+ "SubtleCrypto": false,
+ "Symbol": false,
+ "SyncManager": false,
+ "SyntaxError": false,
+ "TEMPORARY": false,
+ "TaskAttributionTiming": false,
+ "TaskController": false,
+ "TaskPriorityChangeEvent": false,
+ "TaskSignal": false,
+ "Text": false,
+ "TextDecoder": false,
+ "TextDecoderStream": false,
+ "TextEncoder": false,
+ "TextEncoderStream": false,
+ "TextEvent": false,
+ "TextFormat": false,
+ "TextFormatUpdateEvent": false,
+ "TextMetrics": false,
+ "TextTrack": false,
+ "TextTrackCue": false,
+ "TextTrackCueList": false,
+ "TextTrackList": false,
+ "TextUpdateEvent": false,
+ "TimeEvent": false,
+ "TimeRanges": false,
+ "ToggleEvent": false,
+ "Touch": false,
+ "TouchEvent": false,
+ "TouchList": false,
+ "TrackEvent": false,
+ "TransformStream": false,
+ "TransformStreamDefaultController": false,
+ "TransitionEvent": false,
+ "TreeWalker": false,
+ "TrustedHTML": false,
+ "TrustedScript": false,
+ "TrustedScriptURL": false,
+ "TrustedTypePolicy": false,
+ "TrustedTypePolicyFactory": false,
+ "TypeError": false,
+ "UIEvent": false,
+ "URIError": false,
+ "URL": false,
+ "URLPattern": false,
+ "URLSearchParams": false,
+ "USB": false,
+ "USBAlternateInterface": false,
+ "USBConfiguration": false,
+ "USBConnectionEvent": false,
+ "USBDevice": false,
+ "USBEndpoint": false,
+ "USBInTransferResult": false,
+ "USBInterface": false,
+ "USBIsochronousInTransferPacket": false,
+ "USBIsochronousInTransferResult": false,
+ "USBIsochronousOutTransferPacket": false,
+ "USBIsochronousOutTransferResult": false,
+ "USBOutTransferResult": false,
+ "Uint16Array": false,
+ "Uint32Array": false,
+ "Uint8Array": false,
+ "Uint8ClampedArray": false,
+ "UserActivation": false,
+ "VTTCue": false,
+ "VTTRegion": false,
+ "ValidityState": false,
+ "VideoColorSpace": false,
+ "VideoDecoder": false,
+ "VideoEncoder": false,
+ "VideoFrame": false,
+ "VideoPlaybackQuality": false,
+ "ViewTimeline": false,
+ "ViewTransition": false,
+ "ViewTransitionTypeSet": false,
+ "VirtualKeyboard": false,
+ "VirtualKeyboardGeometryChangeEvent": false,
+ "VisibilityStateEntry": false,
+ "VisualViewport": false,
+ "WGSLLanguageFeatures": false,
+ "WakeLock": false,
+ "WakeLockSentinel": false,
+ "WaveShaperNode": false,
+ "WeakMap": false,
+ "WeakRef": false,
+ "WeakSet": false,
+ "WebAssembly": false,
+ "WebGL2RenderingContext": false,
+ "WebGLActiveInfo": false,
+ "WebGLBuffer": false,
+ "WebGLContextEvent": false,
+ "WebGLFramebuffer": false,
+ "WebGLObject": false,
+ "WebGLProgram": false,
+ "WebGLQuery": false,
+ "WebGLRenderbuffer": false,
+ "WebGLRenderingContext": false,
+ "WebGLSampler": false,
+ "WebGLShader": false,
+ "WebGLShaderPrecisionFormat": false,
+ "WebGLSync": false,
+ "WebGLTexture": false,
+ "WebGLTransformFeedback": false,
+ "WebGLUniformLocation": false,
+ "WebGLVertexArrayObject": false,
+ "WebSocket": false,
+ "WebSocketError": false,
+ "WebSocketStream": false,
+ "WebTransport": false,
+ "WebTransportBidirectionalStream": false,
+ "WebTransportDatagramDuplexStream": false,
+ "WebTransportError": false,
+ "WebTransportReceiveStream": false,
+ "WebTransportSendStream": false,
+ "WheelEvent": false,
+ "Window": false,
+ "WindowControlsOverlay": false,
+ "WindowControlsOverlayGeometryChangeEvent": false,
+ "Worker": false,
+ "Worklet": false,
+ "WorkletGlobalScope": false,
+ "WritableStream": false,
+ "WritableStreamDefaultController": false,
+ "WritableStreamDefaultWriter": false,
+ "XMLDocument": false,
+ "XMLHttpRequest": false,
+ "XMLHttpRequestEventTarget": false,
+ "XMLHttpRequestUpload": false,
+ "XMLSerializer": false,
+ "XPathEvaluator": false,
+ "XPathExpression": false,
+ "XPathResult": false,
+ "XRAnchor": false,
+ "XRAnchorSet": false,
+ "XRBoundedReferenceSpace": false,
+ "XRCPUDepthInformation": false,
+ "XRCamera": false,
+ "XRDOMOverlayState": false,
+ "XRDepthInformation": false,
+ "XRFrame": false,
+ "XRHand": false,
+ "XRHitTestResult": false,
+ "XRHitTestSource": false,
+ "XRInputSource": false,
+ "XRInputSourceArray": false,
+ "XRInputSourceEvent": false,
+ "XRInputSourcesChangeEvent": false,
+ "XRJointPose": false,
+ "XRJointSpace": false,
+ "XRLayer": false,
+ "XRLightEstimate": false,
+ "XRLightProbe": false,
+ "XRPose": false,
+ "XRRay": false,
+ "XRReferenceSpace": false,
+ "XRReferenceSpaceEvent": false,
+ "XRRenderState": false,
+ "XRRigidTransform": false,
+ "XRSession": false,
+ "XRSessionEvent": false,
+ "XRSpace": false,
+ "XRSystem": false,
+ "XRTransientInputHitTestResult": false,
+ "XRTransientInputHitTestSource": false,
+ "XRView": false,
+ "XRViewerPose": false,
+ "XRViewport": false,
+ "XRWebGLBinding": false,
+ "XRWebGLDepthInformation": false,
+ "XRWebGLLayer": false,
+ "XSLTProcessor": false,
+ "addEventListener": false,
+ "ai": false,
+ "alert": false,
+ "atob": false,
+ "blur": false,
+ "btoa": false,
+ "caches": false,
+ "cancelAnimationFrame": false,
+ "cancelIdleCallback": false,
+ "clearInterval": false,
+ "clearTimeout": false,
+ "clientInformation": false,
+ "close": false,
+ "closed": false,
+ "confirm": false,
+ "console": false,
+ "cookieStore": false,
+ "createImageBitmap": false,
+ "credentialless": false,
+ "crossOriginIsolated": false,
+ "crypto": false,
+ "currentFrame": false,
+ "currentTime": false,
+ "customElements": false,
+ "decodeURI": false,
+ "decodeURIComponent": false,
+ "devicePixelRatio": false,
+ "dispatchEvent": false,
+ "document": false,
+ "documentPictureInPicture": false,
+ "encodeURI": false,
+ "encodeURIComponent": false,
+ "escape": false,
+ "eval": false,
+ "event": false,
+ "external": false,
+ "fence": false,
+ "fetch": false,
+ "fetchLater": false,
+ "find": false,
+ "focus": false,
+ "frameElement": false,
+ "frames": false,
+ "getComputedStyle": false,
+ "getScreenDetails": false,
+ "getSelection": false,
+ "globalThis": false,
+ "history": false,
+ "indexedDB": false,
+ "innerHeight": false,
+ "innerWidth": false,
+ "isFinite": false,
+ "isNaN": false,
+ "isSecureContext": false,
+ "launchQueue": false,
+ "length": false,
+ "localStorage": false,
+ "location": true,
+ "locationbar": false,
+ "matchMedia": false,
+ "menubar": false,
+ "model": false,
+ "moveBy": false,
+ "moveTo": false,
+ "name": false,
+ "navigation": false,
+ "navigator": false,
+ "offscreenBuffering": false,
+ "onabort": true,
+ "onafterprint": true,
+ "onanimationcancel": true,
+ "onanimationend": true,
+ "onanimationiteration": true,
+ "onanimationstart": true,
+ "onappinstalled": true,
+ "onauxclick": true,
+ "onbeforeinput": true,
+ "onbeforeinstallprompt": true,
+ "onbeforematch": true,
+ "onbeforeprint": true,
+ "onbeforetoggle": true,
+ "onbeforeunload": true,
+ "onbeforexrselect": true,
+ "onblur": true,
+ "oncancel": true,
+ "oncanplay": true,
+ "oncanplaythrough": true,
+ "onchange": true,
+ "onclick": true,
+ "onclose": true,
+ "oncontentvisibilityautostatechange": true,
+ "oncontextlost": true,
+ "oncontextmenu": true,
+ "oncontextrestored": true,
+ "oncopy": true,
+ "oncuechange": true,
+ "oncut": true,
+ "ondblclick": true,
+ "ondevicemotion": true,
+ "ondeviceorientation": true,
+ "ondeviceorientationabsolute": true,
+ "ondrag": true,
+ "ondragend": true,
+ "ondragenter": true,
+ "ondragleave": true,
+ "ondragover": true,
+ "ondragstart": true,
+ "ondrop": true,
+ "ondurationchange": true,
+ "onemptied": true,
+ "onended": true,
+ "onerror": true,
+ "onfocus": true,
+ "onformdata": true,
+ "ongamepadconnected": true,
+ "ongamepaddisconnected": true,
+ "ongotpointercapture": true,
+ "onhashchange": true,
+ "oninput": true,
+ "oninvalid": true,
+ "onkeydown": true,
+ "onkeypress": true,
+ "onkeyup": true,
+ "onlanguagechange": true,
+ "onload": true,
+ "onloadeddata": true,
+ "onloadedmetadata": true,
+ "onloadstart": true,
+ "onlostpointercapture": true,
+ "onmessage": true,
+ "onmessageerror": true,
+ "onmousedown": true,
+ "onmouseenter": true,
+ "onmouseleave": true,
+ "onmousemove": true,
+ "onmouseout": true,
+ "onmouseover": true,
+ "onmouseup": true,
+ "onmousewheel": true,
+ "onoffline": true,
+ "ononline": true,
+ "onpagehide": true,
+ "onpagereveal": true,
+ "onpageshow": true,
+ "onpageswap": true,
+ "onpaste": true,
+ "onpause": true,
+ "onplay": true,
+ "onplaying": true,
+ "onpointercancel": true,
+ "onpointerdown": true,
+ "onpointerenter": true,
+ "onpointerleave": true,
+ "onpointermove": true,
+ "onpointerout": true,
+ "onpointerover": true,
+ "onpointerrawupdate": true,
+ "onpointerup": true,
+ "onpopstate": true,
+ "onprogress": true,
+ "onratechange": true,
+ "onrejectionhandled": true,
+ "onreset": true,
+ "onresize": true,
+ "onscroll": true,
+ "onscrollend": true,
+ "onscrollsnapchange": true,
+ "onscrollsnapchanging": true,
+ "onsearch": true,
+ "onsecuritypolicyviolation": true,
+ "onseeked": true,
+ "onseeking": true,
+ "onselect": true,
+ "onselectionchange": true,
+ "onselectstart": true,
+ "onslotchange": true,
+ "onstalled": true,
+ "onstorage": true,
+ "onsubmit": true,
+ "onsuspend": true,
+ "ontimeupdate": true,
+ "ontoggle": true,
+ "ontransitioncancel": true,
+ "ontransitionend": true,
+ "ontransitionrun": true,
+ "ontransitionstart": true,
+ "onunhandledrejection": true,
+ "onunload": true,
+ "onvolumechange": true,
+ "onwaiting": true,
+ "onwheel": true,
+ "open": false,
+ "opener": false,
+ "origin": false,
+ "originAgentCluster": false,
+ "outerHeight": false,
+ "outerWidth": false,
+ "pageXOffset": false,
+ "pageYOffset": false,
+ "parent": false,
+ "parseFloat": false,
+ "parseInt": false,
+ "performance": false,
+ "personalbar": false,
+ "postMessage": false,
+ "print": false,
+ "prompt": false,
+ "queryLocalFonts": false,
+ "queueMicrotask": false,
+ "registerProcessor": false,
+ "removeEventListener": false,
+ "reportError": false,
+ "requestAnimationFrame": false,
+ "requestIdleCallback": false,
+ "resizeBy": false,
+ "resizeTo": false,
+ "sampleRate": false,
+ "scheduler": false,
+ "screen": false,
+ "screenLeft": false,
+ "screenTop": false,
+ "screenX": false,
+ "screenY": false,
+ "scroll": false,
+ "scrollBy": false,
+ "scrollTo": false,
+ "scrollX": false,
+ "scrollY": false,
+ "scrollbars": false,
+ "self": false,
+ "sessionStorage": false,
+ "setInterval": false,
+ "setTimeout": false,
+ "sharedStorage": false,
+ "showDirectoryPicker": false,
+ "showOpenFilePicker": false,
+ "showSaveFilePicker": false,
+ "speechSynthesis": false,
+ "status": false,
+ "statusbar": false,
+ "stop": false,
+ "structuredClone": false,
+ "styleMedia": false,
+ "toolbar": false,
+ "top": false,
+ "trustedTypes": false,
+ "undefined": false,
+ "unescape": false,
+ "visualViewport": false,
+ "window": false,
+ },
+ "parser": "espree@10.4.0",
+ "parserOptions": {
+ "ecmaFeatures": {
+ "jsx": true,
+ },
+ "sourceType": "module",
},
- "ecmaVersion": "latest",
"sourceType": "module",
},
+ "linterOptions": {
+ "reportUnusedDisableDirectives": 2,
+ },
"plugins": [
- "@stylistic",
- "switch-case",
- "gettext",
+ "@",
"import",
+ "gettext",
+ "switch-case",
+ "@stylistic",
"jsdoc",
- "prettier",
+ "prettier:eslint-plugin-prettier@5.2.3",
"react",
- "jsx-a11y",
- "react-hooks",
+ "react-hooks:eslint-plugin-react-hooks",
+ "jsx-a11y:eslint-plugin-jsx-a11y@6.10.2",
],
- "reportUnusedDisableDirectives": true,
+ "processor": undefined,
"rules": {
"@babel/object-curly-spacing": [
- "off",
+ 0,
],
"@babel/semi": [
- "off",
+ 0,
],
"@stylistic/padding-line-between-statements": [
- "warn",
+ 1,
{
"blankLine": "always",
"next": "return",
@@ -104,7 +1294,7 @@ exports[`keeps rules stable 1`] = `
},
],
"@stylistic/spaced-comment": [
- "warn",
+ 1,
"always",
{
"block": {
@@ -131,108 +1321,114 @@ exports[`keeps rules stable 1`] = `
},
],
"@typescript-eslint/block-spacing": [
- "off",
+ 0,
],
"@typescript-eslint/brace-style": [
- "off",
+ 0,
],
"@typescript-eslint/comma-dangle": [
- "off",
+ 0,
],
"@typescript-eslint/comma-spacing": [
- "off",
+ 0,
],
"@typescript-eslint/func-call-spacing": [
- "off",
+ 0,
],
"@typescript-eslint/indent": [
- "off",
+ 0,
],
"@typescript-eslint/key-spacing": [
- "off",
+ 0,
],
"@typescript-eslint/keyword-spacing": [
- "off",
+ 0,
],
"@typescript-eslint/lines-around-comment": [
0,
],
"@typescript-eslint/member-delimiter-style": [
- "off",
+ 0,
],
"@typescript-eslint/no-extra-parens": [
- "off",
+ 0,
],
"@typescript-eslint/no-extra-semi": [
- "off",
+ 0,
],
"@typescript-eslint/object-curly-spacing": [
- "off",
+ 0,
],
"@typescript-eslint/quotes": [
0,
],
"@typescript-eslint/semi": [
- "off",
+ 0,
],
"@typescript-eslint/space-before-blocks": [
- "off",
+ 0,
],
"@typescript-eslint/space-before-function-paren": [
- "off",
+ 0,
],
"@typescript-eslint/space-infix-ops": [
- "off",
+ 0,
],
"@typescript-eslint/type-annotation-spacing": [
- "off",
+ 0,
],
"array-bracket-newline": [
- "off",
+ 0,
],
"array-bracket-spacing": [
- "off",
+ 0,
],
"array-callback-return": [
- "error",
+ 2,
+ {
+ "allowImplicit": false,
+ "allowVoid": false,
+ "checkForEach": false,
+ },
],
"array-element-newline": [
- "off",
+ 0,
],
"arrow-body-style": [
- "off",
+ 2,
"as-needed",
{
"requireReturnForObjectLiteral": false,
},
],
"arrow-parens": [
- "off",
+ 0,
],
"arrow-spacing": [
- "off",
+ 0,
],
"babel/object-curly-spacing": [
- "off",
+ 0,
],
"babel/quotes": [
0,
],
"babel/semi": [
- "off",
+ 0,
],
"block-scoped-var": [
- "error",
+ 2,
],
"block-spacing": [
- "off",
+ 0,
],
"brace-style": [
- "off",
+ 0,
],
"camelcase": [
- "error",
+ 2,
{
+ "allow": [],
"ignoreDestructuring": false,
"ignoreGlobals": false,
"ignoreImports": false,
@@ -240,133 +1436,137 @@ exports[`keeps rules stable 1`] = `
},
],
"comma-dangle": [
- "off",
+ 0,
],
"comma-spacing": [
- "off",
+ 0,
],
"comma-style": [
- "off",
+ 0,
],
"complexity": [
- "error",
+ 2,
+ 20,
],
"computed-property-spacing": [
- "off",
+ 0,
],
"consistent-return": [
- "error",
+ 2,
+ {
+ "treatUndefinedAsUnspecified": false,
+ },
],
"constructor-super": [
- "error",
+ 2,
],
"curly": [
- "error",
+ 2,
"all",
],
"default-case": [
- "error",
+ 2,
+ {},
],
"default-param-last": [
- "error",
+ 2,
],
"dot-location": [
- "off",
+ 0,
],
"dot-notation": [
- "error",
+ 2,
{
"allowKeywords": true,
"allowPattern": "",
},
],
"eol-last": [
- "off",
+ 0,
],
"eqeqeq": [
- "error",
+ 2,
"smart",
],
"flowtype/boolean-style": [
- "off",
+ 0,
],
"flowtype/delimiter-dangle": [
- "off",
+ 0,
],
"flowtype/generic-spacing": [
- "off",
+ 0,
],
"flowtype/object-type-curly-spacing": [
- "off",
+ 0,
],
"flowtype/object-type-delimiter": [
- "off",
+ 0,
],
"flowtype/quotes": [
- "off",
+ 0,
],
"flowtype/semi": [
- "off",
+ 0,
],
"flowtype/space-after-type-colon": [
- "off",
+ 0,
],
"flowtype/space-before-generic-bracket": [
- "off",
+ 0,
],
"flowtype/space-before-type-colon": [
- "off",
+ 0,
],
"flowtype/union-intersection-spacing": [
- "off",
+ 0,
],
"for-direction": [
- "error",
+ 2,
],
"func-call-spacing": [
- "off",
+ 0,
],
"func-names": [
- "error",
+ 2,
+ "always",
+ {},
],
"function-call-argument-newline": [
- "off",
+ 0,
],
"function-paren-newline": [
- "off",
+ 0,
],
"generator-star": [
- "off",
+ 0,
],
"generator-star-spacing": [
- "off",
+ 0,
],
"getter-return": [
- "error",
+ 2,
{
"allowImplicit": true,
},
],
"gettext/no-variable-string": [
- "error",
+ 2,
],
"guard-for-in": [
- "error",
+ 2,
],
"implicit-arrow-linebreak": [
- "off",
+ 0,
],
"import/default": [
- "off",
+ 0,
],
"import/dynamic-import-chunkname": [
- "error",
- ],
- "import/export": [
2,
],
"import/extensions": [
- "error",
+ 2,
{
"js": "never",
"json": "always",
@@ -375,47 +1575,35 @@ exports[`keeps rules stable 1`] = `
"tsx": "never",
},
],
- "import/named": [
- 2,
- ],
- "import/namespace": [
- 2,
- ],
"import/newline-after-import": [
- "warn",
+ 1,
],
"import/no-absolute-path": [
- "error",
+ 2,
],
"import/no-amd": [
- "error",
+ 2,
],
"import/no-duplicates": [
- "warn",
+ 1,
{
"prefer-inline": true,
},
],
"import/no-dynamic-require": [
- "error",
+ 2,
],
"import/no-extraneous-dependencies": [
- "error",
+ 2,
],
"import/no-mutable-exports": [
- "error",
- ],
- "import/no-named-as-default": [
- 1,
- ],
- "import/no-named-as-default-member": [
- 1,
+ 2,
],
"import/no-named-default": [
- "error",
+ 2,
],
"import/no-unresolved": [
- "error",
+ 2,
{
"caseSensitive": true,
"caseSensitiveStrict": false,
@@ -423,10 +1611,10 @@ exports[`keeps rules stable 1`] = `
},
],
"import/no-webpack-loader-syntax": [
- "error",
+ 2,
],
"import/order": [
- "warn",
+ 1,
{
"alphabetize": {
"caseInsensitive": true,
@@ -450,73 +1638,73 @@ exports[`keeps rules stable 1`] = `
},
],
"indent": [
- "off",
+ 0,
],
"indent-legacy": [
- "off",
+ 0,
],
"jsdoc/check-alignment": [
- "error",
+ 2,
],
"jsdoc/check-param-names": [
- "error",
+ 2,
],
"jsdoc/check-syntax": [
- "error",
+ 2,
],
"jsdoc/check-tag-names": [
- "error",
+ 2,
],
"jsdoc/implements-on-classes": [
- "error",
+ 2,
],
"jsdoc/require-param-name": [
- "error",
+ 2,
],
"jsdoc/require-param-type": [
- "error",
+ 2,
],
"jsdoc/require-returns-check": [
- "error",
+ 2,
],
"jsdoc/require-returns-type": [
- "error",
+ 2,
],
"jsx-a11y/alt-text": [
- "error",
+ 2,
],
"jsx-a11y/anchor-ambiguous-text": [
- "off",
+ 0,
],
"jsx-a11y/anchor-has-content": [
- "error",
+ 2,
],
"jsx-a11y/anchor-is-valid": [
- "error",
+ 2,
],
"jsx-a11y/aria-activedescendant-has-tabindex": [
- "error",
+ 2,
],
"jsx-a11y/aria-props": [
- "error",
+ 2,
],
"jsx-a11y/aria-proptypes": [
- "error",
+ 2,
],
"jsx-a11y/aria-role": [
- "error",
+ 2,
],
"jsx-a11y/aria-unsupported-elements": [
- "error",
+ 2,
],
"jsx-a11y/autocomplete-valid": [
- "error",
+ 2,
],
"jsx-a11y/click-events-have-key-events": [
- "error",
+ 2,
],
"jsx-a11y/control-has-associated-label": [
- "off",
+ 0,
{
"ignoreElements": [
"audio",
@@ -546,19 +1734,19 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/heading-has-content": [
- "error",
+ 2,
],
"jsx-a11y/html-has-lang": [
- "error",
+ 2,
],
"jsx-a11y/iframe-has-title": [
- "error",
+ 2,
],
"jsx-a11y/img-redundant-alt": [
- "error",
+ 2,
],
"jsx-a11y/interactive-supports-focus": [
- "error",
+ 2,
{
"tabbable": [
"button",
@@ -572,28 +1760,28 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/label-has-associated-control": [
- "error",
+ 2,
],
"jsx-a11y/label-has-for": [
- "off",
+ 0,
],
"jsx-a11y/media-has-caption": [
- "error",
+ 2,
],
"jsx-a11y/mouse-events-have-key-events": [
- "error",
+ 2,
],
"jsx-a11y/no-access-key": [
- "error",
+ 2,
],
"jsx-a11y/no-autofocus": [
- "error",
+ 2,
],
"jsx-a11y/no-distracting-elements": [
- "error",
+ 2,
],
"jsx-a11y/no-interactive-element-to-noninteractive-role": [
- "error",
+ 2,
{
"canvas": [
"img",
@@ -605,7 +1793,7 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/no-noninteractive-element-interactions": [
- "error",
+ 2,
{
"alert": [
"onKeyUp",
@@ -642,7 +1830,7 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/no-noninteractive-element-to-interactive-role": [
- "error",
+ 2,
{
"fieldset": [
"radiogroup",
@@ -684,7 +1872,7 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/no-noninteractive-tabindex": [
- "error",
+ 2,
{
"allowExpressionValues": true,
"roles": [
@@ -694,13 +1882,13 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/no-onchange": [
- "off",
+ 0,
],
"jsx-a11y/no-redundant-roles": [
- "error",
+ 2,
],
"jsx-a11y/no-static-element-interactions": [
- "error",
+ 2,
{
"allowExpressionValues": true,
"handlers": [
@@ -714,47 +1902,47 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/role-has-required-aria-props": [
- "error",
+ 2,
],
"jsx-a11y/role-supports-aria-props": [
- "error",
+ 2,
],
"jsx-a11y/scope": [
- "error",
+ 2,
],
"jsx-a11y/tabindex-no-positive": [
- "error",
+ 2,
],
"jsx-quotes": [
- "off",
+ 0,
],
"key-spacing": [
- "off",
+ 0,
],
"keyword-spacing": [
- "off",
+ 0,
],
"linebreak-style": [
- "off",
+ 0,
],
"lines-around-comment": [
0,
],
"max-classes-per-file": [
- "error",
+ 2,
1,
],
"max-len": [
0,
],
"max-statements-per-line": [
- "off",
+ 0,
],
"multiline-ternary": [
- "off",
+ 0,
],
"new-cap": [
- "error",
+ 2,
{
"capIsNew": false,
"capIsNewExceptions": [
@@ -768,104 +1956,122 @@ exports[`keeps rules stable 1`] = `
},
],
"new-parens": [
- "off",
+ 0,
],
"newline-per-chained-call": [
- "off",
+ 0,
],
"no-alert": [
- "warn",
+ 1,
],
"no-array-constructor": [
- "error",
+ 2,
],
"no-arrow-condition": [
- "off",
+ 0,
],
"no-async-promise-executor": [
- "error",
+ 2,
],
"no-await-in-loop": [
- "error",
+ 2,
],
"no-bitwise": [
- "error",
+ 2,
+ {
+ "allow": [],
+ "int32Hint": false,
+ },
],
"no-caller": [
- "error",
+ 2,
],
"no-case-declarations": [
- "error",
+ 2,
],
"no-class-assign": [
- "error",
+ 2,
],
"no-comma-dangle": [
- "off",
+ 0,
],
"no-compare-neg-zero": [
- "error",
+ 2,
],
"no-cond-assign": [
- "error",
+ 2,
"always",
],
"no-confusing-arrow": [
0,
],
"no-console": [
- "warn",
+ 1,
+ {},
],
"no-const-assign": [
- "error",
+ 2,
+ ],
+ "no-constant-binary-expression": [
+ 2,
],
"no-constant-condition": [
- "warn",
+ 1,
+ {
+ "checkLoops": "allExceptWhileTrue",
+ },
],
"no-continue": [
- "error",
+ 2,
],
"no-control-regex": [
- "error",
+ 2,
],
"no-debugger": [
- "error",
+ 2,
],
"no-delete-var": [
- "error",
+ 2,
],
"no-dupe-args": [
- "error",
+ 2,
],
"no-dupe-class-members": [
- "error",
+ 2,
],
"no-dupe-else-if": [
- "error",
+ 2,
],
"no-dupe-keys": [
- "error",
+ 2,
],
"no-duplicate-case": [
- "error",
+ 2,
],
"no-duplicate-imports": [
- "error",
+ 2,
+ {
+ "allowSeparateTypeImports": false,
+ "includeExports": false,
+ },
],
"no-else-return": [
- "error",
+ 2,
{
"allowElseIf": true,
},
],
"no-empty": [
- "error",
+ 2,
+ {
+ "allowEmptyCatch": false,
+ },
],
"no-empty-character-class": [
- "error",
+ 2,
],
"no-empty-function": [
- "error",
+ 2,
{
"allow": [
"arrowFunctions",
@@ -875,161 +2081,198 @@ exports[`keeps rules stable 1`] = `
},
],
"no-empty-pattern": [
- "error",
+ 2,
+ {
+ "allowObjectPatternsAsParameters": false,
+ },
+ ],
+ "no-empty-static-block": [
+ 2,
],
"no-eval": [
- "error",
+ 2,
+ {
+ "allowIndirect": false,
+ },
],
"no-ex-assign": [
- "error",
+ 2,
],
"no-extend-native": [
- "error",
+ 2,
+ {
+ "exceptions": [],
+ },
],
"no-extra-bind": [
- "error",
+ 2,
],
"no-extra-boolean-cast": [
- "error",
+ 2,
+ {},
],
"no-extra-label": [
- "error",
+ 2,
],
"no-extra-parens": [
- "off",
+ 0,
],
"no-extra-semi": [
- "off",
+ 0,
],
"no-fallthrough": [
- "error",
+ 2,
+ {
+ "allowEmptyCase": false,
+ "reportUnusedFallthroughComment": false,
+ },
],
"no-floating-decimal": [
- "off",
+ 0,
],
"no-func-assign": [
- "error",
+ 2,
],
"no-global-assign": [
- "error",
+ 2,
+ {
+ "exceptions": [],
+ },
],
"no-implied-eval": [
- "error",
+ 2,
],
"no-import-assign": [
- "error",
- ],
- "no-inner-declarations": [
- "error",
+ 2,
],
"no-invalid-regexp": [
- "error",
+ 2,
+ {},
],
"no-irregular-whitespace": [
- "error",
+ 2,
+ {
+ "skipComments": false,
+ "skipJSXText": false,
+ "skipRegExps": false,
+ "skipStrings": true,
+ "skipTemplates": false,
+ },
],
"no-iterator": [
- "error",
+ 2,
],
"no-label-var": [
- "error",
+ 2,
],
"no-labels": [
- "error",
+ 2,
{
"allowLoop": false,
"allowSwitch": false,
},
],
"no-lone-blocks": [
- "error",
+ 2,
],
"no-lonely-if": [
- "error",
+ 2,
],
"no-loop-func": [
- "error",
+ 2,
],
"no-loss-of-precision": [
- "error",
+ 2,
],
"no-misleading-character-class": [
- "error",
+ 2,
+ {
+ "allowEscape": false,
+ },
],
"no-mixed-operators": [
0,
],
"no-mixed-spaces-and-tabs": [
- "off",
+ 0,
],
"no-multi-assign": [
- "error",
+ 2,
+ {
+ "ignoreNonDeclaration": false,
+ },
],
"no-multi-spaces": [
- "off",
+ 0,
],
"no-multi-str": [
- "error",
+ 2,
],
"no-multiple-empty-lines": [
- "off",
+ 0,
],
"no-nested-ternary": [
- "error",
+ 2,
],
"no-new": [
- "error",
+ 2,
],
"no-new-func": [
- "error",
+ 2,
],
- "no-new-symbol": [
- "error",
+ "no-new-native-nonconstructor": [
+ 2,
],
"no-new-wrappers": [
- "error",
+ 2,
],
"no-nonoctal-decimal-escape": [
- "error",
+ 2,
],
"no-obj-calls": [
- "error",
+ 2,
],
"no-object-constructor": [
- "error",
+ 2,
],
"no-octal": [
- "error",
+ 2,
],
"no-octal-escape": [
- "error",
+ 2,
],
"no-param-reassign": [
- "error",
+ 2,
{
"props": false,
},
],
"no-plusplus": [
- "error",
+ 2,
+ {
+ "allowForLoopAfterthoughts": false,
+ },
],
"no-proto": [
- "error",
+ 2,
],
"no-prototype-builtins": [
- "off",
+ 0,
],
"no-redeclare": [
- "error",
+ 2,
+ {
+ "builtinGlobals": true,
+ },
],
"no-regex-spaces": [
- "error",
+ 2,
],
"no-reserved-keys": [
- "off",
+ 0,
],
"no-restricted-globals": [
- "error",
+ 2,
"isFinite",
"isNaN",
"addEventListener",
@@ -1092,10 +2335,10 @@ exports[`keeps rules stable 1`] = `
"top",
],
"no-restricted-imports": [
- "error",
+ 2,
],
"no-restricted-properties": [
- "error",
+ 2,
{
"message": "arguments.callee is deprecated",
"object": "arguments",
@@ -1146,7 +2389,7 @@ exports[`keeps rules stable 1`] = `
},
],
"no-restricted-syntax": [
- "error",
+ 2,
{
"message": "for..in loops iterate over the entire prototype chain, which is virtually never what you want. Use Object.{keys,values,entries}, and iterate over the resulting array.",
"selector": "ForInStatement",
@@ -1173,65 +2416,81 @@ exports[`keeps rules stable 1`] = `
},
],
"no-return-assign": [
- "error",
+ 2,
"except-parens",
],
"no-script-url": [
- "error",
+ 2,
],
"no-self-assign": [
- "error",
+ 2,
+ {
+ "props": true,
+ },
],
"no-self-compare": [
- "error",
+ 2,
],
"no-sequences": [
- "error",
+ 2,
+ {
+ "allowInParentheses": true,
+ },
],
"no-setter-return": [
- "error",
+ 2,
],
"no-shadow": [
- "error",
+ 2,
{
+ "allow": [],
"builtinGlobals": false,
"hoist": "all",
+ "ignoreFunctionTypeParameterNameValueShadow": true,
"ignoreOnInitialization": false,
+ "ignoreTypeValueShadow": true,
},
],
"no-shadow-restricted-names": [
- "error",
+ 2,
+ {
+ "reportGlobalThis": false,
+ },
],
"no-space-before-semi": [
- "off",
+ 0,
],
"no-spaced-func": [
- "off",
+ 0,
],
"no-sparse-arrays": [
- "error",
+ 2,
],
"no-tabs": [
0,
],
"no-template-curly-in-string": [
- "error",
+ 2,
],
"no-this-before-super": [
- "error",
+ 2,
],
"no-trailing-spaces": [
- "off",
+ 0,
],
"no-undef": [
- "error",
+ 2,
+ {
+ "typeof": false,
+ },
],
"no-undef-init": [
- "error",
+ 2,
],
"no-underscore-dangle": [
- "error",
+ 2,
{
+ "allow": [],
"allowAfterSuper": true,
"allowAfterThis": true,
"allowAfterThisConstructor": false,
@@ -1246,31 +2505,47 @@ exports[`keeps rules stable 1`] = `
0,
],
"no-unneeded-ternary": [
- "error",
+ 2,
{
"defaultAssignment": false,
},
],
"no-unreachable": [
- "error",
+ 2,
],
"no-unsafe-finally": [
- "error",
+ 2,
],
"no-unsafe-negation": [
- "error",
+ 2,
+ {
+ "enforceForOrderingRelations": false,
+ },
],
"no-unsafe-optional-chaining": [
- "error",
+ 2,
+ {
+ "disallowArithmeticOperators": false,
+ },
],
"no-unused-expressions": [
- "error",
+ 2,
+ {
+ "allowShortCircuit": false,
+ "allowTaggedTemplates": false,
+ "allowTernary": false,
+ "enforceForJSX": false,
+ "ignoreDirectives": false,
+ },
],
"no-unused-labels": [
- "error",
+ 2,
+ ],
+ "no-unused-private-class-members": [
+ 2,
],
"no-unused-vars": [
- "error",
+ 2,
{
"args": "after-used",
"ignoreRestSiblings": true,
@@ -1278,29 +2553,35 @@ exports[`keeps rules stable 1`] = `
},
],
"no-use-before-define": [
- "error",
+ 2,
"nofunc",
],
"no-useless-backreference": [
- "error",
+ 2,
],
"no-useless-catch": [
- "error",
+ 2,
],
"no-useless-computed-key": [
- "error",
+ 2,
+ {
+ "enforceForClassMembers": true,
+ },
],
"no-useless-concat": [
- "error",
+ 2,
],
"no-useless-constructor": [
- "error",
+ 2,
],
"no-useless-escape": [
- "error",
+ 2,
+ {
+ "allowRegexCharacters": [],
+ },
],
"no-useless-rename": [
- "error",
+ 2,
{
"ignoreDestructuring": false,
"ignoreExport": false,
@@ -1308,40 +2589,40 @@ exports[`keeps rules stable 1`] = `
},
],
"no-useless-return": [
- "error",
+ 2,
],
"no-var": [
- "error",
+ 2,
],
"no-void": [
- "error",
+ 2,
{
"allowAsStatement": true,
},
],
"no-whitespace-before-property": [
- "off",
+ 0,
],
"no-with": [
- "error",
+ 2,
],
"no-wrap-func": [
- "off",
+ 0,
],
"nonblock-statement-body-position": [
- "off",
+ 0,
],
"object-curly-newline": [
- "off",
+ 0,
],
"object-curly-spacing": [
- "off",
+ 0,
],
"object-property-newline": [
- "off",
+ 0,
],
"object-shorthand": [
- "error",
+ 2,
"always",
{
"avoidQuotes": true,
@@ -1349,47 +2630,47 @@ exports[`keeps rules stable 1`] = `
},
],
"one-var": [
- "error",
+ 2,
"never",
],
"one-var-declaration-per-line": [
- "off",
+ 0,
],
"operator-assignment": [
- "error",
+ 2,
"always",
],
"operator-linebreak": [
- "off",
+ 0,
],
"padded-blocks": [
- "off",
+ 0,
],
"prefer-arrow-callback": [
- "off",
+ 2,
{
"allowNamedFunctions": false,
"allowUnboundThis": true,
},
],
"prefer-const": [
- "error",
+ 2,
{
"destructuring": "any",
"ignoreReadBeforeAssign": true,
},
],
"prefer-numeric-literals": [
- "error",
+ 2,
],
"prefer-rest-params": [
- "error",
+ 2,
],
"prefer-template": [
- "error",
+ 2,
],
"prettier/prettier": [
- "warn",
+ 1,
{
"printWidth": 100,
"singleQuote": true,
@@ -1400,37 +2681,38 @@ exports[`keeps rules stable 1`] = `
},
],
"quote-props": [
- "off",
+ 0,
],
"quotes": [
0,
],
"radix": [
- "error",
+ 2,
+ "always",
],
"react-hooks/exhaustive-deps": [
- "error",
+ 2,
],
"react-hooks/rules-of-hooks": [
- "error",
+ 2,
],
"react/destructuring-assignment": [
- "error",
+ 2,
],
"react/display-name": [
- "off",
+ 0,
],
"react/jsx-child-element-spacing": [
- "off",
+ 0,
],
"react/jsx-closing-bracket-location": [
- "off",
+ 0,
],
"react/jsx-closing-tag-location": [
- "off",
+ 0,
],
"react/jsx-curly-brace-presence": [
- "error",
+ 2,
{
"children": "never",
"propElementValues": "always",
@@ -1438,38 +2720,38 @@ exports[`keeps rules stable 1`] = `
},
],
"react/jsx-curly-newline": [
- "off",
+ 0,
],
"react/jsx-curly-spacing": [
- "off",
+ 0,
],
"react/jsx-equals-spacing": [
- "off",
+ 0,
],
"react/jsx-first-prop-new-line": [
- "off",
+ 0,
],
"react/jsx-fragments": [
- "error",
+ 2,
"syntax",
],
"react/jsx-indent": [
- "off",
+ 0,
],
"react/jsx-indent-props": [
- "off",
+ 0,
],
"react/jsx-key": [
2,
],
"react/jsx-max-props-per-line": [
- "off",
+ 0,
],
"react/jsx-newline": [
- "off",
+ 0,
],
"react/jsx-no-bind": [
- "error",
+ 2,
{
"allowArrowFunctions": true,
"allowBind": false,
@@ -1491,25 +2773,25 @@ exports[`keeps rules stable 1`] = `
2,
],
"react/jsx-no-useless-fragment": [
- "error",
+ 2,
],
"react/jsx-one-expression-per-line": [
- "off",
+ 0,
],
"react/jsx-pascal-case": [
- "error",
+ 2,
],
"react/jsx-props-no-multi-spaces": [
- "off",
+ 0,
],
"react/jsx-sort-props": [
- "warn",
+ 1,
],
"react/jsx-space-before-closing": [
- "off",
+ 0,
],
"react/jsx-tag-spacing": [
- "off",
+ 0,
],
"react/jsx-uses-react": [
2,
@@ -1518,7 +2800,7 @@ exports[`keeps rules stable 1`] = `
2,
],
"react/jsx-wrap-multilines": [
- "off",
+ 0,
],
"react/no-children-prop": [
2,
@@ -1539,7 +2821,7 @@ exports[`keeps rules stable 1`] = `
2,
],
"react/no-redundant-should-component-update": [
- "error",
+ 2,
],
"react/no-render-return-value": [
2,
@@ -1548,10 +2830,10 @@ exports[`keeps rules stable 1`] = `
2,
],
"react/no-this-in-sfc": [
- "error",
+ 2,
],
"react/no-unescaped-entities": [
- "error",
+ 2,
{
"forbid": [
{
@@ -1573,19 +2855,19 @@ exports[`keeps rules stable 1`] = `
2,
],
"react/no-unsafe": [
- "error",
+ 2,
],
"react/no-unused-state": [
- "error",
+ 2,
],
"react/prefer-es6-class": [
- "error",
+ 2,
],
"react/prefer-read-only-props": [
- "error",
+ 2,
],
"react/prop-types": [
- "off",
+ 0,
],
"react/react-in-jsx-scope": [
2,
@@ -1594,264 +2876,277 @@ exports[`keeps rules stable 1`] = `
2,
],
"react/self-closing-comp": [
- "error",
+ 2,
],
"react/style-prop-object": [
- "error",
+ 2,
],
"require-yield": [
- "error",
+ 2,
],
"rest-spread-spacing": [
- "off",
+ 0,
],
"semi": [
- "off",
+ 0,
],
"semi-spacing": [
- "off",
+ 0,
],
"semi-style": [
- "off",
+ 0,
],
"sort-imports": [
- "error",
+ 2,
{
"allowSeparatedGroups": false,
"ignoreCase": true,
"ignoreDeclarationSort": true,
"ignoreMemberSort": false,
+ "memberSyntaxSortOrder": [
+ "none",
+ "all",
+ "multiple",
+ "single",
+ ],
},
],
"space-after-function-name": [
- "off",
+ 0,
],
"space-after-keywords": [
- "off",
+ 0,
],
"space-before-blocks": [
- "off",
+ 0,
],
"space-before-function-paren": [
- "off",
+ 0,
],
"space-before-function-parentheses": [
- "off",
+ 0,
],
"space-before-keywords": [
- "off",
+ 0,
],
"space-in-brackets": [
- "off",
+ 0,
],
"space-in-parens": [
- "off",
+ 0,
],
"space-infix-ops": [
- "off",
+ 0,
],
"space-return-throw-case": [
- "off",
+ 0,
],
"space-unary-ops": [
- "off",
+ 0,
],
"space-unary-word-ops": [
- "off",
+ 0,
],
"standard/array-bracket-even-spacing": [
- "off",
+ 0,
],
"standard/computed-property-even-spacing": [
- "off",
+ 0,
],
"standard/object-curly-even-spacing": [
- "off",
+ 0,
],
"strict": [
- "error",
+ 2,
+ "safe",
],
"switch-case/newline-between-switch-case": [
- "warn",
+ 1,
"always",
{
"fallthrough": "never",
},
],
"switch-colon-spacing": [
- "off",
+ 0,
],
"symbol-description": [
- "error",
+ 2,
],
"template-curly-spacing": [
- "off",
+ 0,
],
"template-tag-spacing": [
- "off",
+ 0,
],
"unicorn/empty-brace-spaces": [
- "off",
+ 0,
],
"unicorn/no-nested-ternary": [
- "off",
+ 0,
],
"unicorn/number-literal-case": [
- "off",
+ 0,
],
"unicorn/template-indent": [
0,
],
"use-isnan": [
- "error",
+ 2,
+ {
+ "enforceForIndexOf": false,
+ "enforceForSwitchCase": true,
+ },
],
"valid-jsdoc": [
- "off",
+ 0,
{
"requireParamDescription": false,
- "requireParamType": true,
- "requireReturn": true,
"requireReturnDescription": false,
- "requireReturnType": true,
},
],
"valid-typeof": [
- "error",
+ 2,
{
"requireStringLiterals": true,
},
],
"vars-on-top": [
- "error",
+ 2,
],
"vue/array-bracket-newline": [
- "off",
+ 0,
],
"vue/array-bracket-spacing": [
- "off",
+ 0,
],
"vue/array-element-newline": [
- "off",
+ 0,
],
"vue/arrow-spacing": [
- "off",
+ 0,
],
"vue/block-spacing": [
- "off",
+ 0,
],
"vue/block-tag-newline": [
- "off",
+ 0,
],
"vue/brace-style": [
- "off",
+ 0,
],
"vue/comma-dangle": [
- "off",
+ 0,
],
"vue/comma-spacing": [
- "off",
+ 0,
],
"vue/comma-style": [
- "off",
+ 0,
],
"vue/dot-location": [
- "off",
+ 0,
],
"vue/func-call-spacing": [
- "off",
+ 0,
],
"vue/html-closing-bracket-newline": [
- "off",
+ 0,
],
"vue/html-closing-bracket-spacing": [
- "off",
+ 0,
],
"vue/html-end-tags": [
- "off",
+ 0,
],
"vue/html-indent": [
- "off",
+ 0,
],
"vue/html-quotes": [
- "off",
+ 0,
],
"vue/html-self-closing": [
0,
],
"vue/key-spacing": [
- "off",
+ 0,
],
"vue/keyword-spacing": [
- "off",
+ 0,
],
"vue/max-attributes-per-line": [
- "off",
+ 0,
],
"vue/max-len": [
0,
],
"vue/multiline-html-element-content-newline": [
- "off",
+ 0,
],
"vue/multiline-ternary": [
- "off",
+ 0,
],
"vue/mustache-interpolation-spacing": [
- "off",
+ 0,
],
"vue/no-extra-parens": [
- "off",
+ 0,
],
"vue/no-multi-spaces": [
- "off",
+ 0,
],
"vue/no-spaces-around-equal-signs-in-attribute": [
- "off",
+ 0,
],
"vue/object-curly-newline": [
- "off",
+ 0,
],
"vue/object-curly-spacing": [
- "off",
+ 0,
],
"vue/object-property-newline": [
- "off",
+ 0,
],
"vue/operator-linebreak": [
- "off",
+ 0,
],
"vue/quote-props": [
- "off",
+ 0,
],
"vue/script-indent": [
- "off",
+ 0,
],
"vue/singleline-html-element-content-newline": [
- "off",
+ 0,
],
"vue/space-in-parens": [
- "off",
+ 0,
],
"vue/space-infix-ops": [
- "off",
+ 0,
],
"vue/space-unary-ops": [
- "off",
+ 0,
],
"vue/template-curly-spacing": [
- "off",
+ 0,
],
"wrap-iife": [
- "off",
+ 0,
],
"wrap-regex": [
- "off",
+ 0,
],
"yield-star-spacing": [
- "off",
+ 0,
],
"yoda": [
- "error",
+ 2,
+ "never",
+ {
+ "exceptRange": false,
+ "onlyEquality": false,
+ },
],
},
"settings": {
diff --git a/packages/eslint-config/test/__snapshots__/jsx.spec.js.snap b/packages/eslint-config/test/__snapshots__/jsx.spec.js.snap
index db20c61..71942ed 100644
--- a/packages/eslint-config/test/__snapshots__/jsx.spec.js.snap
+++ b/packages/eslint-config/test/__snapshots__/jsx.spec.js.snap
@@ -2,42 +2,1233 @@
exports[`keeps rules stable 1`] = `
{
- "env": {
- "browser": true,
- "es6": true,
- },
- "globals": {},
- "ignorePatterns": [],
- "noInlineConfig": undefined,
- "parser": null,
- "parserOptions": {
- "ecmaFeatures": {
- "jsx": true,
+ "language": "@/js",
+ "languageOptions": {
+ "ecmaVersion": 2026,
+ "globals": {
+ "AI": false,
+ "AITextSession": false,
+ "AbortController": false,
+ "AbortSignal": false,
+ "AbsoluteOrientationSensor": false,
+ "AbstractRange": false,
+ "Accelerometer": false,
+ "AggregateError": false,
+ "AnalyserNode": false,
+ "Animation": false,
+ "AnimationEffect": false,
+ "AnimationEvent": false,
+ "AnimationPlaybackEvent": false,
+ "AnimationTimeline": false,
+ "Array": false,
+ "ArrayBuffer": false,
+ "Atomics": false,
+ "Attr": false,
+ "Audio": false,
+ "AudioBuffer": false,
+ "AudioBufferSourceNode": false,
+ "AudioContext": false,
+ "AudioData": false,
+ "AudioDecoder": false,
+ "AudioDestinationNode": false,
+ "AudioEncoder": false,
+ "AudioListener": false,
+ "AudioNode": false,
+ "AudioParam": false,
+ "AudioParamMap": false,
+ "AudioProcessingEvent": false,
+ "AudioScheduledSourceNode": false,
+ "AudioSinkInfo": false,
+ "AudioWorklet": false,
+ "AudioWorkletGlobalScope": false,
+ "AudioWorkletNode": false,
+ "AudioWorkletProcessor": false,
+ "AuthenticatorAssertionResponse": false,
+ "AuthenticatorAttestationResponse": false,
+ "AuthenticatorResponse": false,
+ "BackgroundFetchManager": false,
+ "BackgroundFetchRecord": false,
+ "BackgroundFetchRegistration": false,
+ "BarProp": false,
+ "BarcodeDetector": false,
+ "BaseAudioContext": false,
+ "BatteryManager": false,
+ "BeforeUnloadEvent": false,
+ "BigInt": false,
+ "BigInt64Array": false,
+ "BigUint64Array": false,
+ "BiquadFilterNode": false,
+ "Blob": false,
+ "BlobEvent": false,
+ "Bluetooth": false,
+ "BluetoothCharacteristicProperties": false,
+ "BluetoothDevice": false,
+ "BluetoothRemoteGATTCharacteristic": false,
+ "BluetoothRemoteGATTDescriptor": false,
+ "BluetoothRemoteGATTServer": false,
+ "BluetoothRemoteGATTService": false,
+ "BluetoothUUID": false,
+ "Boolean": false,
+ "BroadcastChannel": false,
+ "BrowserCaptureMediaStreamTrack": false,
+ "ByteLengthQueuingStrategy": false,
+ "CDATASection": false,
+ "CSS": false,
+ "CSSAnimation": false,
+ "CSSConditionRule": false,
+ "CSSContainerRule": false,
+ "CSSCounterStyleRule": false,
+ "CSSFontFaceRule": false,
+ "CSSFontFeatureValuesRule": false,
+ "CSSFontPaletteValuesRule": false,
+ "CSSGroupingRule": false,
+ "CSSImageValue": false,
+ "CSSImportRule": false,
+ "CSSKeyframeRule": false,
+ "CSSKeyframesRule": false,
+ "CSSKeywordValue": false,
+ "CSSLayerBlockRule": false,
+ "CSSLayerStatementRule": false,
+ "CSSMarginRule": false,
+ "CSSMathClamp": false,
+ "CSSMathInvert": false,
+ "CSSMathMax": false,
+ "CSSMathMin": false,
+ "CSSMathNegate": false,
+ "CSSMathProduct": false,
+ "CSSMathSum": false,
+ "CSSMathValue": false,
+ "CSSMatrixComponent": false,
+ "CSSMediaRule": false,
+ "CSSNamespaceRule": false,
+ "CSSNestedDeclarations": false,
+ "CSSNumericArray": false,
+ "CSSNumericValue": false,
+ "CSSPageDescriptors": false,
+ "CSSPageRule": false,
+ "CSSPerspective": false,
+ "CSSPositionTryDescriptors": false,
+ "CSSPositionTryRule": false,
+ "CSSPositionValue": false,
+ "CSSPropertyRule": false,
+ "CSSRotate": false,
+ "CSSRule": false,
+ "CSSRuleList": false,
+ "CSSScale": false,
+ "CSSScopeRule": false,
+ "CSSSkew": false,
+ "CSSSkewX": false,
+ "CSSSkewY": false,
+ "CSSStartingStyleRule": false,
+ "CSSStyleDeclaration": false,
+ "CSSStyleRule": false,
+ "CSSStyleSheet": false,
+ "CSSStyleValue": false,
+ "CSSSupportsRule": false,
+ "CSSTransformComponent": false,
+ "CSSTransformValue": false,
+ "CSSTransition": false,
+ "CSSTranslate": false,
+ "CSSUnitValue": false,
+ "CSSUnparsedValue": false,
+ "CSSVariableReferenceValue": false,
+ "CSSViewTransitionRule": false,
+ "Cache": false,
+ "CacheStorage": false,
+ "CanvasCaptureMediaStream": false,
+ "CanvasCaptureMediaStreamTrack": false,
+ "CanvasGradient": false,
+ "CanvasPattern": false,
+ "CanvasRenderingContext2D": false,
+ "CaptureController": false,
+ "CaretPosition": false,
+ "ChannelMergerNode": false,
+ "ChannelSplitterNode": false,
+ "ChapterInformation": false,
+ "CharacterBoundsUpdateEvent": false,
+ "CharacterData": false,
+ "Clipboard": false,
+ "ClipboardEvent": false,
+ "ClipboardItem": false,
+ "CloseEvent": false,
+ "CloseWatcher": false,
+ "Comment": false,
+ "CompositionEvent": false,
+ "CompressionStream": false,
+ "ConstantSourceNode": false,
+ "ContentVisibilityAutoStateChangeEvent": false,
+ "ConvolverNode": false,
+ "CookieChangeEvent": false,
+ "CookieDeprecationLabel": false,
+ "CookieStore": false,
+ "CookieStoreManager": false,
+ "CountQueuingStrategy": false,
+ "Credential": false,
+ "CredentialsContainer": false,
+ "CropTarget": false,
+ "Crypto": false,
+ "CryptoKey": false,
+ "CustomElementRegistry": false,
+ "CustomEvent": false,
+ "CustomStateSet": false,
+ "DOMError": false,
+ "DOMException": false,
+ "DOMImplementation": false,
+ "DOMMatrix": false,
+ "DOMMatrixReadOnly": false,
+ "DOMParser": false,
+ "DOMPoint": false,
+ "DOMPointReadOnly": false,
+ "DOMQuad": false,
+ "DOMRect": false,
+ "DOMRectList": false,
+ "DOMRectReadOnly": false,
+ "DOMStringList": false,
+ "DOMStringMap": false,
+ "DOMTokenList": false,
+ "DataTransfer": false,
+ "DataTransferItem": false,
+ "DataTransferItemList": false,
+ "DataView": false,
+ "Date": false,
+ "DecompressionStream": false,
+ "DelayNode": false,
+ "DelegatedInkTrailPresenter": false,
+ "DeviceMotionEvent": false,
+ "DeviceMotionEventAcceleration": false,
+ "DeviceMotionEventRotationRate": false,
+ "DeviceOrientationEvent": false,
+ "Document": false,
+ "DocumentFragment": false,
+ "DocumentPictureInPicture": false,
+ "DocumentPictureInPictureEvent": false,
+ "DocumentTimeline": false,
+ "DocumentType": false,
+ "DragEvent": false,
+ "DynamicsCompressorNode": false,
+ "EditContext": false,
+ "Element": false,
+ "ElementInternals": false,
+ "EncodedAudioChunk": false,
+ "EncodedVideoChunk": false,
+ "Error": false,
+ "ErrorEvent": false,
+ "EvalError": false,
+ "Event": false,
+ "EventCounts": false,
+ "EventSource": false,
+ "EventTarget": false,
+ "External": false,
+ "EyeDropper": false,
+ "FeaturePolicy": false,
+ "FederatedCredential": false,
+ "Fence": false,
+ "FencedFrameConfig": false,
+ "FetchLaterResult": false,
+ "File": false,
+ "FileList": false,
+ "FileReader": false,
+ "FileSystem": false,
+ "FileSystemDirectoryEntry": false,
+ "FileSystemDirectoryHandle": false,
+ "FileSystemDirectoryReader": false,
+ "FileSystemEntry": false,
+ "FileSystemFileEntry": false,
+ "FileSystemFileHandle": false,
+ "FileSystemHandle": false,
+ "FileSystemWritableFileStream": false,
+ "FinalizationRegistry": false,
+ "Float16Array": false,
+ "Float32Array": false,
+ "Float64Array": false,
+ "FocusEvent": false,
+ "FontData": false,
+ "FontFace": false,
+ "FontFaceSet": false,
+ "FontFaceSetLoadEvent": false,
+ "FormData": false,
+ "FormDataEvent": false,
+ "FragmentDirective": false,
+ "Function": false,
+ "GPU": false,
+ "GPUAdapter": false,
+ "GPUAdapterInfo": false,
+ "GPUBindGroup": false,
+ "GPUBindGroupLayout": false,
+ "GPUBuffer": false,
+ "GPUBufferUsage": false,
+ "GPUCanvasContext": false,
+ "GPUColorWrite": false,
+ "GPUCommandBuffer": false,
+ "GPUCommandEncoder": false,
+ "GPUCompilationInfo": false,
+ "GPUCompilationMessage": false,
+ "GPUComputePassEncoder": false,
+ "GPUComputePipeline": false,
+ "GPUDevice": false,
+ "GPUDeviceLostInfo": false,
+ "GPUError": false,
+ "GPUExternalTexture": false,
+ "GPUInternalError": false,
+ "GPUMapMode": false,
+ "GPUOutOfMemoryError": false,
+ "GPUPipelineError": false,
+ "GPUPipelineLayout": false,
+ "GPUQuerySet": false,
+ "GPUQueue": false,
+ "GPURenderBundle": false,
+ "GPURenderBundleEncoder": false,
+ "GPURenderPassEncoder": false,
+ "GPURenderPipeline": false,
+ "GPUSampler": false,
+ "GPUShaderModule": false,
+ "GPUShaderStage": false,
+ "GPUSupportedFeatures": false,
+ "GPUSupportedLimits": false,
+ "GPUTexture": false,
+ "GPUTextureUsage": false,
+ "GPUTextureView": false,
+ "GPUUncapturedErrorEvent": false,
+ "GPUValidationError": false,
+ "GainNode": false,
+ "Gamepad": false,
+ "GamepadAxisMoveEvent": false,
+ "GamepadButton": false,
+ "GamepadButtonEvent": false,
+ "GamepadEvent": false,
+ "GamepadHapticActuator": false,
+ "GamepadPose": false,
+ "Geolocation": false,
+ "GeolocationCoordinates": false,
+ "GeolocationPosition": false,
+ "GeolocationPositionError": false,
+ "GravitySensor": false,
+ "Gyroscope": false,
+ "HID": false,
+ "HIDConnectionEvent": false,
+ "HIDDevice": false,
+ "HIDInputReportEvent": false,
+ "HTMLAllCollection": false,
+ "HTMLAnchorElement": false,
+ "HTMLAreaElement": false,
+ "HTMLAudioElement": false,
+ "HTMLBRElement": false,
+ "HTMLBaseElement": false,
+ "HTMLBodyElement": false,
+ "HTMLButtonElement": false,
+ "HTMLCanvasElement": false,
+ "HTMLCollection": false,
+ "HTMLDListElement": false,
+ "HTMLDataElement": false,
+ "HTMLDataListElement": false,
+ "HTMLDetailsElement": false,
+ "HTMLDialogElement": false,
+ "HTMLDirectoryElement": false,
+ "HTMLDivElement": false,
+ "HTMLDocument": false,
+ "HTMLElement": false,
+ "HTMLEmbedElement": false,
+ "HTMLFencedFrameElement": false,
+ "HTMLFieldSetElement": false,
+ "HTMLFontElement": false,
+ "HTMLFormControlsCollection": false,
+ "HTMLFormElement": false,
+ "HTMLFrameElement": false,
+ "HTMLFrameSetElement": false,
+ "HTMLHRElement": false,
+ "HTMLHeadElement": false,
+ "HTMLHeadingElement": false,
+ "HTMLHtmlElement": false,
+ "HTMLIFrameElement": false,
+ "HTMLImageElement": false,
+ "HTMLInputElement": false,
+ "HTMLLIElement": false,
+ "HTMLLabelElement": false,
+ "HTMLLegendElement": false,
+ "HTMLLinkElement": false,
+ "HTMLMapElement": false,
+ "HTMLMarqueeElement": false,
+ "HTMLMediaElement": false,
+ "HTMLMenuElement": false,
+ "HTMLMetaElement": false,
+ "HTMLMeterElement": false,
+ "HTMLModElement": false,
+ "HTMLOListElement": false,
+ "HTMLObjectElement": false,
+ "HTMLOptGroupElement": false,
+ "HTMLOptionElement": false,
+ "HTMLOptionsCollection": false,
+ "HTMLOutputElement": false,
+ "HTMLParagraphElement": false,
+ "HTMLParamElement": false,
+ "HTMLPictureElement": false,
+ "HTMLPreElement": false,
+ "HTMLProgressElement": false,
+ "HTMLQuoteElement": false,
+ "HTMLScriptElement": false,
+ "HTMLSelectElement": false,
+ "HTMLSlotElement": false,
+ "HTMLSourceElement": false,
+ "HTMLSpanElement": false,
+ "HTMLStyleElement": false,
+ "HTMLTableCaptionElement": false,
+ "HTMLTableCellElement": false,
+ "HTMLTableColElement": false,
+ "HTMLTableElement": false,
+ "HTMLTableRowElement": false,
+ "HTMLTableSectionElement": false,
+ "HTMLTemplateElement": false,
+ "HTMLTextAreaElement": false,
+ "HTMLTimeElement": false,
+ "HTMLTitleElement": false,
+ "HTMLTrackElement": false,
+ "HTMLUListElement": false,
+ "HTMLUnknownElement": false,
+ "HTMLVideoElement": false,
+ "HashChangeEvent": false,
+ "Headers": false,
+ "Highlight": false,
+ "HighlightRegistry": false,
+ "History": false,
+ "IDBCursor": false,
+ "IDBCursorWithValue": false,
+ "IDBDatabase": false,
+ "IDBFactory": false,
+ "IDBIndex": false,
+ "IDBKeyRange": false,
+ "IDBObjectStore": false,
+ "IDBOpenDBRequest": false,
+ "IDBRequest": false,
+ "IDBTransaction": false,
+ "IDBVersionChangeEvent": false,
+ "IIRFilterNode": false,
+ "IdentityCredential": false,
+ "IdentityCredentialError": false,
+ "IdentityProvider": false,
+ "IdleDeadline": false,
+ "IdleDetector": false,
+ "Image": false,
+ "ImageBitmap": false,
+ "ImageBitmapRenderingContext": false,
+ "ImageCapture": false,
+ "ImageData": false,
+ "ImageDecoder": false,
+ "ImageTrack": false,
+ "ImageTrackList": false,
+ "Infinity": false,
+ "Ink": false,
+ "InputDeviceCapabilities": false,
+ "InputDeviceInfo": false,
+ "InputEvent": false,
+ "Int16Array": false,
+ "Int32Array": false,
+ "Int8Array": false,
+ "IntersectionObserver": false,
+ "IntersectionObserverEntry": false,
+ "Intl": false,
+ "JSON": false,
+ "Keyboard": false,
+ "KeyboardEvent": false,
+ "KeyboardLayoutMap": false,
+ "KeyframeEffect": false,
+ "LargestContentfulPaint": false,
+ "LaunchParams": false,
+ "LaunchQueue": false,
+ "LayoutShift": false,
+ "LayoutShiftAttribution": false,
+ "LinearAccelerationSensor": false,
+ "Location": false,
+ "Lock": false,
+ "LockManager": false,
+ "MIDIAccess": false,
+ "MIDIConnectionEvent": false,
+ "MIDIInput": false,
+ "MIDIInputMap": false,
+ "MIDIMessageEvent": false,
+ "MIDIOutput": false,
+ "MIDIOutputMap": false,
+ "MIDIPort": false,
+ "Map": false,
+ "Math": false,
+ "MathMLElement": false,
+ "MediaCapabilities": false,
+ "MediaCapabilitiesInfo": false,
+ "MediaDeviceInfo": false,
+ "MediaDevices": false,
+ "MediaElementAudioSourceNode": false,
+ "MediaEncryptedEvent": false,
+ "MediaError": false,
+ "MediaKeyError": false,
+ "MediaKeyMessageEvent": false,
+ "MediaKeySession": false,
+ "MediaKeyStatusMap": false,
+ "MediaKeySystemAccess": false,
+ "MediaKeys": false,
+ "MediaList": false,
+ "MediaMetadata": false,
+ "MediaQueryList": false,
+ "MediaQueryListEvent": false,
+ "MediaRecorder": false,
+ "MediaRecorderErrorEvent": false,
+ "MediaSession": false,
+ "MediaSource": false,
+ "MediaSourceHandle": false,
+ "MediaStream": false,
+ "MediaStreamAudioDestinationNode": false,
+ "MediaStreamAudioSourceNode": false,
+ "MediaStreamEvent": false,
+ "MediaStreamTrack": false,
+ "MediaStreamTrackAudioSourceNode": false,
+ "MediaStreamTrackAudioStats": false,
+ "MediaStreamTrackEvent": false,
+ "MediaStreamTrackGenerator": false,
+ "MediaStreamTrackProcessor": false,
+ "MediaStreamTrackVideoStats": false,
+ "MessageChannel": false,
+ "MessageEvent": false,
+ "MessagePort": false,
+ "MimeType": false,
+ "MimeTypeArray": false,
+ "ModelGenericSession": false,
+ "ModelManager": false,
+ "MouseEvent": false,
+ "MutationEvent": false,
+ "MutationObserver": false,
+ "MutationRecord": false,
+ "NaN": false,
+ "NamedNodeMap": false,
+ "NavigateEvent": false,
+ "Navigation": false,
+ "NavigationActivation": false,
+ "NavigationCurrentEntryChangeEvent": false,
+ "NavigationDestination": false,
+ "NavigationHistoryEntry": false,
+ "NavigationPreloadManager": false,
+ "NavigationTransition": false,
+ "Navigator": false,
+ "NavigatorLogin": false,
+ "NavigatorManagedData": false,
+ "NavigatorUAData": false,
+ "NetworkInformation": false,
+ "Node": false,
+ "NodeFilter": false,
+ "NodeIterator": false,
+ "NodeList": false,
+ "NotRestoredReasonDetails": false,
+ "NotRestoredReasons": false,
+ "Notification": false,
+ "NotifyPaintEvent": false,
+ "Number": false,
+ "OTPCredential": false,
+ "Object": false,
+ "OfflineAudioCompletionEvent": false,
+ "OfflineAudioContext": false,
+ "OffscreenCanvas": false,
+ "OffscreenCanvasRenderingContext2D": false,
+ "Option": false,
+ "OrientationSensor": false,
+ "OscillatorNode": false,
+ "OverconstrainedError": false,
+ "PERSISTENT": false,
+ "PageRevealEvent": false,
+ "PageSwapEvent": false,
+ "PageTransitionEvent": false,
+ "PannerNode": false,
+ "PasswordCredential": false,
+ "Path2D": false,
+ "PaymentAddress": false,
+ "PaymentManager": false,
+ "PaymentMethodChangeEvent": false,
+ "PaymentRequest": false,
+ "PaymentRequestUpdateEvent": false,
+ "PaymentResponse": false,
+ "Performance": false,
+ "PerformanceElementTiming": false,
+ "PerformanceEntry": false,
+ "PerformanceEventTiming": false,
+ "PerformanceLongAnimationFrameTiming": false,
+ "PerformanceLongTaskTiming": false,
+ "PerformanceMark": false,
+ "PerformanceMeasure": false,
+ "PerformanceNavigation": false,
+ "PerformanceNavigationTiming": false,
+ "PerformanceObserver": false,
+ "PerformanceObserverEntryList": false,
+ "PerformancePaintTiming": false,
+ "PerformanceResourceTiming": false,
+ "PerformanceScriptTiming": false,
+ "PerformanceServerTiming": false,
+ "PerformanceTiming": false,
+ "PeriodicSyncManager": false,
+ "PeriodicWave": false,
+ "PermissionStatus": false,
+ "Permissions": false,
+ "PictureInPictureEvent": false,
+ "PictureInPictureWindow": false,
+ "Plugin": false,
+ "PluginArray": false,
+ "PointerEvent": false,
+ "PopStateEvent": false,
+ "Presentation": false,
+ "PresentationAvailability": false,
+ "PresentationConnection": false,
+ "PresentationConnectionAvailableEvent": false,
+ "PresentationConnectionCloseEvent": false,
+ "PresentationConnectionList": false,
+ "PresentationReceiver": false,
+ "PresentationRequest": false,
+ "PressureObserver": false,
+ "PressureRecord": false,
+ "ProcessingInstruction": false,
+ "Profiler": false,
+ "ProgressEvent": false,
+ "Promise": false,
+ "PromiseRejectionEvent": false,
+ "ProtectedAudience": false,
+ "Proxy": false,
+ "PublicKeyCredential": false,
+ "PushManager": false,
+ "PushSubscription": false,
+ "PushSubscriptionOptions": false,
+ "RTCCertificate": false,
+ "RTCDTMFSender": false,
+ "RTCDTMFToneChangeEvent": false,
+ "RTCDataChannel": false,
+ "RTCDataChannelEvent": false,
+ "RTCDtlsTransport": false,
+ "RTCEncodedAudioFrame": false,
+ "RTCEncodedVideoFrame": false,
+ "RTCError": false,
+ "RTCErrorEvent": false,
+ "RTCIceCandidate": false,
+ "RTCIceTransport": false,
+ "RTCPeerConnection": false,
+ "RTCPeerConnectionIceErrorEvent": false,
+ "RTCPeerConnectionIceEvent": false,
+ "RTCRtpReceiver": false,
+ "RTCRtpScriptTransform": false,
+ "RTCRtpSender": false,
+ "RTCRtpTransceiver": false,
+ "RTCSctpTransport": false,
+ "RTCSessionDescription": false,
+ "RTCStatsReport": false,
+ "RTCTrackEvent": false,
+ "RadioNodeList": false,
+ "Range": false,
+ "RangeError": false,
+ "ReadableByteStreamController": false,
+ "ReadableStream": false,
+ "ReadableStreamBYOBReader": false,
+ "ReadableStreamBYOBRequest": false,
+ "ReadableStreamDefaultController": false,
+ "ReadableStreamDefaultReader": false,
+ "ReferenceError": false,
+ "Reflect": false,
+ "RegExp": false,
+ "RelativeOrientationSensor": false,
+ "RemotePlayback": false,
+ "ReportingObserver": false,
+ "Request": false,
+ "ResizeObserver": false,
+ "ResizeObserverEntry": false,
+ "ResizeObserverSize": false,
+ "Response": false,
+ "SVGAElement": false,
+ "SVGAngle": false,
+ "SVGAnimateElement": false,
+ "SVGAnimateMotionElement": false,
+ "SVGAnimateTransformElement": false,
+ "SVGAnimatedAngle": false,
+ "SVGAnimatedBoolean": false,
+ "SVGAnimatedEnumeration": false,
+ "SVGAnimatedInteger": false,
+ "SVGAnimatedLength": false,
+ "SVGAnimatedLengthList": false,
+ "SVGAnimatedNumber": false,
+ "SVGAnimatedNumberList": false,
+ "SVGAnimatedPreserveAspectRatio": false,
+ "SVGAnimatedRect": false,
+ "SVGAnimatedString": false,
+ "SVGAnimatedTransformList": false,
+ "SVGAnimationElement": false,
+ "SVGCircleElement": false,
+ "SVGClipPathElement": false,
+ "SVGComponentTransferFunctionElement": false,
+ "SVGDefsElement": false,
+ "SVGDescElement": false,
+ "SVGElement": false,
+ "SVGEllipseElement": false,
+ "SVGFEBlendElement": false,
+ "SVGFEColorMatrixElement": false,
+ "SVGFEComponentTransferElement": false,
+ "SVGFECompositeElement": false,
+ "SVGFEConvolveMatrixElement": false,
+ "SVGFEDiffuseLightingElement": false,
+ "SVGFEDisplacementMapElement": false,
+ "SVGFEDistantLightElement": false,
+ "SVGFEDropShadowElement": false,
+ "SVGFEFloodElement": false,
+ "SVGFEFuncAElement": false,
+ "SVGFEFuncBElement": false,
+ "SVGFEFuncGElement": false,
+ "SVGFEFuncRElement": false,
+ "SVGFEGaussianBlurElement": false,
+ "SVGFEImageElement": false,
+ "SVGFEMergeElement": false,
+ "SVGFEMergeNodeElement": false,
+ "SVGFEMorphologyElement": false,
+ "SVGFEOffsetElement": false,
+ "SVGFEPointLightElement": false,
+ "SVGFESpecularLightingElement": false,
+ "SVGFESpotLightElement": false,
+ "SVGFETileElement": false,
+ "SVGFETurbulenceElement": false,
+ "SVGFilterElement": false,
+ "SVGForeignObjectElement": false,
+ "SVGGElement": false,
+ "SVGGeometryElement": false,
+ "SVGGradientElement": false,
+ "SVGGraphicsElement": false,
+ "SVGImageElement": false,
+ "SVGLength": false,
+ "SVGLengthList": false,
+ "SVGLineElement": false,
+ "SVGLinearGradientElement": false,
+ "SVGMPathElement": false,
+ "SVGMarkerElement": false,
+ "SVGMaskElement": false,
+ "SVGMatrix": false,
+ "SVGMetadataElement": false,
+ "SVGNumber": false,
+ "SVGNumberList": false,
+ "SVGPathElement": false,
+ "SVGPatternElement": false,
+ "SVGPoint": false,
+ "SVGPointList": false,
+ "SVGPolygonElement": false,
+ "SVGPolylineElement": false,
+ "SVGPreserveAspectRatio": false,
+ "SVGRadialGradientElement": false,
+ "SVGRect": false,
+ "SVGRectElement": false,
+ "SVGSVGElement": false,
+ "SVGScriptElement": false,
+ "SVGSetElement": false,
+ "SVGStopElement": false,
+ "SVGStringList": false,
+ "SVGStyleElement": false,
+ "SVGSwitchElement": false,
+ "SVGSymbolElement": false,
+ "SVGTSpanElement": false,
+ "SVGTextContentElement": false,
+ "SVGTextElement": false,
+ "SVGTextPathElement": false,
+ "SVGTextPositioningElement": false,
+ "SVGTitleElement": false,
+ "SVGTransform": false,
+ "SVGTransformList": false,
+ "SVGUnitTypes": false,
+ "SVGUseElement": false,
+ "SVGViewElement": false,
+ "Scheduler": false,
+ "Scheduling": false,
+ "Screen": false,
+ "ScreenDetailed": false,
+ "ScreenDetails": false,
+ "ScreenOrientation": false,
+ "ScriptProcessorNode": false,
+ "ScrollTimeline": false,
+ "SecurityPolicyViolationEvent": false,
+ "Selection": false,
+ "Sensor": false,
+ "SensorErrorEvent": false,
+ "Serial": false,
+ "SerialPort": false,
+ "ServiceWorker": false,
+ "ServiceWorkerContainer": false,
+ "ServiceWorkerRegistration": false,
+ "Set": false,
+ "ShadowRoot": false,
+ "SharedArrayBuffer": false,
+ "SharedStorage": false,
+ "SharedStorageWorklet": false,
+ "SharedWorker": false,
+ "SnapEvent": false,
+ "SourceBuffer": false,
+ "SourceBufferList": false,
+ "SpeechSynthesis": false,
+ "SpeechSynthesisErrorEvent": false,
+ "SpeechSynthesisEvent": false,
+ "SpeechSynthesisUtterance": false,
+ "SpeechSynthesisVoice": false,
+ "StaticRange": false,
+ "StereoPannerNode": false,
+ "Storage": false,
+ "StorageBucket": false,
+ "StorageBucketManager": false,
+ "StorageEvent": false,
+ "StorageManager": false,
+ "String": false,
+ "StylePropertyMap": false,
+ "StylePropertyMapReadOnly": false,
+ "StyleSheet": false,
+ "StyleSheetList": false,
+ "SubmitEvent": false,
+ "SubtleCrypto": false,
+ "Symbol": false,
+ "SyncManager": false,
+ "SyntaxError": false,
+ "TEMPORARY": false,
+ "TaskAttributionTiming": false,
+ "TaskController": false,
+ "TaskPriorityChangeEvent": false,
+ "TaskSignal": false,
+ "Text": false,
+ "TextDecoder": false,
+ "TextDecoderStream": false,
+ "TextEncoder": false,
+ "TextEncoderStream": false,
+ "TextEvent": false,
+ "TextFormat": false,
+ "TextFormatUpdateEvent": false,
+ "TextMetrics": false,
+ "TextTrack": false,
+ "TextTrackCue": false,
+ "TextTrackCueList": false,
+ "TextTrackList": false,
+ "TextUpdateEvent": false,
+ "TimeEvent": false,
+ "TimeRanges": false,
+ "ToggleEvent": false,
+ "Touch": false,
+ "TouchEvent": false,
+ "TouchList": false,
+ "TrackEvent": false,
+ "TransformStream": false,
+ "TransformStreamDefaultController": false,
+ "TransitionEvent": false,
+ "TreeWalker": false,
+ "TrustedHTML": false,
+ "TrustedScript": false,
+ "TrustedScriptURL": false,
+ "TrustedTypePolicy": false,
+ "TrustedTypePolicyFactory": false,
+ "TypeError": false,
+ "UIEvent": false,
+ "URIError": false,
+ "URL": false,
+ "URLPattern": false,
+ "URLSearchParams": false,
+ "USB": false,
+ "USBAlternateInterface": false,
+ "USBConfiguration": false,
+ "USBConnectionEvent": false,
+ "USBDevice": false,
+ "USBEndpoint": false,
+ "USBInTransferResult": false,
+ "USBInterface": false,
+ "USBIsochronousInTransferPacket": false,
+ "USBIsochronousInTransferResult": false,
+ "USBIsochronousOutTransferPacket": false,
+ "USBIsochronousOutTransferResult": false,
+ "USBOutTransferResult": false,
+ "Uint16Array": false,
+ "Uint32Array": false,
+ "Uint8Array": false,
+ "Uint8ClampedArray": false,
+ "UserActivation": false,
+ "VTTCue": false,
+ "VTTRegion": false,
+ "ValidityState": false,
+ "VideoColorSpace": false,
+ "VideoDecoder": false,
+ "VideoEncoder": false,
+ "VideoFrame": false,
+ "VideoPlaybackQuality": false,
+ "ViewTimeline": false,
+ "ViewTransition": false,
+ "ViewTransitionTypeSet": false,
+ "VirtualKeyboard": false,
+ "VirtualKeyboardGeometryChangeEvent": false,
+ "VisibilityStateEntry": false,
+ "VisualViewport": false,
+ "WGSLLanguageFeatures": false,
+ "WakeLock": false,
+ "WakeLockSentinel": false,
+ "WaveShaperNode": false,
+ "WeakMap": false,
+ "WeakRef": false,
+ "WeakSet": false,
+ "WebAssembly": false,
+ "WebGL2RenderingContext": false,
+ "WebGLActiveInfo": false,
+ "WebGLBuffer": false,
+ "WebGLContextEvent": false,
+ "WebGLFramebuffer": false,
+ "WebGLObject": false,
+ "WebGLProgram": false,
+ "WebGLQuery": false,
+ "WebGLRenderbuffer": false,
+ "WebGLRenderingContext": false,
+ "WebGLSampler": false,
+ "WebGLShader": false,
+ "WebGLShaderPrecisionFormat": false,
+ "WebGLSync": false,
+ "WebGLTexture": false,
+ "WebGLTransformFeedback": false,
+ "WebGLUniformLocation": false,
+ "WebGLVertexArrayObject": false,
+ "WebSocket": false,
+ "WebSocketError": false,
+ "WebSocketStream": false,
+ "WebTransport": false,
+ "WebTransportBidirectionalStream": false,
+ "WebTransportDatagramDuplexStream": false,
+ "WebTransportError": false,
+ "WebTransportReceiveStream": false,
+ "WebTransportSendStream": false,
+ "WheelEvent": false,
+ "Window": false,
+ "WindowControlsOverlay": false,
+ "WindowControlsOverlayGeometryChangeEvent": false,
+ "Worker": false,
+ "Worklet": false,
+ "WorkletGlobalScope": false,
+ "WritableStream": false,
+ "WritableStreamDefaultController": false,
+ "WritableStreamDefaultWriter": false,
+ "XMLDocument": false,
+ "XMLHttpRequest": false,
+ "XMLHttpRequestEventTarget": false,
+ "XMLHttpRequestUpload": false,
+ "XMLSerializer": false,
+ "XPathEvaluator": false,
+ "XPathExpression": false,
+ "XPathResult": false,
+ "XRAnchor": false,
+ "XRAnchorSet": false,
+ "XRBoundedReferenceSpace": false,
+ "XRCPUDepthInformation": false,
+ "XRCamera": false,
+ "XRDOMOverlayState": false,
+ "XRDepthInformation": false,
+ "XRFrame": false,
+ "XRHand": false,
+ "XRHitTestResult": false,
+ "XRHitTestSource": false,
+ "XRInputSource": false,
+ "XRInputSourceArray": false,
+ "XRInputSourceEvent": false,
+ "XRInputSourcesChangeEvent": false,
+ "XRJointPose": false,
+ "XRJointSpace": false,
+ "XRLayer": false,
+ "XRLightEstimate": false,
+ "XRLightProbe": false,
+ "XRPose": false,
+ "XRRay": false,
+ "XRReferenceSpace": false,
+ "XRReferenceSpaceEvent": false,
+ "XRRenderState": false,
+ "XRRigidTransform": false,
+ "XRSession": false,
+ "XRSessionEvent": false,
+ "XRSpace": false,
+ "XRSystem": false,
+ "XRTransientInputHitTestResult": false,
+ "XRTransientInputHitTestSource": false,
+ "XRView": false,
+ "XRViewerPose": false,
+ "XRViewport": false,
+ "XRWebGLBinding": false,
+ "XRWebGLDepthInformation": false,
+ "XRWebGLLayer": false,
+ "XSLTProcessor": false,
+ "addEventListener": false,
+ "ai": false,
+ "alert": false,
+ "atob": false,
+ "blur": false,
+ "btoa": false,
+ "caches": false,
+ "cancelAnimationFrame": false,
+ "cancelIdleCallback": false,
+ "clearInterval": false,
+ "clearTimeout": false,
+ "clientInformation": false,
+ "close": false,
+ "closed": false,
+ "confirm": false,
+ "console": false,
+ "cookieStore": false,
+ "createImageBitmap": false,
+ "credentialless": false,
+ "crossOriginIsolated": false,
+ "crypto": false,
+ "currentFrame": false,
+ "currentTime": false,
+ "customElements": false,
+ "decodeURI": false,
+ "decodeURIComponent": false,
+ "devicePixelRatio": false,
+ "dispatchEvent": false,
+ "document": false,
+ "documentPictureInPicture": false,
+ "encodeURI": false,
+ "encodeURIComponent": false,
+ "escape": false,
+ "eval": false,
+ "event": false,
+ "external": false,
+ "fence": false,
+ "fetch": false,
+ "fetchLater": false,
+ "find": false,
+ "focus": false,
+ "frameElement": false,
+ "frames": false,
+ "getComputedStyle": false,
+ "getScreenDetails": false,
+ "getSelection": false,
+ "globalThis": false,
+ "history": false,
+ "indexedDB": false,
+ "innerHeight": false,
+ "innerWidth": false,
+ "isFinite": false,
+ "isNaN": false,
+ "isSecureContext": false,
+ "launchQueue": false,
+ "length": false,
+ "localStorage": false,
+ "location": true,
+ "locationbar": false,
+ "matchMedia": false,
+ "menubar": false,
+ "model": false,
+ "moveBy": false,
+ "moveTo": false,
+ "name": false,
+ "navigation": false,
+ "navigator": false,
+ "offscreenBuffering": false,
+ "onabort": true,
+ "onafterprint": true,
+ "onanimationcancel": true,
+ "onanimationend": true,
+ "onanimationiteration": true,
+ "onanimationstart": true,
+ "onappinstalled": true,
+ "onauxclick": true,
+ "onbeforeinput": true,
+ "onbeforeinstallprompt": true,
+ "onbeforematch": true,
+ "onbeforeprint": true,
+ "onbeforetoggle": true,
+ "onbeforeunload": true,
+ "onbeforexrselect": true,
+ "onblur": true,
+ "oncancel": true,
+ "oncanplay": true,
+ "oncanplaythrough": true,
+ "onchange": true,
+ "onclick": true,
+ "onclose": true,
+ "oncontentvisibilityautostatechange": true,
+ "oncontextlost": true,
+ "oncontextmenu": true,
+ "oncontextrestored": true,
+ "oncopy": true,
+ "oncuechange": true,
+ "oncut": true,
+ "ondblclick": true,
+ "ondevicemotion": true,
+ "ondeviceorientation": true,
+ "ondeviceorientationabsolute": true,
+ "ondrag": true,
+ "ondragend": true,
+ "ondragenter": true,
+ "ondragleave": true,
+ "ondragover": true,
+ "ondragstart": true,
+ "ondrop": true,
+ "ondurationchange": true,
+ "onemptied": true,
+ "onended": true,
+ "onerror": true,
+ "onfocus": true,
+ "onformdata": true,
+ "ongamepadconnected": true,
+ "ongamepaddisconnected": true,
+ "ongotpointercapture": true,
+ "onhashchange": true,
+ "oninput": true,
+ "oninvalid": true,
+ "onkeydown": true,
+ "onkeypress": true,
+ "onkeyup": true,
+ "onlanguagechange": true,
+ "onload": true,
+ "onloadeddata": true,
+ "onloadedmetadata": true,
+ "onloadstart": true,
+ "onlostpointercapture": true,
+ "onmessage": true,
+ "onmessageerror": true,
+ "onmousedown": true,
+ "onmouseenter": true,
+ "onmouseleave": true,
+ "onmousemove": true,
+ "onmouseout": true,
+ "onmouseover": true,
+ "onmouseup": true,
+ "onmousewheel": true,
+ "onoffline": true,
+ "ononline": true,
+ "onpagehide": true,
+ "onpagereveal": true,
+ "onpageshow": true,
+ "onpageswap": true,
+ "onpaste": true,
+ "onpause": true,
+ "onplay": true,
+ "onplaying": true,
+ "onpointercancel": true,
+ "onpointerdown": true,
+ "onpointerenter": true,
+ "onpointerleave": true,
+ "onpointermove": true,
+ "onpointerout": true,
+ "onpointerover": true,
+ "onpointerrawupdate": true,
+ "onpointerup": true,
+ "onpopstate": true,
+ "onprogress": true,
+ "onratechange": true,
+ "onrejectionhandled": true,
+ "onreset": true,
+ "onresize": true,
+ "onscroll": true,
+ "onscrollend": true,
+ "onscrollsnapchange": true,
+ "onscrollsnapchanging": true,
+ "onsearch": true,
+ "onsecuritypolicyviolation": true,
+ "onseeked": true,
+ "onseeking": true,
+ "onselect": true,
+ "onselectionchange": true,
+ "onselectstart": true,
+ "onslotchange": true,
+ "onstalled": true,
+ "onstorage": true,
+ "onsubmit": true,
+ "onsuspend": true,
+ "ontimeupdate": true,
+ "ontoggle": true,
+ "ontransitioncancel": true,
+ "ontransitionend": true,
+ "ontransitionrun": true,
+ "ontransitionstart": true,
+ "onunhandledrejection": true,
+ "onunload": true,
+ "onvolumechange": true,
+ "onwaiting": true,
+ "onwheel": true,
+ "open": false,
+ "opener": false,
+ "origin": false,
+ "originAgentCluster": false,
+ "outerHeight": false,
+ "outerWidth": false,
+ "pageXOffset": false,
+ "pageYOffset": false,
+ "parent": false,
+ "parseFloat": false,
+ "parseInt": false,
+ "performance": false,
+ "personalbar": false,
+ "postMessage": false,
+ "print": false,
+ "prompt": false,
+ "queryLocalFonts": false,
+ "queueMicrotask": false,
+ "registerProcessor": false,
+ "removeEventListener": false,
+ "reportError": false,
+ "requestAnimationFrame": false,
+ "requestIdleCallback": false,
+ "resizeBy": false,
+ "resizeTo": false,
+ "sampleRate": false,
+ "scheduler": false,
+ "screen": false,
+ "screenLeft": false,
+ "screenTop": false,
+ "screenX": false,
+ "screenY": false,
+ "scroll": false,
+ "scrollBy": false,
+ "scrollTo": false,
+ "scrollX": false,
+ "scrollY": false,
+ "scrollbars": false,
+ "self": false,
+ "sessionStorage": false,
+ "setInterval": false,
+ "setTimeout": false,
+ "sharedStorage": false,
+ "showDirectoryPicker": false,
+ "showOpenFilePicker": false,
+ "showSaveFilePicker": false,
+ "speechSynthesis": false,
+ "status": false,
+ "statusbar": false,
+ "stop": false,
+ "structuredClone": false,
+ "styleMedia": false,
+ "toolbar": false,
+ "top": false,
+ "trustedTypes": false,
+ "undefined": false,
+ "unescape": false,
+ "visualViewport": false,
+ "window": false,
+ },
+ "parser": "espree@10.4.0",
+ "parserOptions": {
+ "ecmaFeatures": {
+ "jsx": true,
+ },
+ "sourceType": "module",
},
- "ecmaVersion": "latest",
"sourceType": "module",
},
+ "linterOptions": {
+ "reportUnusedDisableDirectives": 2,
+ },
"plugins": [
- "@stylistic",
- "switch-case",
- "gettext",
+ "@",
"import",
+ "gettext",
+ "switch-case",
+ "@stylistic",
"jsdoc",
- "prettier",
+ "prettier:eslint-plugin-prettier@5.2.3",
"react",
- "jsx-a11y",
- "react-hooks",
+ "react-hooks:eslint-plugin-react-hooks",
+ "jsx-a11y:eslint-plugin-jsx-a11y@6.10.2",
],
- "reportUnusedDisableDirectives": true,
+ "processor": undefined,
"rules": {
"@babel/object-curly-spacing": [
- "off",
+ 0,
],
"@babel/semi": [
- "off",
+ 0,
],
"@stylistic/padding-line-between-statements": [
- "warn",
+ 1,
{
"blankLine": "always",
"next": "return",
@@ -103,7 +1294,7 @@ exports[`keeps rules stable 1`] = `
},
],
"@stylistic/spaced-comment": [
- "warn",
+ 1,
"always",
{
"block": {
@@ -130,108 +1321,114 @@ exports[`keeps rules stable 1`] = `
},
],
"@typescript-eslint/block-spacing": [
- "off",
+ 0,
],
"@typescript-eslint/brace-style": [
- "off",
+ 0,
],
"@typescript-eslint/comma-dangle": [
- "off",
+ 0,
],
"@typescript-eslint/comma-spacing": [
- "off",
+ 0,
],
"@typescript-eslint/func-call-spacing": [
- "off",
+ 0,
],
"@typescript-eslint/indent": [
- "off",
+ 0,
],
"@typescript-eslint/key-spacing": [
- "off",
+ 0,
],
"@typescript-eslint/keyword-spacing": [
- "off",
+ 0,
],
"@typescript-eslint/lines-around-comment": [
0,
],
"@typescript-eslint/member-delimiter-style": [
- "off",
+ 0,
],
"@typescript-eslint/no-extra-parens": [
- "off",
+ 0,
],
"@typescript-eslint/no-extra-semi": [
- "off",
+ 0,
],
"@typescript-eslint/object-curly-spacing": [
- "off",
+ 0,
],
"@typescript-eslint/quotes": [
0,
],
"@typescript-eslint/semi": [
- "off",
+ 0,
],
"@typescript-eslint/space-before-blocks": [
- "off",
+ 0,
],
"@typescript-eslint/space-before-function-paren": [
- "off",
+ 0,
],
"@typescript-eslint/space-infix-ops": [
- "off",
+ 0,
],
"@typescript-eslint/type-annotation-spacing": [
- "off",
+ 0,
],
"array-bracket-newline": [
- "off",
+ 0,
],
"array-bracket-spacing": [
- "off",
+ 0,
],
"array-callback-return": [
- "error",
+ 2,
+ {
+ "allowImplicit": false,
+ "allowVoid": false,
+ "checkForEach": false,
+ },
],
"array-element-newline": [
- "off",
+ 0,
],
"arrow-body-style": [
- "off",
+ 2,
"as-needed",
{
"requireReturnForObjectLiteral": false,
},
],
"arrow-parens": [
- "off",
+ 0,
],
"arrow-spacing": [
- "off",
+ 0,
],
"babel/object-curly-spacing": [
- "off",
+ 0,
],
"babel/quotes": [
0,
],
"babel/semi": [
- "off",
+ 0,
],
"block-scoped-var": [
- "error",
+ 2,
],
"block-spacing": [
- "off",
+ 0,
],
"brace-style": [
- "off",
+ 0,
],
"camelcase": [
- "error",
+ 2,
{
+ "allow": [],
"ignoreDestructuring": false,
"ignoreGlobals": false,
"ignoreImports": false,
@@ -239,133 +1436,137 @@ exports[`keeps rules stable 1`] = `
},
],
"comma-dangle": [
- "off",
+ 0,
],
"comma-spacing": [
- "off",
+ 0,
],
"comma-style": [
- "off",
+ 0,
],
"complexity": [
- "error",
+ 2,
+ 20,
],
"computed-property-spacing": [
- "off",
+ 0,
],
"consistent-return": [
- "error",
+ 2,
+ {
+ "treatUndefinedAsUnspecified": false,
+ },
],
"constructor-super": [
- "error",
+ 2,
],
"curly": [
- "error",
+ 2,
"all",
],
"default-case": [
- "error",
+ 2,
+ {},
],
"default-param-last": [
- "error",
+ 2,
],
"dot-location": [
- "off",
+ 0,
],
"dot-notation": [
- "error",
+ 2,
{
"allowKeywords": true,
"allowPattern": "",
},
],
"eol-last": [
- "off",
+ 0,
],
"eqeqeq": [
- "error",
+ 2,
"smart",
],
"flowtype/boolean-style": [
- "off",
+ 0,
],
"flowtype/delimiter-dangle": [
- "off",
+ 0,
],
"flowtype/generic-spacing": [
- "off",
+ 0,
],
"flowtype/object-type-curly-spacing": [
- "off",
+ 0,
],
"flowtype/object-type-delimiter": [
- "off",
+ 0,
],
"flowtype/quotes": [
- "off",
+ 0,
],
"flowtype/semi": [
- "off",
+ 0,
],
"flowtype/space-after-type-colon": [
- "off",
+ 0,
],
"flowtype/space-before-generic-bracket": [
- "off",
+ 0,
],
"flowtype/space-before-type-colon": [
- "off",
+ 0,
],
"flowtype/union-intersection-spacing": [
- "off",
+ 0,
],
"for-direction": [
- "error",
+ 2,
],
"func-call-spacing": [
- "off",
+ 0,
],
"func-names": [
- "error",
+ 2,
+ "always",
+ {},
],
"function-call-argument-newline": [
- "off",
+ 0,
],
"function-paren-newline": [
- "off",
+ 0,
],
"generator-star": [
- "off",
+ 0,
],
"generator-star-spacing": [
- "off",
+ 0,
],
"getter-return": [
- "error",
+ 2,
{
"allowImplicit": true,
},
],
"gettext/no-variable-string": [
- "error",
+ 2,
],
"guard-for-in": [
- "error",
+ 2,
],
"implicit-arrow-linebreak": [
- "off",
+ 0,
],
"import/default": [
- "off",
+ 0,
],
"import/dynamic-import-chunkname": [
- "error",
- ],
- "import/export": [
2,
],
"import/extensions": [
- "error",
+ 2,
{
"js": "never",
"json": "always",
@@ -374,47 +1575,35 @@ exports[`keeps rules stable 1`] = `
"tsx": "never",
},
],
- "import/named": [
- 2,
- ],
- "import/namespace": [
- 2,
- ],
"import/newline-after-import": [
- "warn",
+ 1,
],
"import/no-absolute-path": [
- "error",
+ 2,
],
"import/no-amd": [
- "error",
+ 2,
],
"import/no-duplicates": [
- "warn",
+ 1,
{
"prefer-inline": true,
},
],
"import/no-dynamic-require": [
- "error",
+ 2,
],
"import/no-extraneous-dependencies": [
- "error",
+ 2,
],
"import/no-mutable-exports": [
- "error",
- ],
- "import/no-named-as-default": [
- 1,
- ],
- "import/no-named-as-default-member": [
- 1,
+ 2,
],
"import/no-named-default": [
- "error",
+ 2,
],
"import/no-unresolved": [
- "error",
+ 2,
{
"caseSensitive": true,
"caseSensitiveStrict": false,
@@ -422,10 +1611,10 @@ exports[`keeps rules stable 1`] = `
},
],
"import/no-webpack-loader-syntax": [
- "error",
+ 2,
],
"import/order": [
- "warn",
+ 1,
{
"alphabetize": {
"caseInsensitive": true,
@@ -449,73 +1638,73 @@ exports[`keeps rules stable 1`] = `
},
],
"indent": [
- "off",
+ 0,
],
"indent-legacy": [
- "off",
+ 0,
],
"jsdoc/check-alignment": [
- "error",
+ 2,
],
"jsdoc/check-param-names": [
- "error",
+ 2,
],
"jsdoc/check-syntax": [
- "error",
+ 2,
],
"jsdoc/check-tag-names": [
- "error",
+ 2,
],
"jsdoc/implements-on-classes": [
- "error",
+ 2,
],
"jsdoc/require-param-name": [
- "error",
+ 2,
],
"jsdoc/require-param-type": [
- "error",
+ 2,
],
"jsdoc/require-returns-check": [
- "error",
+ 2,
],
"jsdoc/require-returns-type": [
- "error",
+ 2,
],
"jsx-a11y/alt-text": [
- "error",
+ 2,
],
"jsx-a11y/anchor-ambiguous-text": [
- "off",
+ 0,
],
"jsx-a11y/anchor-has-content": [
- "error",
+ 2,
],
"jsx-a11y/anchor-is-valid": [
- "error",
+ 2,
],
"jsx-a11y/aria-activedescendant-has-tabindex": [
- "error",
+ 2,
],
"jsx-a11y/aria-props": [
- "error",
+ 2,
],
"jsx-a11y/aria-proptypes": [
- "error",
+ 2,
],
"jsx-a11y/aria-role": [
- "error",
+ 2,
],
"jsx-a11y/aria-unsupported-elements": [
- "error",
+ 2,
],
"jsx-a11y/autocomplete-valid": [
- "error",
+ 2,
],
"jsx-a11y/click-events-have-key-events": [
- "error",
+ 2,
],
"jsx-a11y/control-has-associated-label": [
- "off",
+ 0,
{
"ignoreElements": [
"audio",
@@ -545,19 +1734,19 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/heading-has-content": [
- "error",
+ 2,
],
"jsx-a11y/html-has-lang": [
- "error",
+ 2,
],
"jsx-a11y/iframe-has-title": [
- "error",
+ 2,
],
"jsx-a11y/img-redundant-alt": [
- "error",
+ 2,
],
"jsx-a11y/interactive-supports-focus": [
- "error",
+ 2,
{
"tabbable": [
"button",
@@ -571,28 +1760,28 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/label-has-associated-control": [
- "error",
+ 2,
],
"jsx-a11y/label-has-for": [
- "off",
+ 0,
],
"jsx-a11y/media-has-caption": [
- "error",
+ 2,
],
"jsx-a11y/mouse-events-have-key-events": [
- "error",
+ 2,
],
"jsx-a11y/no-access-key": [
- "error",
+ 2,
],
"jsx-a11y/no-autofocus": [
- "error",
+ 2,
],
"jsx-a11y/no-distracting-elements": [
- "error",
+ 2,
],
"jsx-a11y/no-interactive-element-to-noninteractive-role": [
- "error",
+ 2,
{
"canvas": [
"img",
@@ -604,7 +1793,7 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/no-noninteractive-element-interactions": [
- "error",
+ 2,
{
"alert": [
"onKeyUp",
@@ -641,7 +1830,7 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/no-noninteractive-element-to-interactive-role": [
- "error",
+ 2,
{
"fieldset": [
"radiogroup",
@@ -683,7 +1872,7 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/no-noninteractive-tabindex": [
- "error",
+ 2,
{
"allowExpressionValues": true,
"roles": [
@@ -693,13 +1882,13 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/no-onchange": [
- "off",
+ 0,
],
"jsx-a11y/no-redundant-roles": [
- "error",
+ 2,
],
"jsx-a11y/no-static-element-interactions": [
- "error",
+ 2,
{
"allowExpressionValues": true,
"handlers": [
@@ -713,47 +1902,47 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/role-has-required-aria-props": [
- "error",
+ 2,
],
"jsx-a11y/role-supports-aria-props": [
- "error",
+ 2,
],
"jsx-a11y/scope": [
- "error",
+ 2,
],
"jsx-a11y/tabindex-no-positive": [
- "error",
+ 2,
],
"jsx-quotes": [
- "off",
+ 0,
],
"key-spacing": [
- "off",
+ 0,
],
"keyword-spacing": [
- "off",
+ 0,
],
"linebreak-style": [
- "off",
+ 0,
],
"lines-around-comment": [
0,
],
"max-classes-per-file": [
- "error",
+ 2,
1,
],
"max-len": [
0,
],
"max-statements-per-line": [
- "off",
+ 0,
],
"multiline-ternary": [
- "off",
+ 0,
],
"new-cap": [
- "error",
+ 2,
{
"capIsNew": false,
"capIsNewExceptions": [
@@ -767,104 +1956,122 @@ exports[`keeps rules stable 1`] = `
},
],
"new-parens": [
- "off",
+ 0,
],
"newline-per-chained-call": [
- "off",
+ 0,
],
"no-alert": [
- "warn",
+ 1,
],
"no-array-constructor": [
- "error",
+ 2,
],
"no-arrow-condition": [
- "off",
+ 0,
],
"no-async-promise-executor": [
- "error",
+ 2,
],
"no-await-in-loop": [
- "error",
+ 2,
],
"no-bitwise": [
- "error",
+ 2,
+ {
+ "allow": [],
+ "int32Hint": false,
+ },
],
"no-caller": [
- "error",
+ 2,
],
"no-case-declarations": [
- "error",
+ 2,
],
"no-class-assign": [
- "error",
+ 2,
],
"no-comma-dangle": [
- "off",
+ 0,
],
"no-compare-neg-zero": [
- "error",
+ 2,
],
"no-cond-assign": [
- "error",
+ 2,
"always",
],
"no-confusing-arrow": [
0,
],
"no-console": [
- "warn",
+ 1,
+ {},
],
"no-const-assign": [
- "error",
+ 2,
+ ],
+ "no-constant-binary-expression": [
+ 2,
],
"no-constant-condition": [
- "warn",
+ 1,
+ {
+ "checkLoops": "allExceptWhileTrue",
+ },
],
"no-continue": [
- "error",
+ 2,
],
"no-control-regex": [
- "error",
+ 2,
],
"no-debugger": [
- "error",
+ 2,
],
"no-delete-var": [
- "error",
+ 2,
],
"no-dupe-args": [
- "error",
+ 2,
],
"no-dupe-class-members": [
- "error",
+ 2,
],
"no-dupe-else-if": [
- "error",
+ 2,
],
"no-dupe-keys": [
- "error",
+ 2,
],
"no-duplicate-case": [
- "error",
+ 2,
],
"no-duplicate-imports": [
- "error",
+ 2,
+ {
+ "allowSeparateTypeImports": false,
+ "includeExports": false,
+ },
],
"no-else-return": [
- "error",
+ 2,
{
"allowElseIf": true,
},
],
"no-empty": [
- "error",
+ 2,
+ {
+ "allowEmptyCatch": false,
+ },
],
"no-empty-character-class": [
- "error",
+ 2,
],
"no-empty-function": [
- "error",
+ 2,
{
"allow": [
"arrowFunctions",
@@ -874,161 +2081,198 @@ exports[`keeps rules stable 1`] = `
},
],
"no-empty-pattern": [
- "error",
+ 2,
+ {
+ "allowObjectPatternsAsParameters": false,
+ },
+ ],
+ "no-empty-static-block": [
+ 2,
],
"no-eval": [
- "error",
+ 2,
+ {
+ "allowIndirect": false,
+ },
],
"no-ex-assign": [
- "error",
+ 2,
],
"no-extend-native": [
- "error",
+ 2,
+ {
+ "exceptions": [],
+ },
],
"no-extra-bind": [
- "error",
+ 2,
],
"no-extra-boolean-cast": [
- "error",
+ 2,
+ {},
],
"no-extra-label": [
- "error",
+ 2,
],
"no-extra-parens": [
- "off",
+ 0,
],
"no-extra-semi": [
- "off",
+ 0,
],
"no-fallthrough": [
- "error",
+ 2,
+ {
+ "allowEmptyCase": false,
+ "reportUnusedFallthroughComment": false,
+ },
],
"no-floating-decimal": [
- "off",
+ 0,
],
"no-func-assign": [
- "error",
+ 2,
],
"no-global-assign": [
- "error",
+ 2,
+ {
+ "exceptions": [],
+ },
],
"no-implied-eval": [
- "error",
+ 2,
],
"no-import-assign": [
- "error",
- ],
- "no-inner-declarations": [
- "error",
+ 2,
],
"no-invalid-regexp": [
- "error",
+ 2,
+ {},
],
"no-irregular-whitespace": [
- "error",
+ 2,
+ {
+ "skipComments": false,
+ "skipJSXText": false,
+ "skipRegExps": false,
+ "skipStrings": true,
+ "skipTemplates": false,
+ },
],
"no-iterator": [
- "error",
+ 2,
],
"no-label-var": [
- "error",
+ 2,
],
"no-labels": [
- "error",
+ 2,
{
"allowLoop": false,
"allowSwitch": false,
},
],
"no-lone-blocks": [
- "error",
+ 2,
],
"no-lonely-if": [
- "error",
+ 2,
],
"no-loop-func": [
- "error",
+ 2,
],
"no-loss-of-precision": [
- "error",
+ 2,
],
"no-misleading-character-class": [
- "error",
+ 2,
+ {
+ "allowEscape": false,
+ },
],
"no-mixed-operators": [
0,
],
"no-mixed-spaces-and-tabs": [
- "off",
+ 0,
],
"no-multi-assign": [
- "error",
+ 2,
+ {
+ "ignoreNonDeclaration": false,
+ },
],
"no-multi-spaces": [
- "off",
+ 0,
],
"no-multi-str": [
- "error",
+ 2,
],
"no-multiple-empty-lines": [
- "off",
+ 0,
],
"no-nested-ternary": [
- "error",
+ 2,
],
"no-new": [
- "error",
+ 2,
],
"no-new-func": [
- "error",
+ 2,
],
- "no-new-symbol": [
- "error",
+ "no-new-native-nonconstructor": [
+ 2,
],
"no-new-wrappers": [
- "error",
+ 2,
],
"no-nonoctal-decimal-escape": [
- "error",
+ 2,
],
"no-obj-calls": [
- "error",
+ 2,
],
"no-object-constructor": [
- "error",
+ 2,
],
"no-octal": [
- "error",
+ 2,
],
"no-octal-escape": [
- "error",
+ 2,
],
"no-param-reassign": [
- "error",
+ 2,
{
"props": false,
},
],
"no-plusplus": [
- "error",
+ 2,
+ {
+ "allowForLoopAfterthoughts": false,
+ },
],
"no-proto": [
- "error",
+ 2,
],
"no-prototype-builtins": [
- "off",
+ 0,
],
"no-redeclare": [
- "error",
+ 2,
+ {
+ "builtinGlobals": true,
+ },
],
"no-regex-spaces": [
- "error",
+ 2,
],
"no-reserved-keys": [
- "off",
+ 0,
],
"no-restricted-globals": [
- "error",
+ 2,
"isFinite",
"isNaN",
"addEventListener",
@@ -1091,10 +2335,10 @@ exports[`keeps rules stable 1`] = `
"top",
],
"no-restricted-imports": [
- "error",
+ 2,
],
"no-restricted-properties": [
- "error",
+ 2,
{
"message": "arguments.callee is deprecated",
"object": "arguments",
@@ -1145,7 +2389,7 @@ exports[`keeps rules stable 1`] = `
},
],
"no-restricted-syntax": [
- "error",
+ 2,
{
"message": "for..in loops iterate over the entire prototype chain, which is virtually never what you want. Use Object.{keys,values,entries}, and iterate over the resulting array.",
"selector": "ForInStatement",
@@ -1172,65 +2416,81 @@ exports[`keeps rules stable 1`] = `
},
],
"no-return-assign": [
- "error",
+ 2,
"except-parens",
],
"no-script-url": [
- "error",
+ 2,
],
"no-self-assign": [
- "error",
+ 2,
+ {
+ "props": true,
+ },
],
"no-self-compare": [
- "error",
+ 2,
],
"no-sequences": [
- "error",
+ 2,
+ {
+ "allowInParentheses": true,
+ },
],
"no-setter-return": [
- "error",
+ 2,
],
"no-shadow": [
- "error",
+ 2,
{
+ "allow": [],
"builtinGlobals": false,
"hoist": "all",
+ "ignoreFunctionTypeParameterNameValueShadow": true,
"ignoreOnInitialization": false,
+ "ignoreTypeValueShadow": true,
},
],
"no-shadow-restricted-names": [
- "error",
+ 2,
+ {
+ "reportGlobalThis": false,
+ },
],
"no-space-before-semi": [
- "off",
+ 0,
],
"no-spaced-func": [
- "off",
+ 0,
],
"no-sparse-arrays": [
- "error",
+ 2,
],
"no-tabs": [
0,
],
"no-template-curly-in-string": [
- "error",
+ 2,
],
"no-this-before-super": [
- "error",
+ 2,
],
"no-trailing-spaces": [
- "off",
+ 0,
],
"no-undef": [
- "error",
+ 2,
+ {
+ "typeof": false,
+ },
],
"no-undef-init": [
- "error",
+ 2,
],
"no-underscore-dangle": [
- "error",
+ 2,
{
+ "allow": [],
"allowAfterSuper": true,
"allowAfterThis": true,
"allowAfterThisConstructor": false,
@@ -1245,31 +2505,47 @@ exports[`keeps rules stable 1`] = `
0,
],
"no-unneeded-ternary": [
- "error",
+ 2,
{
"defaultAssignment": false,
},
],
"no-unreachable": [
- "error",
+ 2,
],
"no-unsafe-finally": [
- "error",
+ 2,
],
"no-unsafe-negation": [
- "error",
+ 2,
+ {
+ "enforceForOrderingRelations": false,
+ },
],
"no-unsafe-optional-chaining": [
- "error",
+ 2,
+ {
+ "disallowArithmeticOperators": false,
+ },
],
"no-unused-expressions": [
- "error",
+ 2,
+ {
+ "allowShortCircuit": false,
+ "allowTaggedTemplates": false,
+ "allowTernary": false,
+ "enforceForJSX": false,
+ "ignoreDirectives": false,
+ },
],
"no-unused-labels": [
- "error",
+ 2,
+ ],
+ "no-unused-private-class-members": [
+ 2,
],
"no-unused-vars": [
- "error",
+ 2,
{
"args": "after-used",
"ignoreRestSiblings": true,
@@ -1277,29 +2553,35 @@ exports[`keeps rules stable 1`] = `
},
],
"no-use-before-define": [
- "error",
+ 2,
"nofunc",
],
"no-useless-backreference": [
- "error",
+ 2,
],
"no-useless-catch": [
- "error",
+ 2,
],
"no-useless-computed-key": [
- "error",
+ 2,
+ {
+ "enforceForClassMembers": true,
+ },
],
"no-useless-concat": [
- "error",
+ 2,
],
"no-useless-constructor": [
- "error",
+ 2,
],
"no-useless-escape": [
- "error",
+ 2,
+ {
+ "allowRegexCharacters": [],
+ },
],
"no-useless-rename": [
- "error",
+ 2,
{
"ignoreDestructuring": false,
"ignoreExport": false,
@@ -1307,40 +2589,40 @@ exports[`keeps rules stable 1`] = `
},
],
"no-useless-return": [
- "error",
+ 2,
],
"no-var": [
- "error",
+ 2,
],
"no-void": [
- "error",
+ 2,
{
"allowAsStatement": true,
},
],
"no-whitespace-before-property": [
- "off",
+ 0,
],
"no-with": [
- "error",
+ 2,
],
"no-wrap-func": [
- "off",
+ 0,
],
"nonblock-statement-body-position": [
- "off",
+ 0,
],
"object-curly-newline": [
- "off",
+ 0,
],
"object-curly-spacing": [
- "off",
+ 0,
],
"object-property-newline": [
- "off",
+ 0,
],
"object-shorthand": [
- "error",
+ 2,
"always",
{
"avoidQuotes": true,
@@ -1348,47 +2630,47 @@ exports[`keeps rules stable 1`] = `
},
],
"one-var": [
- "error",
+ 2,
"never",
],
"one-var-declaration-per-line": [
- "off",
+ 0,
],
"operator-assignment": [
- "error",
+ 2,
"always",
],
"operator-linebreak": [
- "off",
+ 0,
],
"padded-blocks": [
- "off",
+ 0,
],
"prefer-arrow-callback": [
- "off",
+ 2,
{
"allowNamedFunctions": false,
"allowUnboundThis": true,
},
],
"prefer-const": [
- "error",
+ 2,
{
"destructuring": "any",
"ignoreReadBeforeAssign": true,
},
],
"prefer-numeric-literals": [
- "error",
+ 2,
],
"prefer-rest-params": [
- "error",
+ 2,
],
"prefer-template": [
- "error",
+ 2,
],
"prettier/prettier": [
- "warn",
+ 1,
{
"printWidth": 100,
"singleQuote": true,
@@ -1399,37 +2681,38 @@ exports[`keeps rules stable 1`] = `
},
],
"quote-props": [
- "off",
+ 0,
],
"quotes": [
0,
],
"radix": [
- "error",
+ 2,
+ "always",
],
"react-hooks/exhaustive-deps": [
- "error",
+ 2,
],
"react-hooks/rules-of-hooks": [
- "error",
+ 2,
],
"react/destructuring-assignment": [
- "error",
+ 2,
],
"react/display-name": [
- "off",
+ 0,
],
"react/jsx-child-element-spacing": [
- "off",
+ 0,
],
"react/jsx-closing-bracket-location": [
- "off",
+ 0,
],
"react/jsx-closing-tag-location": [
- "off",
+ 0,
],
"react/jsx-curly-brace-presence": [
- "error",
+ 2,
{
"children": "never",
"propElementValues": "always",
@@ -1437,38 +2720,38 @@ exports[`keeps rules stable 1`] = `
},
],
"react/jsx-curly-newline": [
- "off",
+ 0,
],
"react/jsx-curly-spacing": [
- "off",
+ 0,
],
"react/jsx-equals-spacing": [
- "off",
+ 0,
],
"react/jsx-first-prop-new-line": [
- "off",
+ 0,
],
"react/jsx-fragments": [
- "error",
+ 2,
"syntax",
],
"react/jsx-indent": [
- "off",
+ 0,
],
"react/jsx-indent-props": [
- "off",
+ 0,
],
"react/jsx-key": [
2,
],
"react/jsx-max-props-per-line": [
- "off",
+ 0,
],
"react/jsx-newline": [
- "off",
+ 0,
],
"react/jsx-no-bind": [
- "error",
+ 2,
{
"allowArrowFunctions": true,
"allowBind": false,
@@ -1490,25 +2773,25 @@ exports[`keeps rules stable 1`] = `
2,
],
"react/jsx-no-useless-fragment": [
- "error",
+ 2,
],
"react/jsx-one-expression-per-line": [
- "off",
+ 0,
],
"react/jsx-pascal-case": [
- "error",
+ 2,
],
"react/jsx-props-no-multi-spaces": [
- "off",
+ 0,
],
"react/jsx-sort-props": [
- "warn",
+ 1,
],
"react/jsx-space-before-closing": [
- "off",
+ 0,
],
"react/jsx-tag-spacing": [
- "off",
+ 0,
],
"react/jsx-uses-react": [
2,
@@ -1517,7 +2800,7 @@ exports[`keeps rules stable 1`] = `
2,
],
"react/jsx-wrap-multilines": [
- "off",
+ 0,
],
"react/no-children-prop": [
2,
@@ -1538,7 +2821,7 @@ exports[`keeps rules stable 1`] = `
2,
],
"react/no-redundant-should-component-update": [
- "error",
+ 2,
],
"react/no-render-return-value": [
2,
@@ -1547,10 +2830,10 @@ exports[`keeps rules stable 1`] = `
2,
],
"react/no-this-in-sfc": [
- "error",
+ 2,
],
"react/no-unescaped-entities": [
- "error",
+ 2,
{
"forbid": [
{
@@ -1572,19 +2855,19 @@ exports[`keeps rules stable 1`] = `
2,
],
"react/no-unsafe": [
- "error",
+ 2,
],
"react/no-unused-state": [
- "error",
+ 2,
],
"react/prefer-es6-class": [
- "error",
+ 2,
],
"react/prefer-read-only-props": [
- "error",
+ 2,
],
"react/prop-types": [
- "off",
+ 0,
],
"react/react-in-jsx-scope": [
2,
@@ -1593,264 +2876,277 @@ exports[`keeps rules stable 1`] = `
2,
],
"react/self-closing-comp": [
- "error",
+ 2,
],
"react/style-prop-object": [
- "error",
+ 2,
],
"require-yield": [
- "error",
+ 2,
],
"rest-spread-spacing": [
- "off",
+ 0,
],
"semi": [
- "off",
+ 0,
],
"semi-spacing": [
- "off",
+ 0,
],
"semi-style": [
- "off",
+ 0,
],
"sort-imports": [
- "error",
+ 2,
{
"allowSeparatedGroups": false,
"ignoreCase": true,
"ignoreDeclarationSort": true,
"ignoreMemberSort": false,
+ "memberSyntaxSortOrder": [
+ "none",
+ "all",
+ "multiple",
+ "single",
+ ],
},
],
"space-after-function-name": [
- "off",
+ 0,
],
"space-after-keywords": [
- "off",
+ 0,
],
"space-before-blocks": [
- "off",
+ 0,
],
"space-before-function-paren": [
- "off",
+ 0,
],
"space-before-function-parentheses": [
- "off",
+ 0,
],
"space-before-keywords": [
- "off",
+ 0,
],
"space-in-brackets": [
- "off",
+ 0,
],
"space-in-parens": [
- "off",
+ 0,
],
"space-infix-ops": [
- "off",
+ 0,
],
"space-return-throw-case": [
- "off",
+ 0,
],
"space-unary-ops": [
- "off",
+ 0,
],
"space-unary-word-ops": [
- "off",
+ 0,
],
"standard/array-bracket-even-spacing": [
- "off",
+ 0,
],
"standard/computed-property-even-spacing": [
- "off",
+ 0,
],
"standard/object-curly-even-spacing": [
- "off",
+ 0,
],
"strict": [
- "error",
+ 2,
+ "safe",
],
"switch-case/newline-between-switch-case": [
- "warn",
+ 1,
"always",
{
"fallthrough": "never",
},
],
"switch-colon-spacing": [
- "off",
+ 0,
],
"symbol-description": [
- "error",
+ 2,
],
"template-curly-spacing": [
- "off",
+ 0,
],
"template-tag-spacing": [
- "off",
+ 0,
],
"unicorn/empty-brace-spaces": [
- "off",
+ 0,
],
"unicorn/no-nested-ternary": [
- "off",
+ 0,
],
"unicorn/number-literal-case": [
- "off",
+ 0,
],
"unicorn/template-indent": [
0,
],
"use-isnan": [
- "error",
+ 2,
+ {
+ "enforceForIndexOf": false,
+ "enforceForSwitchCase": true,
+ },
],
"valid-jsdoc": [
- "off",
+ 0,
{
"requireParamDescription": false,
- "requireParamType": true,
- "requireReturn": true,
"requireReturnDescription": false,
- "requireReturnType": true,
},
],
"valid-typeof": [
- "error",
+ 2,
{
"requireStringLiterals": true,
},
],
"vars-on-top": [
- "error",
+ 2,
],
"vue/array-bracket-newline": [
- "off",
+ 0,
],
"vue/array-bracket-spacing": [
- "off",
+ 0,
],
"vue/array-element-newline": [
- "off",
+ 0,
],
"vue/arrow-spacing": [
- "off",
+ 0,
],
"vue/block-spacing": [
- "off",
+ 0,
],
"vue/block-tag-newline": [
- "off",
+ 0,
],
"vue/brace-style": [
- "off",
+ 0,
],
"vue/comma-dangle": [
- "off",
+ 0,
],
"vue/comma-spacing": [
- "off",
+ 0,
],
"vue/comma-style": [
- "off",
+ 0,
],
"vue/dot-location": [
- "off",
+ 0,
],
"vue/func-call-spacing": [
- "off",
+ 0,
],
"vue/html-closing-bracket-newline": [
- "off",
+ 0,
],
"vue/html-closing-bracket-spacing": [
- "off",
+ 0,
],
"vue/html-end-tags": [
- "off",
+ 0,
],
"vue/html-indent": [
- "off",
+ 0,
],
"vue/html-quotes": [
- "off",
+ 0,
],
"vue/html-self-closing": [
0,
],
"vue/key-spacing": [
- "off",
+ 0,
],
"vue/keyword-spacing": [
- "off",
+ 0,
],
"vue/max-attributes-per-line": [
- "off",
+ 0,
],
"vue/max-len": [
0,
],
"vue/multiline-html-element-content-newline": [
- "off",
+ 0,
],
"vue/multiline-ternary": [
- "off",
+ 0,
],
"vue/mustache-interpolation-spacing": [
- "off",
+ 0,
],
"vue/no-extra-parens": [
- "off",
+ 0,
],
"vue/no-multi-spaces": [
- "off",
+ 0,
],
"vue/no-spaces-around-equal-signs-in-attribute": [
- "off",
+ 0,
],
"vue/object-curly-newline": [
- "off",
+ 0,
],
"vue/object-curly-spacing": [
- "off",
+ 0,
],
"vue/object-property-newline": [
- "off",
+ 0,
],
"vue/operator-linebreak": [
- "off",
+ 0,
],
"vue/quote-props": [
- "off",
+ 0,
],
"vue/script-indent": [
- "off",
+ 0,
],
"vue/singleline-html-element-content-newline": [
- "off",
+ 0,
],
"vue/space-in-parens": [
- "off",
+ 0,
],
"vue/space-infix-ops": [
- "off",
+ 0,
],
"vue/space-unary-ops": [
- "off",
+ 0,
],
"vue/template-curly-spacing": [
- "off",
+ 0,
],
"wrap-iife": [
- "off",
+ 0,
],
"wrap-regex": [
- "off",
+ 0,
],
"yield-star-spacing": [
- "off",
+ 0,
],
"yoda": [
- "error",
+ 2,
+ "never",
+ {
+ "exceptRange": false,
+ "onlyEquality": false,
+ },
],
},
"settings": {
diff --git a/packages/eslint-config/test/__snapshots__/spec.spec.js.snap b/packages/eslint-config/test/__snapshots__/spec.spec.js.snap
index 8974ca1..8fa66bf 100644
--- a/packages/eslint-config/test/__snapshots__/spec.spec.js.snap
+++ b/packages/eslint-config/test/__snapshots__/spec.spec.js.snap
@@ -2,49 +2,1249 @@
exports[`keeps rules stable 1`] = `
{
- "env": {
- "browser": true,
- "es6": true,
- "jest": true,
- "jest/globals": true,
- "node": true,
- },
- "globals": {},
- "ignorePatterns": [],
- "noInlineConfig": undefined,
- "parser": null,
- "parserOptions": {
- "ecmaFeatures": {
- "jsx": true,
+ "language": "@/js",
+ "languageOptions": {
+ "ecmaVersion": 2026,
+ "globals": {
+ "AI": false,
+ "AITextSession": false,
+ "AbortController": false,
+ "AbortSignal": false,
+ "AbsoluteOrientationSensor": false,
+ "AbstractRange": false,
+ "Accelerometer": false,
+ "AggregateError": false,
+ "AnalyserNode": false,
+ "Animation": false,
+ "AnimationEffect": false,
+ "AnimationEvent": false,
+ "AnimationPlaybackEvent": false,
+ "AnimationTimeline": false,
+ "Array": false,
+ "ArrayBuffer": false,
+ "Atomics": false,
+ "Attr": false,
+ "Audio": false,
+ "AudioBuffer": false,
+ "AudioBufferSourceNode": false,
+ "AudioContext": false,
+ "AudioData": false,
+ "AudioDecoder": false,
+ "AudioDestinationNode": false,
+ "AudioEncoder": false,
+ "AudioListener": false,
+ "AudioNode": false,
+ "AudioParam": false,
+ "AudioParamMap": false,
+ "AudioProcessingEvent": false,
+ "AudioScheduledSourceNode": false,
+ "AudioSinkInfo": false,
+ "AudioWorklet": false,
+ "AudioWorkletGlobalScope": false,
+ "AudioWorkletNode": false,
+ "AudioWorkletProcessor": false,
+ "AuthenticatorAssertionResponse": false,
+ "AuthenticatorAttestationResponse": false,
+ "AuthenticatorResponse": false,
+ "BackgroundFetchManager": false,
+ "BackgroundFetchRecord": false,
+ "BackgroundFetchRegistration": false,
+ "BarProp": false,
+ "BarcodeDetector": false,
+ "BaseAudioContext": false,
+ "BatteryManager": false,
+ "BeforeUnloadEvent": false,
+ "BigInt": false,
+ "BigInt64Array": false,
+ "BigUint64Array": false,
+ "BiquadFilterNode": false,
+ "Blob": false,
+ "BlobEvent": false,
+ "Bluetooth": false,
+ "BluetoothCharacteristicProperties": false,
+ "BluetoothDevice": false,
+ "BluetoothRemoteGATTCharacteristic": false,
+ "BluetoothRemoteGATTDescriptor": false,
+ "BluetoothRemoteGATTServer": false,
+ "BluetoothRemoteGATTService": false,
+ "BluetoothUUID": false,
+ "Boolean": false,
+ "BroadcastChannel": false,
+ "BrowserCaptureMediaStreamTrack": false,
+ "ByteLengthQueuingStrategy": false,
+ "CDATASection": false,
+ "CSS": false,
+ "CSSAnimation": false,
+ "CSSConditionRule": false,
+ "CSSContainerRule": false,
+ "CSSCounterStyleRule": false,
+ "CSSFontFaceRule": false,
+ "CSSFontFeatureValuesRule": false,
+ "CSSFontPaletteValuesRule": false,
+ "CSSGroupingRule": false,
+ "CSSImageValue": false,
+ "CSSImportRule": false,
+ "CSSKeyframeRule": false,
+ "CSSKeyframesRule": false,
+ "CSSKeywordValue": false,
+ "CSSLayerBlockRule": false,
+ "CSSLayerStatementRule": false,
+ "CSSMarginRule": false,
+ "CSSMathClamp": false,
+ "CSSMathInvert": false,
+ "CSSMathMax": false,
+ "CSSMathMin": false,
+ "CSSMathNegate": false,
+ "CSSMathProduct": false,
+ "CSSMathSum": false,
+ "CSSMathValue": false,
+ "CSSMatrixComponent": false,
+ "CSSMediaRule": false,
+ "CSSNamespaceRule": false,
+ "CSSNestedDeclarations": false,
+ "CSSNumericArray": false,
+ "CSSNumericValue": false,
+ "CSSPageDescriptors": false,
+ "CSSPageRule": false,
+ "CSSPerspective": false,
+ "CSSPositionTryDescriptors": false,
+ "CSSPositionTryRule": false,
+ "CSSPositionValue": false,
+ "CSSPropertyRule": false,
+ "CSSRotate": false,
+ "CSSRule": false,
+ "CSSRuleList": false,
+ "CSSScale": false,
+ "CSSScopeRule": false,
+ "CSSSkew": false,
+ "CSSSkewX": false,
+ "CSSSkewY": false,
+ "CSSStartingStyleRule": false,
+ "CSSStyleDeclaration": false,
+ "CSSStyleRule": false,
+ "CSSStyleSheet": false,
+ "CSSStyleValue": false,
+ "CSSSupportsRule": false,
+ "CSSTransformComponent": false,
+ "CSSTransformValue": false,
+ "CSSTransition": false,
+ "CSSTranslate": false,
+ "CSSUnitValue": false,
+ "CSSUnparsedValue": false,
+ "CSSVariableReferenceValue": false,
+ "CSSViewTransitionRule": false,
+ "Cache": false,
+ "CacheStorage": false,
+ "CanvasCaptureMediaStream": false,
+ "CanvasCaptureMediaStreamTrack": false,
+ "CanvasGradient": false,
+ "CanvasPattern": false,
+ "CanvasRenderingContext2D": false,
+ "CaptureController": false,
+ "CaretPosition": false,
+ "ChannelMergerNode": false,
+ "ChannelSplitterNode": false,
+ "ChapterInformation": false,
+ "CharacterBoundsUpdateEvent": false,
+ "CharacterData": false,
+ "Clipboard": false,
+ "ClipboardEvent": false,
+ "ClipboardItem": false,
+ "CloseEvent": false,
+ "CloseWatcher": false,
+ "Comment": false,
+ "CompositionEvent": false,
+ "CompressionStream": false,
+ "ConstantSourceNode": false,
+ "ContentVisibilityAutoStateChangeEvent": false,
+ "ConvolverNode": false,
+ "CookieChangeEvent": false,
+ "CookieDeprecationLabel": false,
+ "CookieStore": false,
+ "CookieStoreManager": false,
+ "CountQueuingStrategy": false,
+ "Credential": false,
+ "CredentialsContainer": false,
+ "CropTarget": false,
+ "Crypto": false,
+ "CryptoKey": false,
+ "CustomElementRegistry": false,
+ "CustomEvent": false,
+ "CustomStateSet": false,
+ "DOMError": false,
+ "DOMException": false,
+ "DOMImplementation": false,
+ "DOMMatrix": false,
+ "DOMMatrixReadOnly": false,
+ "DOMParser": false,
+ "DOMPoint": false,
+ "DOMPointReadOnly": false,
+ "DOMQuad": false,
+ "DOMRect": false,
+ "DOMRectList": false,
+ "DOMRectReadOnly": false,
+ "DOMStringList": false,
+ "DOMStringMap": false,
+ "DOMTokenList": false,
+ "DataTransfer": false,
+ "DataTransferItem": false,
+ "DataTransferItemList": false,
+ "DataView": false,
+ "Date": false,
+ "DecompressionStream": false,
+ "DelayNode": false,
+ "DelegatedInkTrailPresenter": false,
+ "DeviceMotionEvent": false,
+ "DeviceMotionEventAcceleration": false,
+ "DeviceMotionEventRotationRate": false,
+ "DeviceOrientationEvent": false,
+ "Document": false,
+ "DocumentFragment": false,
+ "DocumentPictureInPicture": false,
+ "DocumentPictureInPictureEvent": false,
+ "DocumentTimeline": false,
+ "DocumentType": false,
+ "DragEvent": false,
+ "DynamicsCompressorNode": false,
+ "EditContext": false,
+ "Element": false,
+ "ElementInternals": false,
+ "EncodedAudioChunk": false,
+ "EncodedVideoChunk": false,
+ "Error": false,
+ "ErrorEvent": false,
+ "EvalError": false,
+ "Event": false,
+ "EventCounts": false,
+ "EventSource": false,
+ "EventTarget": false,
+ "External": false,
+ "EyeDropper": false,
+ "FeaturePolicy": false,
+ "FederatedCredential": false,
+ "Fence": false,
+ "FencedFrameConfig": false,
+ "FetchLaterResult": false,
+ "File": false,
+ "FileList": false,
+ "FileReader": false,
+ "FileSystem": false,
+ "FileSystemDirectoryEntry": false,
+ "FileSystemDirectoryHandle": false,
+ "FileSystemDirectoryReader": false,
+ "FileSystemEntry": false,
+ "FileSystemFileEntry": false,
+ "FileSystemFileHandle": false,
+ "FileSystemHandle": false,
+ "FileSystemWritableFileStream": false,
+ "FinalizationRegistry": false,
+ "Float16Array": false,
+ "Float32Array": false,
+ "Float64Array": false,
+ "FocusEvent": false,
+ "FontData": false,
+ "FontFace": false,
+ "FontFaceSet": false,
+ "FontFaceSetLoadEvent": false,
+ "FormData": false,
+ "FormDataEvent": false,
+ "FragmentDirective": false,
+ "Function": false,
+ "GPU": false,
+ "GPUAdapter": false,
+ "GPUAdapterInfo": false,
+ "GPUBindGroup": false,
+ "GPUBindGroupLayout": false,
+ "GPUBuffer": false,
+ "GPUBufferUsage": false,
+ "GPUCanvasContext": false,
+ "GPUColorWrite": false,
+ "GPUCommandBuffer": false,
+ "GPUCommandEncoder": false,
+ "GPUCompilationInfo": false,
+ "GPUCompilationMessage": false,
+ "GPUComputePassEncoder": false,
+ "GPUComputePipeline": false,
+ "GPUDevice": false,
+ "GPUDeviceLostInfo": false,
+ "GPUError": false,
+ "GPUExternalTexture": false,
+ "GPUInternalError": false,
+ "GPUMapMode": false,
+ "GPUOutOfMemoryError": false,
+ "GPUPipelineError": false,
+ "GPUPipelineLayout": false,
+ "GPUQuerySet": false,
+ "GPUQueue": false,
+ "GPURenderBundle": false,
+ "GPURenderBundleEncoder": false,
+ "GPURenderPassEncoder": false,
+ "GPURenderPipeline": false,
+ "GPUSampler": false,
+ "GPUShaderModule": false,
+ "GPUShaderStage": false,
+ "GPUSupportedFeatures": false,
+ "GPUSupportedLimits": false,
+ "GPUTexture": false,
+ "GPUTextureUsage": false,
+ "GPUTextureView": false,
+ "GPUUncapturedErrorEvent": false,
+ "GPUValidationError": false,
+ "GainNode": false,
+ "Gamepad": false,
+ "GamepadAxisMoveEvent": false,
+ "GamepadButton": false,
+ "GamepadButtonEvent": false,
+ "GamepadEvent": false,
+ "GamepadHapticActuator": false,
+ "GamepadPose": false,
+ "Geolocation": false,
+ "GeolocationCoordinates": false,
+ "GeolocationPosition": false,
+ "GeolocationPositionError": false,
+ "GravitySensor": false,
+ "Gyroscope": false,
+ "HID": false,
+ "HIDConnectionEvent": false,
+ "HIDDevice": false,
+ "HIDInputReportEvent": false,
+ "HTMLAllCollection": false,
+ "HTMLAnchorElement": false,
+ "HTMLAreaElement": false,
+ "HTMLAudioElement": false,
+ "HTMLBRElement": false,
+ "HTMLBaseElement": false,
+ "HTMLBodyElement": false,
+ "HTMLButtonElement": false,
+ "HTMLCanvasElement": false,
+ "HTMLCollection": false,
+ "HTMLDListElement": false,
+ "HTMLDataElement": false,
+ "HTMLDataListElement": false,
+ "HTMLDetailsElement": false,
+ "HTMLDialogElement": false,
+ "HTMLDirectoryElement": false,
+ "HTMLDivElement": false,
+ "HTMLDocument": false,
+ "HTMLElement": false,
+ "HTMLEmbedElement": false,
+ "HTMLFencedFrameElement": false,
+ "HTMLFieldSetElement": false,
+ "HTMLFontElement": false,
+ "HTMLFormControlsCollection": false,
+ "HTMLFormElement": false,
+ "HTMLFrameElement": false,
+ "HTMLFrameSetElement": false,
+ "HTMLHRElement": false,
+ "HTMLHeadElement": false,
+ "HTMLHeadingElement": false,
+ "HTMLHtmlElement": false,
+ "HTMLIFrameElement": false,
+ "HTMLImageElement": false,
+ "HTMLInputElement": false,
+ "HTMLLIElement": false,
+ "HTMLLabelElement": false,
+ "HTMLLegendElement": false,
+ "HTMLLinkElement": false,
+ "HTMLMapElement": false,
+ "HTMLMarqueeElement": false,
+ "HTMLMediaElement": false,
+ "HTMLMenuElement": false,
+ "HTMLMetaElement": false,
+ "HTMLMeterElement": false,
+ "HTMLModElement": false,
+ "HTMLOListElement": false,
+ "HTMLObjectElement": false,
+ "HTMLOptGroupElement": false,
+ "HTMLOptionElement": false,
+ "HTMLOptionsCollection": false,
+ "HTMLOutputElement": false,
+ "HTMLParagraphElement": false,
+ "HTMLParamElement": false,
+ "HTMLPictureElement": false,
+ "HTMLPreElement": false,
+ "HTMLProgressElement": false,
+ "HTMLQuoteElement": false,
+ "HTMLScriptElement": false,
+ "HTMLSelectElement": false,
+ "HTMLSlotElement": false,
+ "HTMLSourceElement": false,
+ "HTMLSpanElement": false,
+ "HTMLStyleElement": false,
+ "HTMLTableCaptionElement": false,
+ "HTMLTableCellElement": false,
+ "HTMLTableColElement": false,
+ "HTMLTableElement": false,
+ "HTMLTableRowElement": false,
+ "HTMLTableSectionElement": false,
+ "HTMLTemplateElement": false,
+ "HTMLTextAreaElement": false,
+ "HTMLTimeElement": false,
+ "HTMLTitleElement": false,
+ "HTMLTrackElement": false,
+ "HTMLUListElement": false,
+ "HTMLUnknownElement": false,
+ "HTMLVideoElement": false,
+ "HashChangeEvent": false,
+ "Headers": false,
+ "Highlight": false,
+ "HighlightRegistry": false,
+ "History": false,
+ "IDBCursor": false,
+ "IDBCursorWithValue": false,
+ "IDBDatabase": false,
+ "IDBFactory": false,
+ "IDBIndex": false,
+ "IDBKeyRange": false,
+ "IDBObjectStore": false,
+ "IDBOpenDBRequest": false,
+ "IDBRequest": false,
+ "IDBTransaction": false,
+ "IDBVersionChangeEvent": false,
+ "IIRFilterNode": false,
+ "IdentityCredential": false,
+ "IdentityCredentialError": false,
+ "IdentityProvider": false,
+ "IdleDeadline": false,
+ "IdleDetector": false,
+ "Image": false,
+ "ImageBitmap": false,
+ "ImageBitmapRenderingContext": false,
+ "ImageCapture": false,
+ "ImageData": false,
+ "ImageDecoder": false,
+ "ImageTrack": false,
+ "ImageTrackList": false,
+ "Infinity": false,
+ "Ink": false,
+ "InputDeviceCapabilities": false,
+ "InputDeviceInfo": false,
+ "InputEvent": false,
+ "Int16Array": false,
+ "Int32Array": false,
+ "Int8Array": false,
+ "IntersectionObserver": false,
+ "IntersectionObserverEntry": false,
+ "Intl": false,
+ "JSON": false,
+ "Keyboard": false,
+ "KeyboardEvent": false,
+ "KeyboardLayoutMap": false,
+ "KeyframeEffect": false,
+ "LargestContentfulPaint": false,
+ "LaunchParams": false,
+ "LaunchQueue": false,
+ "LayoutShift": false,
+ "LayoutShiftAttribution": false,
+ "LinearAccelerationSensor": false,
+ "Location": false,
+ "Lock": false,
+ "LockManager": false,
+ "MIDIAccess": false,
+ "MIDIConnectionEvent": false,
+ "MIDIInput": false,
+ "MIDIInputMap": false,
+ "MIDIMessageEvent": false,
+ "MIDIOutput": false,
+ "MIDIOutputMap": false,
+ "MIDIPort": false,
+ "Map": false,
+ "Math": false,
+ "MathMLElement": false,
+ "MediaCapabilities": false,
+ "MediaCapabilitiesInfo": false,
+ "MediaDeviceInfo": false,
+ "MediaDevices": false,
+ "MediaElementAudioSourceNode": false,
+ "MediaEncryptedEvent": false,
+ "MediaError": false,
+ "MediaKeyError": false,
+ "MediaKeyMessageEvent": false,
+ "MediaKeySession": false,
+ "MediaKeyStatusMap": false,
+ "MediaKeySystemAccess": false,
+ "MediaKeys": false,
+ "MediaList": false,
+ "MediaMetadata": false,
+ "MediaQueryList": false,
+ "MediaQueryListEvent": false,
+ "MediaRecorder": false,
+ "MediaRecorderErrorEvent": false,
+ "MediaSession": false,
+ "MediaSource": false,
+ "MediaSourceHandle": false,
+ "MediaStream": false,
+ "MediaStreamAudioDestinationNode": false,
+ "MediaStreamAudioSourceNode": false,
+ "MediaStreamEvent": false,
+ "MediaStreamTrack": false,
+ "MediaStreamTrackAudioSourceNode": false,
+ "MediaStreamTrackAudioStats": false,
+ "MediaStreamTrackEvent": false,
+ "MediaStreamTrackGenerator": false,
+ "MediaStreamTrackProcessor": false,
+ "MediaStreamTrackVideoStats": false,
+ "MessageChannel": false,
+ "MessageEvent": false,
+ "MessagePort": false,
+ "MimeType": false,
+ "MimeTypeArray": false,
+ "ModelGenericSession": false,
+ "ModelManager": false,
+ "MouseEvent": false,
+ "MutationEvent": false,
+ "MutationObserver": false,
+ "MutationRecord": false,
+ "NaN": false,
+ "NamedNodeMap": false,
+ "NavigateEvent": false,
+ "Navigation": false,
+ "NavigationActivation": false,
+ "NavigationCurrentEntryChangeEvent": false,
+ "NavigationDestination": false,
+ "NavigationHistoryEntry": false,
+ "NavigationPreloadManager": false,
+ "NavigationTransition": false,
+ "Navigator": false,
+ "NavigatorLogin": false,
+ "NavigatorManagedData": false,
+ "NavigatorUAData": false,
+ "NetworkInformation": false,
+ "Node": false,
+ "NodeFilter": false,
+ "NodeIterator": false,
+ "NodeList": false,
+ "NotRestoredReasonDetails": false,
+ "NotRestoredReasons": false,
+ "Notification": false,
+ "NotifyPaintEvent": false,
+ "Number": false,
+ "OTPCredential": false,
+ "Object": false,
+ "OfflineAudioCompletionEvent": false,
+ "OfflineAudioContext": false,
+ "OffscreenCanvas": false,
+ "OffscreenCanvasRenderingContext2D": false,
+ "Option": false,
+ "OrientationSensor": false,
+ "OscillatorNode": false,
+ "OverconstrainedError": false,
+ "PERSISTENT": false,
+ "PageRevealEvent": false,
+ "PageSwapEvent": false,
+ "PageTransitionEvent": false,
+ "PannerNode": false,
+ "PasswordCredential": false,
+ "Path2D": false,
+ "PaymentAddress": false,
+ "PaymentManager": false,
+ "PaymentMethodChangeEvent": false,
+ "PaymentRequest": false,
+ "PaymentRequestUpdateEvent": false,
+ "PaymentResponse": false,
+ "Performance": false,
+ "PerformanceElementTiming": false,
+ "PerformanceEntry": false,
+ "PerformanceEventTiming": false,
+ "PerformanceLongAnimationFrameTiming": false,
+ "PerformanceLongTaskTiming": false,
+ "PerformanceMark": false,
+ "PerformanceMeasure": false,
+ "PerformanceNavigation": false,
+ "PerformanceNavigationTiming": false,
+ "PerformanceObserver": false,
+ "PerformanceObserverEntryList": false,
+ "PerformancePaintTiming": false,
+ "PerformanceResourceTiming": false,
+ "PerformanceScriptTiming": false,
+ "PerformanceServerTiming": false,
+ "PerformanceTiming": false,
+ "PeriodicSyncManager": false,
+ "PeriodicWave": false,
+ "PermissionStatus": false,
+ "Permissions": false,
+ "PictureInPictureEvent": false,
+ "PictureInPictureWindow": false,
+ "Plugin": false,
+ "PluginArray": false,
+ "PointerEvent": false,
+ "PopStateEvent": false,
+ "Presentation": false,
+ "PresentationAvailability": false,
+ "PresentationConnection": false,
+ "PresentationConnectionAvailableEvent": false,
+ "PresentationConnectionCloseEvent": false,
+ "PresentationConnectionList": false,
+ "PresentationReceiver": false,
+ "PresentationRequest": false,
+ "PressureObserver": false,
+ "PressureRecord": false,
+ "ProcessingInstruction": false,
+ "Profiler": false,
+ "ProgressEvent": false,
+ "Promise": false,
+ "PromiseRejectionEvent": false,
+ "ProtectedAudience": false,
+ "Proxy": false,
+ "PublicKeyCredential": false,
+ "PushManager": false,
+ "PushSubscription": false,
+ "PushSubscriptionOptions": false,
+ "RTCCertificate": false,
+ "RTCDTMFSender": false,
+ "RTCDTMFToneChangeEvent": false,
+ "RTCDataChannel": false,
+ "RTCDataChannelEvent": false,
+ "RTCDtlsTransport": false,
+ "RTCEncodedAudioFrame": false,
+ "RTCEncodedVideoFrame": false,
+ "RTCError": false,
+ "RTCErrorEvent": false,
+ "RTCIceCandidate": false,
+ "RTCIceTransport": false,
+ "RTCPeerConnection": false,
+ "RTCPeerConnectionIceErrorEvent": false,
+ "RTCPeerConnectionIceEvent": false,
+ "RTCRtpReceiver": false,
+ "RTCRtpScriptTransform": false,
+ "RTCRtpSender": false,
+ "RTCRtpTransceiver": false,
+ "RTCSctpTransport": false,
+ "RTCSessionDescription": false,
+ "RTCStatsReport": false,
+ "RTCTrackEvent": false,
+ "RadioNodeList": false,
+ "Range": false,
+ "RangeError": false,
+ "ReadableByteStreamController": false,
+ "ReadableStream": false,
+ "ReadableStreamBYOBReader": false,
+ "ReadableStreamBYOBRequest": false,
+ "ReadableStreamDefaultController": false,
+ "ReadableStreamDefaultReader": false,
+ "ReferenceError": false,
+ "Reflect": false,
+ "RegExp": false,
+ "RelativeOrientationSensor": false,
+ "RemotePlayback": false,
+ "ReportingObserver": false,
+ "Request": false,
+ "ResizeObserver": false,
+ "ResizeObserverEntry": false,
+ "ResizeObserverSize": false,
+ "Response": false,
+ "SVGAElement": false,
+ "SVGAngle": false,
+ "SVGAnimateElement": false,
+ "SVGAnimateMotionElement": false,
+ "SVGAnimateTransformElement": false,
+ "SVGAnimatedAngle": false,
+ "SVGAnimatedBoolean": false,
+ "SVGAnimatedEnumeration": false,
+ "SVGAnimatedInteger": false,
+ "SVGAnimatedLength": false,
+ "SVGAnimatedLengthList": false,
+ "SVGAnimatedNumber": false,
+ "SVGAnimatedNumberList": false,
+ "SVGAnimatedPreserveAspectRatio": false,
+ "SVGAnimatedRect": false,
+ "SVGAnimatedString": false,
+ "SVGAnimatedTransformList": false,
+ "SVGAnimationElement": false,
+ "SVGCircleElement": false,
+ "SVGClipPathElement": false,
+ "SVGComponentTransferFunctionElement": false,
+ "SVGDefsElement": false,
+ "SVGDescElement": false,
+ "SVGElement": false,
+ "SVGEllipseElement": false,
+ "SVGFEBlendElement": false,
+ "SVGFEColorMatrixElement": false,
+ "SVGFEComponentTransferElement": false,
+ "SVGFECompositeElement": false,
+ "SVGFEConvolveMatrixElement": false,
+ "SVGFEDiffuseLightingElement": false,
+ "SVGFEDisplacementMapElement": false,
+ "SVGFEDistantLightElement": false,
+ "SVGFEDropShadowElement": false,
+ "SVGFEFloodElement": false,
+ "SVGFEFuncAElement": false,
+ "SVGFEFuncBElement": false,
+ "SVGFEFuncGElement": false,
+ "SVGFEFuncRElement": false,
+ "SVGFEGaussianBlurElement": false,
+ "SVGFEImageElement": false,
+ "SVGFEMergeElement": false,
+ "SVGFEMergeNodeElement": false,
+ "SVGFEMorphologyElement": false,
+ "SVGFEOffsetElement": false,
+ "SVGFEPointLightElement": false,
+ "SVGFESpecularLightingElement": false,
+ "SVGFESpotLightElement": false,
+ "SVGFETileElement": false,
+ "SVGFETurbulenceElement": false,
+ "SVGFilterElement": false,
+ "SVGForeignObjectElement": false,
+ "SVGGElement": false,
+ "SVGGeometryElement": false,
+ "SVGGradientElement": false,
+ "SVGGraphicsElement": false,
+ "SVGImageElement": false,
+ "SVGLength": false,
+ "SVGLengthList": false,
+ "SVGLineElement": false,
+ "SVGLinearGradientElement": false,
+ "SVGMPathElement": false,
+ "SVGMarkerElement": false,
+ "SVGMaskElement": false,
+ "SVGMatrix": false,
+ "SVGMetadataElement": false,
+ "SVGNumber": false,
+ "SVGNumberList": false,
+ "SVGPathElement": false,
+ "SVGPatternElement": false,
+ "SVGPoint": false,
+ "SVGPointList": false,
+ "SVGPolygonElement": false,
+ "SVGPolylineElement": false,
+ "SVGPreserveAspectRatio": false,
+ "SVGRadialGradientElement": false,
+ "SVGRect": false,
+ "SVGRectElement": false,
+ "SVGSVGElement": false,
+ "SVGScriptElement": false,
+ "SVGSetElement": false,
+ "SVGStopElement": false,
+ "SVGStringList": false,
+ "SVGStyleElement": false,
+ "SVGSwitchElement": false,
+ "SVGSymbolElement": false,
+ "SVGTSpanElement": false,
+ "SVGTextContentElement": false,
+ "SVGTextElement": false,
+ "SVGTextPathElement": false,
+ "SVGTextPositioningElement": false,
+ "SVGTitleElement": false,
+ "SVGTransform": false,
+ "SVGTransformList": false,
+ "SVGUnitTypes": false,
+ "SVGUseElement": false,
+ "SVGViewElement": false,
+ "Scheduler": false,
+ "Scheduling": false,
+ "Screen": false,
+ "ScreenDetailed": false,
+ "ScreenDetails": false,
+ "ScreenOrientation": false,
+ "ScriptProcessorNode": false,
+ "ScrollTimeline": false,
+ "SecurityPolicyViolationEvent": false,
+ "Selection": false,
+ "Sensor": false,
+ "SensorErrorEvent": false,
+ "Serial": false,
+ "SerialPort": false,
+ "ServiceWorker": false,
+ "ServiceWorkerContainer": false,
+ "ServiceWorkerRegistration": false,
+ "Set": false,
+ "ShadowRoot": false,
+ "SharedArrayBuffer": false,
+ "SharedStorage": false,
+ "SharedStorageWorklet": false,
+ "SharedWorker": false,
+ "SnapEvent": false,
+ "SourceBuffer": false,
+ "SourceBufferList": false,
+ "SpeechSynthesis": false,
+ "SpeechSynthesisErrorEvent": false,
+ "SpeechSynthesisEvent": false,
+ "SpeechSynthesisUtterance": false,
+ "SpeechSynthesisVoice": false,
+ "StaticRange": false,
+ "StereoPannerNode": false,
+ "Storage": false,
+ "StorageBucket": false,
+ "StorageBucketManager": false,
+ "StorageEvent": false,
+ "StorageManager": false,
+ "String": false,
+ "StylePropertyMap": false,
+ "StylePropertyMapReadOnly": false,
+ "StyleSheet": false,
+ "StyleSheetList": false,
+ "SubmitEvent": false,
+ "SubtleCrypto": false,
+ "Symbol": false,
+ "SyncManager": false,
+ "SyntaxError": false,
+ "TEMPORARY": false,
+ "TaskAttributionTiming": false,
+ "TaskController": false,
+ "TaskPriorityChangeEvent": false,
+ "TaskSignal": false,
+ "Text": false,
+ "TextDecoder": false,
+ "TextDecoderStream": false,
+ "TextEncoder": false,
+ "TextEncoderStream": false,
+ "TextEvent": false,
+ "TextFormat": false,
+ "TextFormatUpdateEvent": false,
+ "TextMetrics": false,
+ "TextTrack": false,
+ "TextTrackCue": false,
+ "TextTrackCueList": false,
+ "TextTrackList": false,
+ "TextUpdateEvent": false,
+ "TimeEvent": false,
+ "TimeRanges": false,
+ "ToggleEvent": false,
+ "Touch": false,
+ "TouchEvent": false,
+ "TouchList": false,
+ "TrackEvent": false,
+ "TransformStream": false,
+ "TransformStreamDefaultController": false,
+ "TransitionEvent": false,
+ "TreeWalker": false,
+ "TrustedHTML": false,
+ "TrustedScript": false,
+ "TrustedScriptURL": false,
+ "TrustedTypePolicy": false,
+ "TrustedTypePolicyFactory": false,
+ "TypeError": false,
+ "UIEvent": false,
+ "URIError": false,
+ "URL": false,
+ "URLPattern": false,
+ "URLSearchParams": false,
+ "USB": false,
+ "USBAlternateInterface": false,
+ "USBConfiguration": false,
+ "USBConnectionEvent": false,
+ "USBDevice": false,
+ "USBEndpoint": false,
+ "USBInTransferResult": false,
+ "USBInterface": false,
+ "USBIsochronousInTransferPacket": false,
+ "USBIsochronousInTransferResult": false,
+ "USBIsochronousOutTransferPacket": false,
+ "USBIsochronousOutTransferResult": false,
+ "USBOutTransferResult": false,
+ "Uint16Array": false,
+ "Uint32Array": false,
+ "Uint8Array": false,
+ "Uint8ClampedArray": false,
+ "UserActivation": false,
+ "VTTCue": false,
+ "VTTRegion": false,
+ "ValidityState": false,
+ "VideoColorSpace": false,
+ "VideoDecoder": false,
+ "VideoEncoder": false,
+ "VideoFrame": false,
+ "VideoPlaybackQuality": false,
+ "ViewTimeline": false,
+ "ViewTransition": false,
+ "ViewTransitionTypeSet": false,
+ "VirtualKeyboard": false,
+ "VirtualKeyboardGeometryChangeEvent": false,
+ "VisibilityStateEntry": false,
+ "VisualViewport": false,
+ "WGSLLanguageFeatures": false,
+ "WakeLock": false,
+ "WakeLockSentinel": false,
+ "WaveShaperNode": false,
+ "WeakMap": false,
+ "WeakRef": false,
+ "WeakSet": false,
+ "WebAssembly": false,
+ "WebGL2RenderingContext": false,
+ "WebGLActiveInfo": false,
+ "WebGLBuffer": false,
+ "WebGLContextEvent": false,
+ "WebGLFramebuffer": false,
+ "WebGLObject": false,
+ "WebGLProgram": false,
+ "WebGLQuery": false,
+ "WebGLRenderbuffer": false,
+ "WebGLRenderingContext": false,
+ "WebGLSampler": false,
+ "WebGLShader": false,
+ "WebGLShaderPrecisionFormat": false,
+ "WebGLSync": false,
+ "WebGLTexture": false,
+ "WebGLTransformFeedback": false,
+ "WebGLUniformLocation": false,
+ "WebGLVertexArrayObject": false,
+ "WebSocket": false,
+ "WebSocketError": false,
+ "WebSocketStream": false,
+ "WebTransport": false,
+ "WebTransportBidirectionalStream": false,
+ "WebTransportDatagramDuplexStream": false,
+ "WebTransportError": false,
+ "WebTransportReceiveStream": false,
+ "WebTransportSendStream": false,
+ "WheelEvent": false,
+ "Window": false,
+ "WindowControlsOverlay": false,
+ "WindowControlsOverlayGeometryChangeEvent": false,
+ "Worker": false,
+ "Worklet": false,
+ "WorkletGlobalScope": false,
+ "WritableStream": false,
+ "WritableStreamDefaultController": false,
+ "WritableStreamDefaultWriter": false,
+ "XMLDocument": false,
+ "XMLHttpRequest": false,
+ "XMLHttpRequestEventTarget": false,
+ "XMLHttpRequestUpload": false,
+ "XMLSerializer": false,
+ "XPathEvaluator": false,
+ "XPathExpression": false,
+ "XPathResult": false,
+ "XRAnchor": false,
+ "XRAnchorSet": false,
+ "XRBoundedReferenceSpace": false,
+ "XRCPUDepthInformation": false,
+ "XRCamera": false,
+ "XRDOMOverlayState": false,
+ "XRDepthInformation": false,
+ "XRFrame": false,
+ "XRHand": false,
+ "XRHitTestResult": false,
+ "XRHitTestSource": false,
+ "XRInputSource": false,
+ "XRInputSourceArray": false,
+ "XRInputSourceEvent": false,
+ "XRInputSourcesChangeEvent": false,
+ "XRJointPose": false,
+ "XRJointSpace": false,
+ "XRLayer": false,
+ "XRLightEstimate": false,
+ "XRLightProbe": false,
+ "XRPose": false,
+ "XRRay": false,
+ "XRReferenceSpace": false,
+ "XRReferenceSpaceEvent": false,
+ "XRRenderState": false,
+ "XRRigidTransform": false,
+ "XRSession": false,
+ "XRSessionEvent": false,
+ "XRSpace": false,
+ "XRSystem": false,
+ "XRTransientInputHitTestResult": false,
+ "XRTransientInputHitTestSource": false,
+ "XRView": false,
+ "XRViewerPose": false,
+ "XRViewport": false,
+ "XRWebGLBinding": false,
+ "XRWebGLDepthInformation": false,
+ "XRWebGLLayer": false,
+ "XSLTProcessor": false,
+ "addEventListener": false,
+ "afterAll": false,
+ "afterEach": false,
+ "ai": false,
+ "alert": false,
+ "atob": false,
+ "beforeAll": false,
+ "beforeEach": false,
+ "blur": false,
+ "btoa": false,
+ "caches": false,
+ "cancelAnimationFrame": false,
+ "cancelIdleCallback": false,
+ "clearInterval": false,
+ "clearTimeout": false,
+ "clientInformation": false,
+ "close": false,
+ "closed": false,
+ "confirm": false,
+ "console": false,
+ "cookieStore": false,
+ "createImageBitmap": false,
+ "credentialless": false,
+ "crossOriginIsolated": false,
+ "crypto": false,
+ "currentFrame": false,
+ "currentTime": false,
+ "customElements": false,
+ "decodeURI": false,
+ "decodeURIComponent": false,
+ "describe": false,
+ "devicePixelRatio": false,
+ "dispatchEvent": false,
+ "document": false,
+ "documentPictureInPicture": false,
+ "encodeURI": false,
+ "encodeURIComponent": false,
+ "escape": false,
+ "eval": false,
+ "event": false,
+ "expect": false,
+ "external": false,
+ "fence": false,
+ "fetch": false,
+ "fetchLater": false,
+ "find": false,
+ "fit": false,
+ "focus": false,
+ "frameElement": false,
+ "frames": false,
+ "getComputedStyle": false,
+ "getScreenDetails": false,
+ "getSelection": false,
+ "globalThis": false,
+ "history": false,
+ "indexedDB": false,
+ "innerHeight": false,
+ "innerWidth": false,
+ "isFinite": false,
+ "isNaN": false,
+ "isSecureContext": false,
+ "it": false,
+ "jest": false,
+ "launchQueue": false,
+ "length": false,
+ "localStorage": false,
+ "location": true,
+ "locationbar": false,
+ "matchMedia": false,
+ "menubar": false,
+ "model": false,
+ "moveBy": false,
+ "moveTo": false,
+ "name": false,
+ "navigation": false,
+ "navigator": false,
+ "offscreenBuffering": false,
+ "onabort": true,
+ "onafterprint": true,
+ "onanimationcancel": true,
+ "onanimationend": true,
+ "onanimationiteration": true,
+ "onanimationstart": true,
+ "onappinstalled": true,
+ "onauxclick": true,
+ "onbeforeinput": true,
+ "onbeforeinstallprompt": true,
+ "onbeforematch": true,
+ "onbeforeprint": true,
+ "onbeforetoggle": true,
+ "onbeforeunload": true,
+ "onbeforexrselect": true,
+ "onblur": true,
+ "oncancel": true,
+ "oncanplay": true,
+ "oncanplaythrough": true,
+ "onchange": true,
+ "onclick": true,
+ "onclose": true,
+ "oncontentvisibilityautostatechange": true,
+ "oncontextlost": true,
+ "oncontextmenu": true,
+ "oncontextrestored": true,
+ "oncopy": true,
+ "oncuechange": true,
+ "oncut": true,
+ "ondblclick": true,
+ "ondevicemotion": true,
+ "ondeviceorientation": true,
+ "ondeviceorientationabsolute": true,
+ "ondrag": true,
+ "ondragend": true,
+ "ondragenter": true,
+ "ondragleave": true,
+ "ondragover": true,
+ "ondragstart": true,
+ "ondrop": true,
+ "ondurationchange": true,
+ "onemptied": true,
+ "onended": true,
+ "onerror": true,
+ "onfocus": true,
+ "onformdata": true,
+ "ongamepadconnected": true,
+ "ongamepaddisconnected": true,
+ "ongotpointercapture": true,
+ "onhashchange": true,
+ "oninput": true,
+ "oninvalid": true,
+ "onkeydown": true,
+ "onkeypress": true,
+ "onkeyup": true,
+ "onlanguagechange": true,
+ "onload": true,
+ "onloadeddata": true,
+ "onloadedmetadata": true,
+ "onloadstart": true,
+ "onlostpointercapture": true,
+ "onmessage": true,
+ "onmessageerror": true,
+ "onmousedown": true,
+ "onmouseenter": true,
+ "onmouseleave": true,
+ "onmousemove": true,
+ "onmouseout": true,
+ "onmouseover": true,
+ "onmouseup": true,
+ "onmousewheel": true,
+ "onoffline": true,
+ "ononline": true,
+ "onpagehide": true,
+ "onpagereveal": true,
+ "onpageshow": true,
+ "onpageswap": true,
+ "onpaste": true,
+ "onpause": true,
+ "onplay": true,
+ "onplaying": true,
+ "onpointercancel": true,
+ "onpointerdown": true,
+ "onpointerenter": true,
+ "onpointerleave": true,
+ "onpointermove": true,
+ "onpointerout": true,
+ "onpointerover": true,
+ "onpointerrawupdate": true,
+ "onpointerup": true,
+ "onpopstate": true,
+ "onprogress": true,
+ "onratechange": true,
+ "onrejectionhandled": true,
+ "onreset": true,
+ "onresize": true,
+ "onscroll": true,
+ "onscrollend": true,
+ "onscrollsnapchange": true,
+ "onscrollsnapchanging": true,
+ "onsearch": true,
+ "onsecuritypolicyviolation": true,
+ "onseeked": true,
+ "onseeking": true,
+ "onselect": true,
+ "onselectionchange": true,
+ "onselectstart": true,
+ "onslotchange": true,
+ "onstalled": true,
+ "onstorage": true,
+ "onsubmit": true,
+ "onsuspend": true,
+ "ontimeupdate": true,
+ "ontoggle": true,
+ "ontransitioncancel": true,
+ "ontransitionend": true,
+ "ontransitionrun": true,
+ "ontransitionstart": true,
+ "onunhandledrejection": true,
+ "onunload": true,
+ "onvolumechange": true,
+ "onwaiting": true,
+ "onwheel": true,
+ "open": false,
+ "opener": false,
+ "origin": false,
+ "originAgentCluster": false,
+ "outerHeight": false,
+ "outerWidth": false,
+ "pageXOffset": false,
+ "pageYOffset": false,
+ "parent": false,
+ "parseFloat": false,
+ "parseInt": false,
+ "performance": false,
+ "personalbar": false,
+ "postMessage": false,
+ "print": false,
+ "prompt": false,
+ "queryLocalFonts": false,
+ "queueMicrotask": false,
+ "registerProcessor": false,
+ "removeEventListener": false,
+ "reportError": false,
+ "requestAnimationFrame": false,
+ "requestIdleCallback": false,
+ "resizeBy": false,
+ "resizeTo": false,
+ "sampleRate": false,
+ "scheduler": false,
+ "screen": false,
+ "screenLeft": false,
+ "screenTop": false,
+ "screenX": false,
+ "screenY": false,
+ "scroll": false,
+ "scrollBy": false,
+ "scrollTo": false,
+ "scrollX": false,
+ "scrollY": false,
+ "scrollbars": false,
+ "self": false,
+ "sessionStorage": false,
+ "setInterval": false,
+ "setTimeout": false,
+ "sharedStorage": false,
+ "showDirectoryPicker": false,
+ "showOpenFilePicker": false,
+ "showSaveFilePicker": false,
+ "speechSynthesis": false,
+ "status": false,
+ "statusbar": false,
+ "stop": false,
+ "structuredClone": false,
+ "styleMedia": false,
+ "test": false,
+ "toolbar": false,
+ "top": false,
+ "trustedTypes": false,
+ "undefined": false,
+ "unescape": false,
+ "visualViewport": false,
+ "window": false,
+ "xdescribe": false,
+ "xit": false,
+ "xtest": false,
+ },
+ "parser": "espree@10.4.0",
+ "parserOptions": {
+ "ecmaFeatures": {
+ "jsx": true,
+ },
+ "sourceType": "module",
},
- "ecmaVersion": "latest",
"sourceType": "module",
},
+ "linterOptions": {
+ "reportUnusedDisableDirectives": 2,
+ },
"plugins": [
- "@stylistic",
- "switch-case",
- "gettext",
+ "@",
"import",
+ "gettext",
+ "switch-case",
+ "@stylistic",
"jsdoc",
- "prettier",
+ "prettier:eslint-plugin-prettier@5.2.3",
+ "jest:eslint-plugin-jest@28.11.0",
"jest-formatting",
- "jest",
"jest-dom",
- "testing-library",
"react",
- "jsx-a11y",
- "react-hooks",
+ "react-hooks:eslint-plugin-react-hooks",
+ "jsx-a11y:eslint-plugin-jsx-a11y@6.10.2",
],
- "reportUnusedDisableDirectives": true,
+ "processor": undefined,
"rules": {
"@babel/object-curly-spacing": [
- "off",
+ 0,
],
"@babel/semi": [
- "off",
+ 0,
],
"@stylistic/padding-line-between-statements": [
- "warn",
+ 1,
{
"blankLine": "always",
"next": "return",
@@ -110,7 +1310,7 @@ exports[`keeps rules stable 1`] = `
},
],
"@stylistic/spaced-comment": [
- "warn",
+ 1,
"always",
{
"block": {
@@ -137,108 +1337,114 @@ exports[`keeps rules stable 1`] = `
},
],
"@typescript-eslint/block-spacing": [
- "off",
+ 0,
],
"@typescript-eslint/brace-style": [
- "off",
+ 0,
],
"@typescript-eslint/comma-dangle": [
- "off",
+ 0,
],
"@typescript-eslint/comma-spacing": [
- "off",
+ 0,
],
"@typescript-eslint/func-call-spacing": [
- "off",
+ 0,
],
"@typescript-eslint/indent": [
- "off",
+ 0,
],
"@typescript-eslint/key-spacing": [
- "off",
+ 0,
],
"@typescript-eslint/keyword-spacing": [
- "off",
+ 0,
],
"@typescript-eslint/lines-around-comment": [
0,
],
"@typescript-eslint/member-delimiter-style": [
- "off",
+ 0,
],
"@typescript-eslint/no-extra-parens": [
- "off",
+ 0,
],
"@typescript-eslint/no-extra-semi": [
- "off",
+ 0,
],
"@typescript-eslint/object-curly-spacing": [
- "off",
+ 0,
],
"@typescript-eslint/quotes": [
0,
],
"@typescript-eslint/semi": [
- "off",
+ 0,
],
"@typescript-eslint/space-before-blocks": [
- "off",
+ 0,
],
"@typescript-eslint/space-before-function-paren": [
- "off",
+ 0,
],
"@typescript-eslint/space-infix-ops": [
- "off",
+ 0,
],
"@typescript-eslint/type-annotation-spacing": [
- "off",
+ 0,
],
"array-bracket-newline": [
- "off",
+ 0,
],
"array-bracket-spacing": [
- "off",
+ 0,
],
"array-callback-return": [
- "error",
+ 2,
+ {
+ "allowImplicit": false,
+ "allowVoid": false,
+ "checkForEach": false,
+ },
],
"array-element-newline": [
- "off",
+ 0,
],
"arrow-body-style": [
- "off",
+ 2,
"as-needed",
{
"requireReturnForObjectLiteral": false,
},
],
"arrow-parens": [
- "off",
+ 0,
],
"arrow-spacing": [
- "off",
+ 0,
],
"babel/object-curly-spacing": [
- "off",
+ 0,
],
"babel/quotes": [
0,
],
"babel/semi": [
- "off",
+ 0,
],
"block-scoped-var": [
- "error",
+ 2,
],
"block-spacing": [
- "off",
+ 0,
],
"brace-style": [
- "off",
+ 0,
],
"camelcase": [
- "error",
+ 2,
{
+ "allow": [],
"ignoreDestructuring": false,
"ignoreGlobals": false,
"ignoreImports": false,
@@ -246,133 +1452,137 @@ exports[`keeps rules stable 1`] = `
},
],
"comma-dangle": [
- "off",
+ 0,
],
"comma-spacing": [
- "off",
+ 0,
],
"comma-style": [
- "off",
+ 0,
],
"complexity": [
- "error",
+ 2,
+ 20,
],
"computed-property-spacing": [
- "off",
+ 0,
],
"consistent-return": [
- "error",
+ 2,
+ {
+ "treatUndefinedAsUnspecified": false,
+ },
],
"constructor-super": [
- "error",
+ 2,
],
"curly": [
- "error",
+ 2,
"all",
],
"default-case": [
- "error",
+ 2,
+ {},
],
"default-param-last": [
- "error",
+ 2,
],
"dot-location": [
- "off",
+ 0,
],
"dot-notation": [
- "error",
+ 2,
{
"allowKeywords": true,
"allowPattern": "",
},
],
"eol-last": [
- "off",
+ 0,
],
"eqeqeq": [
- "error",
+ 2,
"smart",
],
"flowtype/boolean-style": [
- "off",
+ 0,
],
"flowtype/delimiter-dangle": [
- "off",
+ 0,
],
"flowtype/generic-spacing": [
- "off",
+ 0,
],
"flowtype/object-type-curly-spacing": [
- "off",
+ 0,
],
"flowtype/object-type-delimiter": [
- "off",
+ 0,
],
"flowtype/quotes": [
- "off",
+ 0,
],
"flowtype/semi": [
- "off",
+ 0,
],
"flowtype/space-after-type-colon": [
- "off",
+ 0,
],
"flowtype/space-before-generic-bracket": [
- "off",
+ 0,
],
"flowtype/space-before-type-colon": [
- "off",
+ 0,
],
"flowtype/union-intersection-spacing": [
- "off",
+ 0,
],
"for-direction": [
- "error",
+ 2,
],
"func-call-spacing": [
- "off",
+ 0,
],
"func-names": [
- "error",
+ 2,
+ "always",
+ {},
],
"function-call-argument-newline": [
- "off",
+ 0,
],
"function-paren-newline": [
- "off",
+ 0,
],
"generator-star": [
- "off",
+ 0,
],
"generator-star-spacing": [
- "off",
+ 0,
],
"getter-return": [
- "error",
+ 2,
{
"allowImplicit": true,
},
],
"gettext/no-variable-string": [
- "error",
+ 2,
],
"guard-for-in": [
- "error",
+ 2,
],
"implicit-arrow-linebreak": [
- "off",
+ 0,
],
"import/default": [
- "off",
+ 0,
],
"import/dynamic-import-chunkname": [
- "error",
- ],
- "import/export": [
2,
],
"import/extensions": [
- "error",
+ 2,
{
"js": "never",
"json": "always",
@@ -381,51 +1591,39 @@ exports[`keeps rules stable 1`] = `
"tsx": "never",
},
],
- "import/named": [
- 2,
- ],
- "import/namespace": [
- 2,
- ],
"import/newline-after-import": [
- "warn",
+ 1,
],
"import/no-absolute-path": [
- "error",
+ 2,
],
"import/no-amd": [
- "error",
+ 2,
],
"import/no-duplicates": [
- "warn",
+ 1,
{
"prefer-inline": true,
},
],
"import/no-dynamic-require": [
- "error",
+ 2,
],
"import/no-extraneous-dependencies": [
- "error",
+ 2,
{
"devDependencies": true,
"optionalDependencies": false,
},
],
"import/no-mutable-exports": [
- "error",
- ],
- "import/no-named-as-default": [
- 1,
- ],
- "import/no-named-as-default-member": [
- 1,
+ 2,
],
"import/no-named-default": [
- "error",
+ 2,
],
"import/no-unresolved": [
- "error",
+ 2,
{
"caseSensitive": true,
"caseSensitiveStrict": false,
@@ -433,10 +1631,10 @@ exports[`keeps rules stable 1`] = `
},
],
"import/no-webpack-loader-syntax": [
- "error",
+ 2,
],
"import/order": [
- "warn",
+ 1,
{
"alphabetize": {
"caseInsensitive": true,
@@ -460,197 +1658,197 @@ exports[`keeps rules stable 1`] = `
},
],
"indent": [
- "off",
+ 0,
],
"indent-legacy": [
- "off",
+ 0,
],
"jest-dom/prefer-checked": [
- "error",
+ 2,
],
"jest-dom/prefer-empty": [
- "error",
+ 2,
],
"jest-dom/prefer-enabled-disabled": [
- "error",
+ 2,
],
"jest-dom/prefer-focus": [
- "error",
+ 2,
],
"jest-dom/prefer-in-document": [
- "error",
+ 2,
],
"jest-dom/prefer-required": [
- "error",
+ 2,
],
"jest-dom/prefer-to-have-attribute": [
- "error",
+ 2,
],
"jest-dom/prefer-to-have-class": [
- "error",
+ 2,
],
"jest-dom/prefer-to-have-style": [
- "error",
+ 2,
],
"jest-dom/prefer-to-have-text-content": [
- "error",
+ 2,
],
"jest-dom/prefer-to-have-value": [
- "error",
+ 2,
],
"jest-formatting/padding-around-all": [
- "warn",
+ 1,
],
"jest/expect-expect": [
- "warn",
+ 1,
],
"jest/no-alias-methods": [
- "warn",
+ 1,
],
"jest/no-commented-out-tests": [
- "warn",
+ 1,
],
"jest/no-conditional-expect": [
- "error",
+ 2,
],
"jest/no-conditional-in-test": [
- "error",
+ 2,
],
"jest/no-deprecated-functions": [
- "error",
+ 2,
],
"jest/no-disabled-tests": [
- "warn",
+ 1,
],
"jest/no-done-callback": [
- "off",
+ 0,
],
"jest/no-duplicate-hooks": [
- "off",
+ 0,
],
"jest/no-export": [
- "error",
+ 2,
],
"jest/no-focused-tests": [
- "error",
+ 2,
],
"jest/no-identical-title": [
- "error",
+ 2,
],
"jest/no-interpolation-in-snapshots": [
- "error",
+ 2,
],
"jest/no-jasmine-globals": [
- "error",
+ 2,
],
"jest/no-mocks-import": [
- "error",
+ 2,
],
"jest/no-restricted-matchers": [
- "error",
+ 2,
{
"toBeFalsy": "Avoid \`toBeFalsy\`, use \`toBe(false)\` instead.",
"toBeTruthy": "Avoid \`toBeTruthy\`, use \`toBe(true)\` instead.",
},
],
"jest/no-standalone-expect": [
- "error",
+ 2,
],
"jest/no-test-prefixes": [
- "error",
+ 2,
],
"jest/no-test-return-statement": [
- "error",
+ 2,
],
"jest/prefer-hooks-on-top": [
- "error",
+ 2,
],
"jest/prefer-to-be": [
- "error",
+ 2,
],
"jest/prefer-to-contain": [
- "error",
+ 2,
],
"jest/prefer-to-have-length": [
- "error",
+ 2,
],
"jest/prefer-todo": [
- "error",
+ 2,
],
"jest/valid-describe-callback": [
- "error",
+ 2,
],
"jest/valid-expect": [
- "error",
+ 2,
],
"jest/valid-expect-in-promise": [
- "error",
+ 2,
],
"jest/valid-title": [
- "error",
+ 2,
],
"jsdoc/check-alignment": [
- "error",
+ 2,
],
"jsdoc/check-param-names": [
- "error",
+ 2,
],
"jsdoc/check-syntax": [
- "error",
+ 2,
],
"jsdoc/check-tag-names": [
- "error",
+ 2,
],
"jsdoc/implements-on-classes": [
- "error",
+ 2,
],
"jsdoc/require-param-name": [
- "error",
+ 2,
],
"jsdoc/require-param-type": [
- "error",
+ 2,
],
"jsdoc/require-returns-check": [
- "error",
+ 2,
],
"jsdoc/require-returns-type": [
- "error",
+ 2,
],
"jsx-a11y/alt-text": [
- "error",
+ 2,
],
"jsx-a11y/anchor-ambiguous-text": [
- "off",
+ 0,
],
"jsx-a11y/anchor-has-content": [
- "error",
+ 2,
],
"jsx-a11y/anchor-is-valid": [
- "error",
+ 2,
],
"jsx-a11y/aria-activedescendant-has-tabindex": [
- "error",
+ 2,
],
"jsx-a11y/aria-props": [
- "error",
+ 2,
],
"jsx-a11y/aria-proptypes": [
- "error",
+ 2,
],
"jsx-a11y/aria-role": [
- "error",
+ 2,
],
"jsx-a11y/aria-unsupported-elements": [
- "error",
+ 2,
],
"jsx-a11y/autocomplete-valid": [
- "error",
+ 2,
],
"jsx-a11y/click-events-have-key-events": [
- "error",
+ 2,
],
"jsx-a11y/control-has-associated-label": [
- "off",
+ 0,
{
"ignoreElements": [
"audio",
@@ -680,19 +1878,19 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/heading-has-content": [
- "error",
+ 2,
],
"jsx-a11y/html-has-lang": [
- "error",
+ 2,
],
"jsx-a11y/iframe-has-title": [
- "error",
+ 2,
],
"jsx-a11y/img-redundant-alt": [
- "error",
+ 2,
],
"jsx-a11y/interactive-supports-focus": [
- "error",
+ 2,
{
"tabbable": [
"button",
@@ -706,28 +1904,28 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/label-has-associated-control": [
- "error",
+ 2,
],
"jsx-a11y/label-has-for": [
- "off",
+ 0,
],
"jsx-a11y/media-has-caption": [
- "error",
+ 2,
],
"jsx-a11y/mouse-events-have-key-events": [
- "error",
+ 2,
],
"jsx-a11y/no-access-key": [
- "error",
+ 2,
],
"jsx-a11y/no-autofocus": [
- "error",
+ 2,
],
"jsx-a11y/no-distracting-elements": [
- "error",
+ 2,
],
"jsx-a11y/no-interactive-element-to-noninteractive-role": [
- "error",
+ 2,
{
"canvas": [
"img",
@@ -739,7 +1937,7 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/no-noninteractive-element-interactions": [
- "error",
+ 2,
{
"alert": [
"onKeyUp",
@@ -776,7 +1974,7 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/no-noninteractive-element-to-interactive-role": [
- "error",
+ 2,
{
"fieldset": [
"radiogroup",
@@ -818,7 +2016,7 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/no-noninteractive-tabindex": [
- "error",
+ 2,
{
"allowExpressionValues": true,
"roles": [
@@ -828,13 +2026,13 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/no-onchange": [
- "off",
+ 0,
],
"jsx-a11y/no-redundant-roles": [
- "error",
+ 2,
],
"jsx-a11y/no-static-element-interactions": [
- "error",
+ 2,
{
"allowExpressionValues": true,
"handlers": [
@@ -848,47 +2046,47 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/role-has-required-aria-props": [
- "error",
+ 2,
],
"jsx-a11y/role-supports-aria-props": [
- "error",
+ 2,
],
"jsx-a11y/scope": [
- "error",
+ 2,
],
"jsx-a11y/tabindex-no-positive": [
- "error",
+ 2,
],
"jsx-quotes": [
- "off",
+ 0,
],
"key-spacing": [
- "off",
+ 0,
],
"keyword-spacing": [
- "off",
+ 0,
],
"linebreak-style": [
- "off",
+ 0,
],
"lines-around-comment": [
0,
],
"max-classes-per-file": [
- "error",
+ 2,
1,
],
"max-len": [
0,
],
"max-statements-per-line": [
- "off",
+ 0,
],
"multiline-ternary": [
- "off",
+ 0,
],
"new-cap": [
- "error",
+ 2,
{
"capIsNew": false,
"capIsNewExceptions": [
@@ -902,104 +2100,122 @@ exports[`keeps rules stable 1`] = `
},
],
"new-parens": [
- "off",
+ 0,
],
"newline-per-chained-call": [
- "off",
+ 0,
],
"no-alert": [
- "warn",
+ 1,
],
"no-array-constructor": [
- "error",
+ 2,
],
"no-arrow-condition": [
- "off",
+ 0,
],
"no-async-promise-executor": [
- "error",
+ 2,
],
"no-await-in-loop": [
- "error",
+ 2,
],
"no-bitwise": [
- "error",
+ 2,
+ {
+ "allow": [],
+ "int32Hint": false,
+ },
],
"no-caller": [
- "error",
+ 2,
],
"no-case-declarations": [
- "error",
+ 2,
],
"no-class-assign": [
- "error",
+ 2,
],
"no-comma-dangle": [
- "off",
+ 0,
],
"no-compare-neg-zero": [
- "error",
+ 2,
],
"no-cond-assign": [
- "error",
+ 2,
"always",
],
"no-confusing-arrow": [
0,
],
"no-console": [
- "warn",
+ 1,
+ {},
],
"no-const-assign": [
- "error",
+ 2,
+ ],
+ "no-constant-binary-expression": [
+ 2,
],
"no-constant-condition": [
- "warn",
+ 1,
+ {
+ "checkLoops": "allExceptWhileTrue",
+ },
],
"no-continue": [
- "error",
+ 2,
],
"no-control-regex": [
- "error",
+ 2,
],
"no-debugger": [
- "error",
+ 2,
],
"no-delete-var": [
- "error",
+ 2,
],
"no-dupe-args": [
- "error",
+ 2,
],
"no-dupe-class-members": [
- "error",
+ 2,
],
"no-dupe-else-if": [
- "error",
+ 2,
],
"no-dupe-keys": [
- "error",
+ 2,
],
"no-duplicate-case": [
- "error",
+ 2,
],
"no-duplicate-imports": [
- "error",
+ 2,
+ {
+ "allowSeparateTypeImports": false,
+ "includeExports": false,
+ },
],
"no-else-return": [
- "error",
+ 2,
{
"allowElseIf": true,
},
],
"no-empty": [
- "error",
+ 2,
+ {
+ "allowEmptyCatch": false,
+ },
],
"no-empty-character-class": [
- "error",
+ 2,
],
"no-empty-function": [
- "error",
+ 2,
{
"allow": [
"arrowFunctions",
@@ -1009,161 +2225,198 @@ exports[`keeps rules stable 1`] = `
},
],
"no-empty-pattern": [
- "error",
+ 2,
+ {
+ "allowObjectPatternsAsParameters": false,
+ },
+ ],
+ "no-empty-static-block": [
+ 2,
],
"no-eval": [
- "error",
+ 2,
+ {
+ "allowIndirect": false,
+ },
],
"no-ex-assign": [
- "error",
+ 2,
],
"no-extend-native": [
- "error",
+ 2,
+ {
+ "exceptions": [],
+ },
],
"no-extra-bind": [
- "error",
+ 2,
],
"no-extra-boolean-cast": [
- "error",
+ 2,
+ {},
],
"no-extra-label": [
- "error",
+ 2,
],
"no-extra-parens": [
- "off",
+ 0,
],
"no-extra-semi": [
- "off",
+ 0,
],
"no-fallthrough": [
- "error",
+ 2,
+ {
+ "allowEmptyCase": false,
+ "reportUnusedFallthroughComment": false,
+ },
],
"no-floating-decimal": [
- "off",
+ 0,
],
"no-func-assign": [
- "error",
+ 2,
],
"no-global-assign": [
- "error",
+ 2,
+ {
+ "exceptions": [],
+ },
],
"no-implied-eval": [
- "error",
+ 2,
],
"no-import-assign": [
- "error",
- ],
- "no-inner-declarations": [
- "error",
+ 2,
],
"no-invalid-regexp": [
- "error",
+ 2,
+ {},
],
"no-irregular-whitespace": [
- "error",
+ 2,
+ {
+ "skipComments": false,
+ "skipJSXText": false,
+ "skipRegExps": false,
+ "skipStrings": true,
+ "skipTemplates": false,
+ },
],
"no-iterator": [
- "error",
+ 2,
],
"no-label-var": [
- "error",
+ 2,
],
"no-labels": [
- "error",
+ 2,
{
"allowLoop": false,
"allowSwitch": false,
},
],
"no-lone-blocks": [
- "error",
+ 2,
],
"no-lonely-if": [
- "error",
+ 2,
],
"no-loop-func": [
- "error",
+ 2,
],
"no-loss-of-precision": [
- "error",
+ 2,
],
"no-misleading-character-class": [
- "error",
+ 2,
+ {
+ "allowEscape": false,
+ },
],
"no-mixed-operators": [
0,
],
"no-mixed-spaces-and-tabs": [
- "off",
+ 0,
],
"no-multi-assign": [
- "error",
+ 2,
+ {
+ "ignoreNonDeclaration": false,
+ },
],
"no-multi-spaces": [
- "off",
+ 0,
],
"no-multi-str": [
- "error",
+ 2,
],
"no-multiple-empty-lines": [
- "off",
+ 0,
],
"no-nested-ternary": [
- "error",
+ 2,
],
"no-new": [
- "error",
+ 2,
],
"no-new-func": [
- "error",
+ 2,
],
- "no-new-symbol": [
- "error",
+ "no-new-native-nonconstructor": [
+ 2,
],
"no-new-wrappers": [
- "error",
+ 2,
],
"no-nonoctal-decimal-escape": [
- "error",
+ 2,
],
"no-obj-calls": [
- "error",
+ 2,
],
"no-object-constructor": [
- "error",
+ 2,
],
"no-octal": [
- "error",
+ 2,
],
"no-octal-escape": [
- "error",
+ 2,
],
"no-param-reassign": [
- "error",
+ 2,
{
"props": false,
},
],
"no-plusplus": [
- "error",
+ 2,
+ {
+ "allowForLoopAfterthoughts": false,
+ },
],
"no-proto": [
- "error",
+ 2,
],
"no-prototype-builtins": [
- "off",
+ 0,
],
"no-redeclare": [
- "error",
+ 2,
+ {
+ "builtinGlobals": true,
+ },
],
"no-regex-spaces": [
- "error",
+ 2,
],
"no-reserved-keys": [
- "off",
+ 0,
],
"no-restricted-globals": [
- "error",
+ 2,
"isFinite",
"isNaN",
"addEventListener",
@@ -1226,10 +2479,10 @@ exports[`keeps rules stable 1`] = `
"top",
],
"no-restricted-imports": [
- "error",
+ 2,
],
"no-restricted-properties": [
- "error",
+ 2,
{
"message": "arguments.callee is deprecated",
"object": "arguments",
@@ -1280,7 +2533,7 @@ exports[`keeps rules stable 1`] = `
},
],
"no-restricted-syntax": [
- "error",
+ 2,
{
"message": "for..in loops iterate over the entire prototype chain, which is virtually never what you want. Use Object.{keys,values,entries}, and iterate over the resulting array.",
"selector": "ForInStatement",
@@ -1307,65 +2560,81 @@ exports[`keeps rules stable 1`] = `
},
],
"no-return-assign": [
- "error",
+ 2,
"except-parens",
],
"no-script-url": [
- "error",
+ 2,
],
"no-self-assign": [
- "error",
+ 2,
+ {
+ "props": true,
+ },
],
"no-self-compare": [
- "error",
+ 2,
],
"no-sequences": [
- "error",
+ 2,
+ {
+ "allowInParentheses": true,
+ },
],
"no-setter-return": [
- "error",
+ 2,
],
"no-shadow": [
- "error",
+ 2,
{
+ "allow": [],
"builtinGlobals": false,
"hoist": "all",
+ "ignoreFunctionTypeParameterNameValueShadow": true,
"ignoreOnInitialization": false,
+ "ignoreTypeValueShadow": true,
},
],
"no-shadow-restricted-names": [
- "error",
+ 2,
+ {
+ "reportGlobalThis": false,
+ },
],
"no-space-before-semi": [
- "off",
+ 0,
],
"no-spaced-func": [
- "off",
+ 0,
],
"no-sparse-arrays": [
- "error",
+ 2,
],
"no-tabs": [
0,
],
"no-template-curly-in-string": [
- "error",
+ 2,
],
"no-this-before-super": [
- "error",
+ 2,
],
"no-trailing-spaces": [
- "off",
+ 0,
],
"no-undef": [
- "error",
+ 2,
+ {
+ "typeof": false,
+ },
],
"no-undef-init": [
- "error",
+ 2,
],
"no-underscore-dangle": [
- "error",
+ 2,
{
+ "allow": [],
"allowAfterSuper": true,
"allowAfterThis": true,
"allowAfterThisConstructor": false,
@@ -1380,31 +2649,47 @@ exports[`keeps rules stable 1`] = `
0,
],
"no-unneeded-ternary": [
- "error",
+ 2,
{
"defaultAssignment": false,
},
],
"no-unreachable": [
- "error",
+ 2,
],
"no-unsafe-finally": [
- "error",
+ 2,
],
"no-unsafe-negation": [
- "error",
+ 2,
+ {
+ "enforceForOrderingRelations": false,
+ },
],
"no-unsafe-optional-chaining": [
- "error",
+ 2,
+ {
+ "disallowArithmeticOperators": false,
+ },
],
"no-unused-expressions": [
- "error",
+ 2,
+ {
+ "allowShortCircuit": false,
+ "allowTaggedTemplates": false,
+ "allowTernary": false,
+ "enforceForJSX": false,
+ "ignoreDirectives": false,
+ },
],
"no-unused-labels": [
- "error",
+ 2,
+ ],
+ "no-unused-private-class-members": [
+ 2,
],
"no-unused-vars": [
- "error",
+ 2,
{
"args": "after-used",
"ignoreRestSiblings": true,
@@ -1412,29 +2697,35 @@ exports[`keeps rules stable 1`] = `
},
],
"no-use-before-define": [
- "error",
+ 2,
"nofunc",
],
"no-useless-backreference": [
- "error",
+ 2,
],
"no-useless-catch": [
- "error",
+ 2,
],
"no-useless-computed-key": [
- "error",
+ 2,
+ {
+ "enforceForClassMembers": true,
+ },
],
"no-useless-concat": [
- "error",
+ 2,
],
"no-useless-constructor": [
- "error",
+ 2,
],
"no-useless-escape": [
- "error",
+ 2,
+ {
+ "allowRegexCharacters": [],
+ },
],
"no-useless-rename": [
- "error",
+ 2,
{
"ignoreDestructuring": false,
"ignoreExport": false,
@@ -1442,40 +2733,40 @@ exports[`keeps rules stable 1`] = `
},
],
"no-useless-return": [
- "error",
+ 2,
],
"no-var": [
- "error",
+ 2,
],
"no-void": [
- "error",
+ 2,
{
"allowAsStatement": true,
},
],
"no-whitespace-before-property": [
- "off",
+ 0,
],
"no-with": [
- "error",
+ 2,
],
"no-wrap-func": [
- "off",
+ 0,
],
"nonblock-statement-body-position": [
- "off",
+ 0,
],
"object-curly-newline": [
- "off",
+ 0,
],
"object-curly-spacing": [
- "off",
+ 0,
],
"object-property-newline": [
- "off",
+ 0,
],
"object-shorthand": [
- "error",
+ 2,
"always",
{
"avoidQuotes": true,
@@ -1483,47 +2774,47 @@ exports[`keeps rules stable 1`] = `
},
],
"one-var": [
- "error",
+ 2,
"never",
],
"one-var-declaration-per-line": [
- "off",
+ 0,
],
"operator-assignment": [
- "error",
+ 2,
"always",
],
"operator-linebreak": [
- "off",
+ 0,
],
"padded-blocks": [
- "off",
+ 0,
],
"prefer-arrow-callback": [
- "off",
+ 2,
{
"allowNamedFunctions": false,
"allowUnboundThis": true,
},
],
"prefer-const": [
- "error",
+ 2,
{
"destructuring": "any",
"ignoreReadBeforeAssign": true,
},
],
"prefer-numeric-literals": [
- "error",
+ 2,
],
"prefer-rest-params": [
- "error",
+ 2,
],
"prefer-template": [
- "error",
+ 2,
],
"prettier/prettier": [
- "warn",
+ 1,
{
"printWidth": 100,
"singleQuote": true,
@@ -1534,37 +2825,38 @@ exports[`keeps rules stable 1`] = `
},
],
"quote-props": [
- "off",
+ 0,
],
"quotes": [
0,
],
"radix": [
- "error",
+ 2,
+ "always",
],
"react-hooks/exhaustive-deps": [
- "error",
+ 2,
],
"react-hooks/rules-of-hooks": [
- "error",
+ 2,
],
"react/destructuring-assignment": [
- "error",
+ 2,
],
"react/display-name": [
- "off",
+ 0,
],
"react/jsx-child-element-spacing": [
- "off",
+ 0,
],
"react/jsx-closing-bracket-location": [
- "off",
+ 0,
],
"react/jsx-closing-tag-location": [
- "off",
+ 0,
],
"react/jsx-curly-brace-presence": [
- "error",
+ 2,
{
"children": "never",
"propElementValues": "always",
@@ -1572,38 +2864,38 @@ exports[`keeps rules stable 1`] = `
},
],
"react/jsx-curly-newline": [
- "off",
+ 0,
],
"react/jsx-curly-spacing": [
- "off",
+ 0,
],
"react/jsx-equals-spacing": [
- "off",
+ 0,
],
"react/jsx-first-prop-new-line": [
- "off",
+ 0,
],
"react/jsx-fragments": [
- "error",
+ 2,
"syntax",
],
"react/jsx-indent": [
- "off",
+ 0,
],
"react/jsx-indent-props": [
- "off",
+ 0,
],
"react/jsx-key": [
2,
],
"react/jsx-max-props-per-line": [
- "off",
+ 0,
],
"react/jsx-newline": [
- "off",
+ 0,
],
"react/jsx-no-bind": [
- "error",
+ 2,
{
"allowArrowFunctions": true,
"allowBind": false,
@@ -1625,25 +2917,25 @@ exports[`keeps rules stable 1`] = `
2,
],
"react/jsx-no-useless-fragment": [
- "error",
+ 2,
],
"react/jsx-one-expression-per-line": [
- "off",
+ 0,
],
"react/jsx-pascal-case": [
- "error",
+ 2,
],
"react/jsx-props-no-multi-spaces": [
- "off",
+ 0,
],
"react/jsx-sort-props": [
- "warn",
+ 1,
],
"react/jsx-space-before-closing": [
- "off",
+ 0,
],
"react/jsx-tag-spacing": [
- "off",
+ 0,
],
"react/jsx-uses-react": [
2,
@@ -1652,7 +2944,7 @@ exports[`keeps rules stable 1`] = `
2,
],
"react/jsx-wrap-multilines": [
- "off",
+ 0,
],
"react/no-children-prop": [
2,
@@ -1673,7 +2965,7 @@ exports[`keeps rules stable 1`] = `
2,
],
"react/no-redundant-should-component-update": [
- "error",
+ 2,
],
"react/no-render-return-value": [
2,
@@ -1682,10 +2974,10 @@ exports[`keeps rules stable 1`] = `
2,
],
"react/no-this-in-sfc": [
- "error",
+ 2,
],
"react/no-unescaped-entities": [
- "error",
+ 2,
{
"forbid": [
{
@@ -1707,19 +2999,19 @@ exports[`keeps rules stable 1`] = `
2,
],
"react/no-unsafe": [
- "error",
+ 2,
],
"react/no-unused-state": [
- "error",
+ 2,
],
"react/prefer-es6-class": [
- "error",
+ 2,
],
"react/prefer-read-only-props": [
- "error",
+ 2,
],
"react/prop-types": [
- "off",
+ 0,
],
"react/react-in-jsx-scope": [
2,
@@ -1728,339 +3020,277 @@ exports[`keeps rules stable 1`] = `
2,
],
"react/self-closing-comp": [
- "error",
+ 2,
],
"react/style-prop-object": [
- "error",
+ 2,
],
"require-yield": [
- "error",
+ 2,
],
"rest-spread-spacing": [
- "off",
+ 0,
],
"semi": [
- "off",
+ 0,
],
"semi-spacing": [
- "off",
+ 0,
],
"semi-style": [
- "off",
+ 0,
],
"sort-imports": [
- "error",
+ 2,
{
"allowSeparatedGroups": false,
"ignoreCase": true,
"ignoreDeclarationSort": true,
"ignoreMemberSort": false,
+ "memberSyntaxSortOrder": [
+ "none",
+ "all",
+ "multiple",
+ "single",
+ ],
},
],
"space-after-function-name": [
- "off",
+ 0,
],
"space-after-keywords": [
- "off",
+ 0,
],
"space-before-blocks": [
- "off",
+ 0,
],
"space-before-function-paren": [
- "off",
+ 0,
],
"space-before-function-parentheses": [
- "off",
+ 0,
],
"space-before-keywords": [
- "off",
+ 0,
],
"space-in-brackets": [
- "off",
+ 0,
],
"space-in-parens": [
- "off",
+ 0,
],
"space-infix-ops": [
- "off",
+ 0,
],
"space-return-throw-case": [
- "off",
+ 0,
],
"space-unary-ops": [
- "off",
+ 0,
],
"space-unary-word-ops": [
- "off",
+ 0,
],
"standard/array-bracket-even-spacing": [
- "off",
+ 0,
],
"standard/computed-property-even-spacing": [
- "off",
+ 0,
],
"standard/object-curly-even-spacing": [
- "off",
+ 0,
],
"strict": [
- "error",
+ 2,
+ "safe",
],
"switch-case/newline-between-switch-case": [
- "warn",
+ 1,
"always",
{
"fallthrough": "never",
},
],
"switch-colon-spacing": [
- "off",
+ 0,
],
"symbol-description": [
- "error",
+ 2,
],
"template-curly-spacing": [
- "off",
+ 0,
],
"template-tag-spacing": [
- "off",
- ],
- "testing-library/await-async-events": [
- "error",
- {
- "eventModule": "userEvent",
- },
- ],
- "testing-library/await-async-queries": [
- "error",
- ],
- "testing-library/await-async-utils": [
- "error",
- ],
- "testing-library/no-await-sync-events": [
- "error",
- {
- "eventModules": [
- "fire-event",
- ],
- },
- ],
- "testing-library/no-await-sync-queries": [
- "error",
- ],
- "testing-library/no-container": [
- "error",
- ],
- "testing-library/no-debugging-utils": [
- "warn",
- ],
- "testing-library/no-dom-import": [
- "error",
- "react",
- ],
- "testing-library/no-global-regexp-flag-in-query": [
- "error",
- ],
- "testing-library/no-manual-cleanup": [
- "error",
- ],
- "testing-library/no-node-access": [
- "error",
- ],
- "testing-library/no-promise-in-fire-event": [
- "error",
- ],
- "testing-library/no-render-in-lifecycle": [
- "off",
- ],
- "testing-library/no-unnecessary-act": [
- "error",
- ],
- "testing-library/no-wait-for-multiple-assertions": [
- "error",
- ],
- "testing-library/no-wait-for-side-effects": [
- "error",
- ],
- "testing-library/no-wait-for-snapshot": [
- "error",
- ],
- "testing-library/prefer-find-by": [
- "error",
- ],
- "testing-library/prefer-presence-queries": [
- "error",
- ],
- "testing-library/prefer-query-by-disappearance": [
- "error",
- ],
- "testing-library/prefer-screen-queries": [
- "error",
- ],
- "testing-library/render-result-naming-convention": [
- "error",
+ 0,
],
"unicorn/empty-brace-spaces": [
- "off",
+ 0,
],
"unicorn/no-nested-ternary": [
- "off",
+ 0,
],
"unicorn/number-literal-case": [
- "off",
+ 0,
],
"unicorn/template-indent": [
0,
],
"use-isnan": [
- "error",
+ 2,
+ {
+ "enforceForIndexOf": false,
+ "enforceForSwitchCase": true,
+ },
],
"valid-jsdoc": [
- "off",
+ 0,
{
"requireParamDescription": false,
- "requireParamType": true,
- "requireReturn": true,
"requireReturnDescription": false,
- "requireReturnType": true,
},
],
"valid-typeof": [
- "error",
+ 2,
{
"requireStringLiterals": true,
},
],
"vars-on-top": [
- "error",
+ 2,
],
"vue/array-bracket-newline": [
- "off",
+ 0,
],
"vue/array-bracket-spacing": [
- "off",
+ 0,
],
"vue/array-element-newline": [
- "off",
+ 0,
],
"vue/arrow-spacing": [
- "off",
+ 0,
],
"vue/block-spacing": [
- "off",
+ 0,
],
"vue/block-tag-newline": [
- "off",
+ 0,
],
"vue/brace-style": [
- "off",
+ 0,
],
"vue/comma-dangle": [
- "off",
+ 0,
],
"vue/comma-spacing": [
- "off",
+ 0,
],
"vue/comma-style": [
- "off",
+ 0,
],
"vue/dot-location": [
- "off",
+ 0,
],
"vue/func-call-spacing": [
- "off",
+ 0,
],
"vue/html-closing-bracket-newline": [
- "off",
+ 0,
],
"vue/html-closing-bracket-spacing": [
- "off",
+ 0,
],
"vue/html-end-tags": [
- "off",
+ 0,
],
"vue/html-indent": [
- "off",
+ 0,
],
"vue/html-quotes": [
- "off",
+ 0,
],
"vue/html-self-closing": [
0,
],
"vue/key-spacing": [
- "off",
+ 0,
],
"vue/keyword-spacing": [
- "off",
+ 0,
],
"vue/max-attributes-per-line": [
- "off",
+ 0,
],
"vue/max-len": [
0,
],
"vue/multiline-html-element-content-newline": [
- "off",
+ 0,
],
"vue/multiline-ternary": [
- "off",
+ 0,
],
"vue/mustache-interpolation-spacing": [
- "off",
+ 0,
],
"vue/no-extra-parens": [
- "off",
+ 0,
],
"vue/no-multi-spaces": [
- "off",
+ 0,
],
"vue/no-spaces-around-equal-signs-in-attribute": [
- "off",
+ 0,
],
"vue/object-curly-newline": [
- "off",
+ 0,
],
"vue/object-curly-spacing": [
- "off",
+ 0,
],
"vue/object-property-newline": [
- "off",
+ 0,
],
"vue/operator-linebreak": [
- "off",
+ 0,
],
"vue/quote-props": [
- "off",
+ 0,
],
"vue/script-indent": [
- "off",
+ 0,
],
"vue/singleline-html-element-content-newline": [
- "off",
+ 0,
],
"vue/space-in-parens": [
- "off",
+ 0,
],
"vue/space-infix-ops": [
- "off",
+ 0,
],
"vue/space-unary-ops": [
- "off",
+ 0,
],
"vue/template-curly-spacing": [
- "off",
+ 0,
],
"wrap-iife": [
- "off",
+ 0,
],
"wrap-regex": [
- "off",
+ 0,
],
"yield-star-spacing": [
- "off",
+ 0,
],
"yoda": [
- "error",
+ 2,
+ "never",
+ {
+ "exceptRange": false,
+ "onlyEquality": false,
+ },
],
},
"settings": {
diff --git a/packages/eslint-config/test/__snapshots__/ts.spec.js.snap b/packages/eslint-config/test/__snapshots__/ts.spec.js.snap
index 39d6132..ca7f3b2 100644
--- a/packages/eslint-config/test/__snapshots__/ts.spec.js.snap
+++ b/packages/eslint-config/test/__snapshots__/ts.spec.js.snap
@@ -2,48 +2,1235 @@
exports[`keeps rules stable 1`] = `
{
- "env": {
- "browser": true,
- "es6": true,
- },
- "globals": {},
- "ignorePatterns": [],
- "noInlineConfig": undefined,
- "parser": "/node_modules/@typescript-eslint/parser/dist/index.js",
- "parserOptions": {
- "ecmaFeatures": {
- "jsx": true,
+ "language": "@/js",
+ "languageOptions": {
+ "ecmaVersion": 2026,
+ "globals": {
+ "AI": false,
+ "AITextSession": false,
+ "AbortController": false,
+ "AbortSignal": false,
+ "AbsoluteOrientationSensor": false,
+ "AbstractRange": false,
+ "Accelerometer": false,
+ "AggregateError": false,
+ "AnalyserNode": false,
+ "Animation": false,
+ "AnimationEffect": false,
+ "AnimationEvent": false,
+ "AnimationPlaybackEvent": false,
+ "AnimationTimeline": false,
+ "Array": false,
+ "ArrayBuffer": false,
+ "Atomics": false,
+ "Attr": false,
+ "Audio": false,
+ "AudioBuffer": false,
+ "AudioBufferSourceNode": false,
+ "AudioContext": false,
+ "AudioData": false,
+ "AudioDecoder": false,
+ "AudioDestinationNode": false,
+ "AudioEncoder": false,
+ "AudioListener": false,
+ "AudioNode": false,
+ "AudioParam": false,
+ "AudioParamMap": false,
+ "AudioProcessingEvent": false,
+ "AudioScheduledSourceNode": false,
+ "AudioSinkInfo": false,
+ "AudioWorklet": false,
+ "AudioWorkletGlobalScope": false,
+ "AudioWorkletNode": false,
+ "AudioWorkletProcessor": false,
+ "AuthenticatorAssertionResponse": false,
+ "AuthenticatorAttestationResponse": false,
+ "AuthenticatorResponse": false,
+ "BackgroundFetchManager": false,
+ "BackgroundFetchRecord": false,
+ "BackgroundFetchRegistration": false,
+ "BarProp": false,
+ "BarcodeDetector": false,
+ "BaseAudioContext": false,
+ "BatteryManager": false,
+ "BeforeUnloadEvent": false,
+ "BigInt": false,
+ "BigInt64Array": false,
+ "BigUint64Array": false,
+ "BiquadFilterNode": false,
+ "Blob": false,
+ "BlobEvent": false,
+ "Bluetooth": false,
+ "BluetoothCharacteristicProperties": false,
+ "BluetoothDevice": false,
+ "BluetoothRemoteGATTCharacteristic": false,
+ "BluetoothRemoteGATTDescriptor": false,
+ "BluetoothRemoteGATTServer": false,
+ "BluetoothRemoteGATTService": false,
+ "BluetoothUUID": false,
+ "Boolean": false,
+ "BroadcastChannel": false,
+ "BrowserCaptureMediaStreamTrack": false,
+ "ByteLengthQueuingStrategy": false,
+ "CDATASection": false,
+ "CSS": false,
+ "CSSAnimation": false,
+ "CSSConditionRule": false,
+ "CSSContainerRule": false,
+ "CSSCounterStyleRule": false,
+ "CSSFontFaceRule": false,
+ "CSSFontFeatureValuesRule": false,
+ "CSSFontPaletteValuesRule": false,
+ "CSSGroupingRule": false,
+ "CSSImageValue": false,
+ "CSSImportRule": false,
+ "CSSKeyframeRule": false,
+ "CSSKeyframesRule": false,
+ "CSSKeywordValue": false,
+ "CSSLayerBlockRule": false,
+ "CSSLayerStatementRule": false,
+ "CSSMarginRule": false,
+ "CSSMathClamp": false,
+ "CSSMathInvert": false,
+ "CSSMathMax": false,
+ "CSSMathMin": false,
+ "CSSMathNegate": false,
+ "CSSMathProduct": false,
+ "CSSMathSum": false,
+ "CSSMathValue": false,
+ "CSSMatrixComponent": false,
+ "CSSMediaRule": false,
+ "CSSNamespaceRule": false,
+ "CSSNestedDeclarations": false,
+ "CSSNumericArray": false,
+ "CSSNumericValue": false,
+ "CSSPageDescriptors": false,
+ "CSSPageRule": false,
+ "CSSPerspective": false,
+ "CSSPositionTryDescriptors": false,
+ "CSSPositionTryRule": false,
+ "CSSPositionValue": false,
+ "CSSPropertyRule": false,
+ "CSSRotate": false,
+ "CSSRule": false,
+ "CSSRuleList": false,
+ "CSSScale": false,
+ "CSSScopeRule": false,
+ "CSSSkew": false,
+ "CSSSkewX": false,
+ "CSSSkewY": false,
+ "CSSStartingStyleRule": false,
+ "CSSStyleDeclaration": false,
+ "CSSStyleRule": false,
+ "CSSStyleSheet": false,
+ "CSSStyleValue": false,
+ "CSSSupportsRule": false,
+ "CSSTransformComponent": false,
+ "CSSTransformValue": false,
+ "CSSTransition": false,
+ "CSSTranslate": false,
+ "CSSUnitValue": false,
+ "CSSUnparsedValue": false,
+ "CSSVariableReferenceValue": false,
+ "CSSViewTransitionRule": false,
+ "Cache": false,
+ "CacheStorage": false,
+ "CanvasCaptureMediaStream": false,
+ "CanvasCaptureMediaStreamTrack": false,
+ "CanvasGradient": false,
+ "CanvasPattern": false,
+ "CanvasRenderingContext2D": false,
+ "CaptureController": false,
+ "CaretPosition": false,
+ "ChannelMergerNode": false,
+ "ChannelSplitterNode": false,
+ "ChapterInformation": false,
+ "CharacterBoundsUpdateEvent": false,
+ "CharacterData": false,
+ "Clipboard": false,
+ "ClipboardEvent": false,
+ "ClipboardItem": false,
+ "CloseEvent": false,
+ "CloseWatcher": false,
+ "Comment": false,
+ "CompositionEvent": false,
+ "CompressionStream": false,
+ "ConstantSourceNode": false,
+ "ContentVisibilityAutoStateChangeEvent": false,
+ "ConvolverNode": false,
+ "CookieChangeEvent": false,
+ "CookieDeprecationLabel": false,
+ "CookieStore": false,
+ "CookieStoreManager": false,
+ "CountQueuingStrategy": false,
+ "Credential": false,
+ "CredentialsContainer": false,
+ "CropTarget": false,
+ "Crypto": false,
+ "CryptoKey": false,
+ "CustomElementRegistry": false,
+ "CustomEvent": false,
+ "CustomStateSet": false,
+ "DOMError": false,
+ "DOMException": false,
+ "DOMImplementation": false,
+ "DOMMatrix": false,
+ "DOMMatrixReadOnly": false,
+ "DOMParser": false,
+ "DOMPoint": false,
+ "DOMPointReadOnly": false,
+ "DOMQuad": false,
+ "DOMRect": false,
+ "DOMRectList": false,
+ "DOMRectReadOnly": false,
+ "DOMStringList": false,
+ "DOMStringMap": false,
+ "DOMTokenList": false,
+ "DataTransfer": false,
+ "DataTransferItem": false,
+ "DataTransferItemList": false,
+ "DataView": false,
+ "Date": false,
+ "DecompressionStream": false,
+ "DelayNode": false,
+ "DelegatedInkTrailPresenter": false,
+ "DeviceMotionEvent": false,
+ "DeviceMotionEventAcceleration": false,
+ "DeviceMotionEventRotationRate": false,
+ "DeviceOrientationEvent": false,
+ "Document": false,
+ "DocumentFragment": false,
+ "DocumentPictureInPicture": false,
+ "DocumentPictureInPictureEvent": false,
+ "DocumentTimeline": false,
+ "DocumentType": false,
+ "DragEvent": false,
+ "DynamicsCompressorNode": false,
+ "EditContext": false,
+ "Element": false,
+ "ElementInternals": false,
+ "EncodedAudioChunk": false,
+ "EncodedVideoChunk": false,
+ "Error": false,
+ "ErrorEvent": false,
+ "EvalError": false,
+ "Event": false,
+ "EventCounts": false,
+ "EventSource": false,
+ "EventTarget": false,
+ "External": false,
+ "EyeDropper": false,
+ "FeaturePolicy": false,
+ "FederatedCredential": false,
+ "Fence": false,
+ "FencedFrameConfig": false,
+ "FetchLaterResult": false,
+ "File": false,
+ "FileList": false,
+ "FileReader": false,
+ "FileSystem": false,
+ "FileSystemDirectoryEntry": false,
+ "FileSystemDirectoryHandle": false,
+ "FileSystemDirectoryReader": false,
+ "FileSystemEntry": false,
+ "FileSystemFileEntry": false,
+ "FileSystemFileHandle": false,
+ "FileSystemHandle": false,
+ "FileSystemWritableFileStream": false,
+ "FinalizationRegistry": false,
+ "Float16Array": false,
+ "Float32Array": false,
+ "Float64Array": false,
+ "FocusEvent": false,
+ "FontData": false,
+ "FontFace": false,
+ "FontFaceSet": false,
+ "FontFaceSetLoadEvent": false,
+ "FormData": false,
+ "FormDataEvent": false,
+ "FragmentDirective": false,
+ "Function": false,
+ "GPU": false,
+ "GPUAdapter": false,
+ "GPUAdapterInfo": false,
+ "GPUBindGroup": false,
+ "GPUBindGroupLayout": false,
+ "GPUBuffer": false,
+ "GPUBufferUsage": false,
+ "GPUCanvasContext": false,
+ "GPUColorWrite": false,
+ "GPUCommandBuffer": false,
+ "GPUCommandEncoder": false,
+ "GPUCompilationInfo": false,
+ "GPUCompilationMessage": false,
+ "GPUComputePassEncoder": false,
+ "GPUComputePipeline": false,
+ "GPUDevice": false,
+ "GPUDeviceLostInfo": false,
+ "GPUError": false,
+ "GPUExternalTexture": false,
+ "GPUInternalError": false,
+ "GPUMapMode": false,
+ "GPUOutOfMemoryError": false,
+ "GPUPipelineError": false,
+ "GPUPipelineLayout": false,
+ "GPUQuerySet": false,
+ "GPUQueue": false,
+ "GPURenderBundle": false,
+ "GPURenderBundleEncoder": false,
+ "GPURenderPassEncoder": false,
+ "GPURenderPipeline": false,
+ "GPUSampler": false,
+ "GPUShaderModule": false,
+ "GPUShaderStage": false,
+ "GPUSupportedFeatures": false,
+ "GPUSupportedLimits": false,
+ "GPUTexture": false,
+ "GPUTextureUsage": false,
+ "GPUTextureView": false,
+ "GPUUncapturedErrorEvent": false,
+ "GPUValidationError": false,
+ "GainNode": false,
+ "Gamepad": false,
+ "GamepadAxisMoveEvent": false,
+ "GamepadButton": false,
+ "GamepadButtonEvent": false,
+ "GamepadEvent": false,
+ "GamepadHapticActuator": false,
+ "GamepadPose": false,
+ "Geolocation": false,
+ "GeolocationCoordinates": false,
+ "GeolocationPosition": false,
+ "GeolocationPositionError": false,
+ "GravitySensor": false,
+ "Gyroscope": false,
+ "HID": false,
+ "HIDConnectionEvent": false,
+ "HIDDevice": false,
+ "HIDInputReportEvent": false,
+ "HTMLAllCollection": false,
+ "HTMLAnchorElement": false,
+ "HTMLAreaElement": false,
+ "HTMLAudioElement": false,
+ "HTMLBRElement": false,
+ "HTMLBaseElement": false,
+ "HTMLBodyElement": false,
+ "HTMLButtonElement": false,
+ "HTMLCanvasElement": false,
+ "HTMLCollection": false,
+ "HTMLDListElement": false,
+ "HTMLDataElement": false,
+ "HTMLDataListElement": false,
+ "HTMLDetailsElement": false,
+ "HTMLDialogElement": false,
+ "HTMLDirectoryElement": false,
+ "HTMLDivElement": false,
+ "HTMLDocument": false,
+ "HTMLElement": false,
+ "HTMLEmbedElement": false,
+ "HTMLFencedFrameElement": false,
+ "HTMLFieldSetElement": false,
+ "HTMLFontElement": false,
+ "HTMLFormControlsCollection": false,
+ "HTMLFormElement": false,
+ "HTMLFrameElement": false,
+ "HTMLFrameSetElement": false,
+ "HTMLHRElement": false,
+ "HTMLHeadElement": false,
+ "HTMLHeadingElement": false,
+ "HTMLHtmlElement": false,
+ "HTMLIFrameElement": false,
+ "HTMLImageElement": false,
+ "HTMLInputElement": false,
+ "HTMLLIElement": false,
+ "HTMLLabelElement": false,
+ "HTMLLegendElement": false,
+ "HTMLLinkElement": false,
+ "HTMLMapElement": false,
+ "HTMLMarqueeElement": false,
+ "HTMLMediaElement": false,
+ "HTMLMenuElement": false,
+ "HTMLMetaElement": false,
+ "HTMLMeterElement": false,
+ "HTMLModElement": false,
+ "HTMLOListElement": false,
+ "HTMLObjectElement": false,
+ "HTMLOptGroupElement": false,
+ "HTMLOptionElement": false,
+ "HTMLOptionsCollection": false,
+ "HTMLOutputElement": false,
+ "HTMLParagraphElement": false,
+ "HTMLParamElement": false,
+ "HTMLPictureElement": false,
+ "HTMLPreElement": false,
+ "HTMLProgressElement": false,
+ "HTMLQuoteElement": false,
+ "HTMLScriptElement": false,
+ "HTMLSelectElement": false,
+ "HTMLSlotElement": false,
+ "HTMLSourceElement": false,
+ "HTMLSpanElement": false,
+ "HTMLStyleElement": false,
+ "HTMLTableCaptionElement": false,
+ "HTMLTableCellElement": false,
+ "HTMLTableColElement": false,
+ "HTMLTableElement": false,
+ "HTMLTableRowElement": false,
+ "HTMLTableSectionElement": false,
+ "HTMLTemplateElement": false,
+ "HTMLTextAreaElement": false,
+ "HTMLTimeElement": false,
+ "HTMLTitleElement": false,
+ "HTMLTrackElement": false,
+ "HTMLUListElement": false,
+ "HTMLUnknownElement": false,
+ "HTMLVideoElement": false,
+ "HashChangeEvent": false,
+ "Headers": false,
+ "Highlight": false,
+ "HighlightRegistry": false,
+ "History": false,
+ "IDBCursor": false,
+ "IDBCursorWithValue": false,
+ "IDBDatabase": false,
+ "IDBFactory": false,
+ "IDBIndex": false,
+ "IDBKeyRange": false,
+ "IDBObjectStore": false,
+ "IDBOpenDBRequest": false,
+ "IDBRequest": false,
+ "IDBTransaction": false,
+ "IDBVersionChangeEvent": false,
+ "IIRFilterNode": false,
+ "IdentityCredential": false,
+ "IdentityCredentialError": false,
+ "IdentityProvider": false,
+ "IdleDeadline": false,
+ "IdleDetector": false,
+ "Image": false,
+ "ImageBitmap": false,
+ "ImageBitmapRenderingContext": false,
+ "ImageCapture": false,
+ "ImageData": false,
+ "ImageDecoder": false,
+ "ImageTrack": false,
+ "ImageTrackList": false,
+ "Infinity": false,
+ "Ink": false,
+ "InputDeviceCapabilities": false,
+ "InputDeviceInfo": false,
+ "InputEvent": false,
+ "Int16Array": false,
+ "Int32Array": false,
+ "Int8Array": false,
+ "IntersectionObserver": false,
+ "IntersectionObserverEntry": false,
+ "Intl": false,
+ "JSON": false,
+ "Keyboard": false,
+ "KeyboardEvent": false,
+ "KeyboardLayoutMap": false,
+ "KeyframeEffect": false,
+ "LargestContentfulPaint": false,
+ "LaunchParams": false,
+ "LaunchQueue": false,
+ "LayoutShift": false,
+ "LayoutShiftAttribution": false,
+ "LinearAccelerationSensor": false,
+ "Location": false,
+ "Lock": false,
+ "LockManager": false,
+ "MIDIAccess": false,
+ "MIDIConnectionEvent": false,
+ "MIDIInput": false,
+ "MIDIInputMap": false,
+ "MIDIMessageEvent": false,
+ "MIDIOutput": false,
+ "MIDIOutputMap": false,
+ "MIDIPort": false,
+ "Map": false,
+ "Math": false,
+ "MathMLElement": false,
+ "MediaCapabilities": false,
+ "MediaCapabilitiesInfo": false,
+ "MediaDeviceInfo": false,
+ "MediaDevices": false,
+ "MediaElementAudioSourceNode": false,
+ "MediaEncryptedEvent": false,
+ "MediaError": false,
+ "MediaKeyError": false,
+ "MediaKeyMessageEvent": false,
+ "MediaKeySession": false,
+ "MediaKeyStatusMap": false,
+ "MediaKeySystemAccess": false,
+ "MediaKeys": false,
+ "MediaList": false,
+ "MediaMetadata": false,
+ "MediaQueryList": false,
+ "MediaQueryListEvent": false,
+ "MediaRecorder": false,
+ "MediaRecorderErrorEvent": false,
+ "MediaSession": false,
+ "MediaSource": false,
+ "MediaSourceHandle": false,
+ "MediaStream": false,
+ "MediaStreamAudioDestinationNode": false,
+ "MediaStreamAudioSourceNode": false,
+ "MediaStreamEvent": false,
+ "MediaStreamTrack": false,
+ "MediaStreamTrackAudioSourceNode": false,
+ "MediaStreamTrackAudioStats": false,
+ "MediaStreamTrackEvent": false,
+ "MediaStreamTrackGenerator": false,
+ "MediaStreamTrackProcessor": false,
+ "MediaStreamTrackVideoStats": false,
+ "MessageChannel": false,
+ "MessageEvent": false,
+ "MessagePort": false,
+ "MimeType": false,
+ "MimeTypeArray": false,
+ "ModelGenericSession": false,
+ "ModelManager": false,
+ "MouseEvent": false,
+ "MutationEvent": false,
+ "MutationObserver": false,
+ "MutationRecord": false,
+ "NaN": false,
+ "NamedNodeMap": false,
+ "NavigateEvent": false,
+ "Navigation": false,
+ "NavigationActivation": false,
+ "NavigationCurrentEntryChangeEvent": false,
+ "NavigationDestination": false,
+ "NavigationHistoryEntry": false,
+ "NavigationPreloadManager": false,
+ "NavigationTransition": false,
+ "Navigator": false,
+ "NavigatorLogin": false,
+ "NavigatorManagedData": false,
+ "NavigatorUAData": false,
+ "NetworkInformation": false,
+ "Node": false,
+ "NodeFilter": false,
+ "NodeIterator": false,
+ "NodeList": false,
+ "NotRestoredReasonDetails": false,
+ "NotRestoredReasons": false,
+ "Notification": false,
+ "NotifyPaintEvent": false,
+ "Number": false,
+ "OTPCredential": false,
+ "Object": false,
+ "OfflineAudioCompletionEvent": false,
+ "OfflineAudioContext": false,
+ "OffscreenCanvas": false,
+ "OffscreenCanvasRenderingContext2D": false,
+ "Option": false,
+ "OrientationSensor": false,
+ "OscillatorNode": false,
+ "OverconstrainedError": false,
+ "PERSISTENT": false,
+ "PageRevealEvent": false,
+ "PageSwapEvent": false,
+ "PageTransitionEvent": false,
+ "PannerNode": false,
+ "PasswordCredential": false,
+ "Path2D": false,
+ "PaymentAddress": false,
+ "PaymentManager": false,
+ "PaymentMethodChangeEvent": false,
+ "PaymentRequest": false,
+ "PaymentRequestUpdateEvent": false,
+ "PaymentResponse": false,
+ "Performance": false,
+ "PerformanceElementTiming": false,
+ "PerformanceEntry": false,
+ "PerformanceEventTiming": false,
+ "PerformanceLongAnimationFrameTiming": false,
+ "PerformanceLongTaskTiming": false,
+ "PerformanceMark": false,
+ "PerformanceMeasure": false,
+ "PerformanceNavigation": false,
+ "PerformanceNavigationTiming": false,
+ "PerformanceObserver": false,
+ "PerformanceObserverEntryList": false,
+ "PerformancePaintTiming": false,
+ "PerformanceResourceTiming": false,
+ "PerformanceScriptTiming": false,
+ "PerformanceServerTiming": false,
+ "PerformanceTiming": false,
+ "PeriodicSyncManager": false,
+ "PeriodicWave": false,
+ "PermissionStatus": false,
+ "Permissions": false,
+ "PictureInPictureEvent": false,
+ "PictureInPictureWindow": false,
+ "Plugin": false,
+ "PluginArray": false,
+ "PointerEvent": false,
+ "PopStateEvent": false,
+ "Presentation": false,
+ "PresentationAvailability": false,
+ "PresentationConnection": false,
+ "PresentationConnectionAvailableEvent": false,
+ "PresentationConnectionCloseEvent": false,
+ "PresentationConnectionList": false,
+ "PresentationReceiver": false,
+ "PresentationRequest": false,
+ "PressureObserver": false,
+ "PressureRecord": false,
+ "ProcessingInstruction": false,
+ "Profiler": false,
+ "ProgressEvent": false,
+ "Promise": false,
+ "PromiseRejectionEvent": false,
+ "ProtectedAudience": false,
+ "Proxy": false,
+ "PublicKeyCredential": false,
+ "PushManager": false,
+ "PushSubscription": false,
+ "PushSubscriptionOptions": false,
+ "RTCCertificate": false,
+ "RTCDTMFSender": false,
+ "RTCDTMFToneChangeEvent": false,
+ "RTCDataChannel": false,
+ "RTCDataChannelEvent": false,
+ "RTCDtlsTransport": false,
+ "RTCEncodedAudioFrame": false,
+ "RTCEncodedVideoFrame": false,
+ "RTCError": false,
+ "RTCErrorEvent": false,
+ "RTCIceCandidate": false,
+ "RTCIceTransport": false,
+ "RTCPeerConnection": false,
+ "RTCPeerConnectionIceErrorEvent": false,
+ "RTCPeerConnectionIceEvent": false,
+ "RTCRtpReceiver": false,
+ "RTCRtpScriptTransform": false,
+ "RTCRtpSender": false,
+ "RTCRtpTransceiver": false,
+ "RTCSctpTransport": false,
+ "RTCSessionDescription": false,
+ "RTCStatsReport": false,
+ "RTCTrackEvent": false,
+ "RadioNodeList": false,
+ "Range": false,
+ "RangeError": false,
+ "ReadableByteStreamController": false,
+ "ReadableStream": false,
+ "ReadableStreamBYOBReader": false,
+ "ReadableStreamBYOBRequest": false,
+ "ReadableStreamDefaultController": false,
+ "ReadableStreamDefaultReader": false,
+ "ReferenceError": false,
+ "Reflect": false,
+ "RegExp": false,
+ "RelativeOrientationSensor": false,
+ "RemotePlayback": false,
+ "ReportingObserver": false,
+ "Request": false,
+ "ResizeObserver": false,
+ "ResizeObserverEntry": false,
+ "ResizeObserverSize": false,
+ "Response": false,
+ "SVGAElement": false,
+ "SVGAngle": false,
+ "SVGAnimateElement": false,
+ "SVGAnimateMotionElement": false,
+ "SVGAnimateTransformElement": false,
+ "SVGAnimatedAngle": false,
+ "SVGAnimatedBoolean": false,
+ "SVGAnimatedEnumeration": false,
+ "SVGAnimatedInteger": false,
+ "SVGAnimatedLength": false,
+ "SVGAnimatedLengthList": false,
+ "SVGAnimatedNumber": false,
+ "SVGAnimatedNumberList": false,
+ "SVGAnimatedPreserveAspectRatio": false,
+ "SVGAnimatedRect": false,
+ "SVGAnimatedString": false,
+ "SVGAnimatedTransformList": false,
+ "SVGAnimationElement": false,
+ "SVGCircleElement": false,
+ "SVGClipPathElement": false,
+ "SVGComponentTransferFunctionElement": false,
+ "SVGDefsElement": false,
+ "SVGDescElement": false,
+ "SVGElement": false,
+ "SVGEllipseElement": false,
+ "SVGFEBlendElement": false,
+ "SVGFEColorMatrixElement": false,
+ "SVGFEComponentTransferElement": false,
+ "SVGFECompositeElement": false,
+ "SVGFEConvolveMatrixElement": false,
+ "SVGFEDiffuseLightingElement": false,
+ "SVGFEDisplacementMapElement": false,
+ "SVGFEDistantLightElement": false,
+ "SVGFEDropShadowElement": false,
+ "SVGFEFloodElement": false,
+ "SVGFEFuncAElement": false,
+ "SVGFEFuncBElement": false,
+ "SVGFEFuncGElement": false,
+ "SVGFEFuncRElement": false,
+ "SVGFEGaussianBlurElement": false,
+ "SVGFEImageElement": false,
+ "SVGFEMergeElement": false,
+ "SVGFEMergeNodeElement": false,
+ "SVGFEMorphologyElement": false,
+ "SVGFEOffsetElement": false,
+ "SVGFEPointLightElement": false,
+ "SVGFESpecularLightingElement": false,
+ "SVGFESpotLightElement": false,
+ "SVGFETileElement": false,
+ "SVGFETurbulenceElement": false,
+ "SVGFilterElement": false,
+ "SVGForeignObjectElement": false,
+ "SVGGElement": false,
+ "SVGGeometryElement": false,
+ "SVGGradientElement": false,
+ "SVGGraphicsElement": false,
+ "SVGImageElement": false,
+ "SVGLength": false,
+ "SVGLengthList": false,
+ "SVGLineElement": false,
+ "SVGLinearGradientElement": false,
+ "SVGMPathElement": false,
+ "SVGMarkerElement": false,
+ "SVGMaskElement": false,
+ "SVGMatrix": false,
+ "SVGMetadataElement": false,
+ "SVGNumber": false,
+ "SVGNumberList": false,
+ "SVGPathElement": false,
+ "SVGPatternElement": false,
+ "SVGPoint": false,
+ "SVGPointList": false,
+ "SVGPolygonElement": false,
+ "SVGPolylineElement": false,
+ "SVGPreserveAspectRatio": false,
+ "SVGRadialGradientElement": false,
+ "SVGRect": false,
+ "SVGRectElement": false,
+ "SVGSVGElement": false,
+ "SVGScriptElement": false,
+ "SVGSetElement": false,
+ "SVGStopElement": false,
+ "SVGStringList": false,
+ "SVGStyleElement": false,
+ "SVGSwitchElement": false,
+ "SVGSymbolElement": false,
+ "SVGTSpanElement": false,
+ "SVGTextContentElement": false,
+ "SVGTextElement": false,
+ "SVGTextPathElement": false,
+ "SVGTextPositioningElement": false,
+ "SVGTitleElement": false,
+ "SVGTransform": false,
+ "SVGTransformList": false,
+ "SVGUnitTypes": false,
+ "SVGUseElement": false,
+ "SVGViewElement": false,
+ "Scheduler": false,
+ "Scheduling": false,
+ "Screen": false,
+ "ScreenDetailed": false,
+ "ScreenDetails": false,
+ "ScreenOrientation": false,
+ "ScriptProcessorNode": false,
+ "ScrollTimeline": false,
+ "SecurityPolicyViolationEvent": false,
+ "Selection": false,
+ "Sensor": false,
+ "SensorErrorEvent": false,
+ "Serial": false,
+ "SerialPort": false,
+ "ServiceWorker": false,
+ "ServiceWorkerContainer": false,
+ "ServiceWorkerRegistration": false,
+ "Set": false,
+ "ShadowRoot": false,
+ "SharedArrayBuffer": false,
+ "SharedStorage": false,
+ "SharedStorageWorklet": false,
+ "SharedWorker": false,
+ "SnapEvent": false,
+ "SourceBuffer": false,
+ "SourceBufferList": false,
+ "SpeechSynthesis": false,
+ "SpeechSynthesisErrorEvent": false,
+ "SpeechSynthesisEvent": false,
+ "SpeechSynthesisUtterance": false,
+ "SpeechSynthesisVoice": false,
+ "StaticRange": false,
+ "StereoPannerNode": false,
+ "Storage": false,
+ "StorageBucket": false,
+ "StorageBucketManager": false,
+ "StorageEvent": false,
+ "StorageManager": false,
+ "String": false,
+ "StylePropertyMap": false,
+ "StylePropertyMapReadOnly": false,
+ "StyleSheet": false,
+ "StyleSheetList": false,
+ "SubmitEvent": false,
+ "SubtleCrypto": false,
+ "Symbol": false,
+ "SyncManager": false,
+ "SyntaxError": false,
+ "TEMPORARY": false,
+ "TaskAttributionTiming": false,
+ "TaskController": false,
+ "TaskPriorityChangeEvent": false,
+ "TaskSignal": false,
+ "Text": false,
+ "TextDecoder": false,
+ "TextDecoderStream": false,
+ "TextEncoder": false,
+ "TextEncoderStream": false,
+ "TextEvent": false,
+ "TextFormat": false,
+ "TextFormatUpdateEvent": false,
+ "TextMetrics": false,
+ "TextTrack": false,
+ "TextTrackCue": false,
+ "TextTrackCueList": false,
+ "TextTrackList": false,
+ "TextUpdateEvent": false,
+ "TimeEvent": false,
+ "TimeRanges": false,
+ "ToggleEvent": false,
+ "Touch": false,
+ "TouchEvent": false,
+ "TouchList": false,
+ "TrackEvent": false,
+ "TransformStream": false,
+ "TransformStreamDefaultController": false,
+ "TransitionEvent": false,
+ "TreeWalker": false,
+ "TrustedHTML": false,
+ "TrustedScript": false,
+ "TrustedScriptURL": false,
+ "TrustedTypePolicy": false,
+ "TrustedTypePolicyFactory": false,
+ "TypeError": false,
+ "UIEvent": false,
+ "URIError": false,
+ "URL": false,
+ "URLPattern": false,
+ "URLSearchParams": false,
+ "USB": false,
+ "USBAlternateInterface": false,
+ "USBConfiguration": false,
+ "USBConnectionEvent": false,
+ "USBDevice": false,
+ "USBEndpoint": false,
+ "USBInTransferResult": false,
+ "USBInterface": false,
+ "USBIsochronousInTransferPacket": false,
+ "USBIsochronousInTransferResult": false,
+ "USBIsochronousOutTransferPacket": false,
+ "USBIsochronousOutTransferResult": false,
+ "USBOutTransferResult": false,
+ "Uint16Array": false,
+ "Uint32Array": false,
+ "Uint8Array": false,
+ "Uint8ClampedArray": false,
+ "UserActivation": false,
+ "VTTCue": false,
+ "VTTRegion": false,
+ "ValidityState": false,
+ "VideoColorSpace": false,
+ "VideoDecoder": false,
+ "VideoEncoder": false,
+ "VideoFrame": false,
+ "VideoPlaybackQuality": false,
+ "ViewTimeline": false,
+ "ViewTransition": false,
+ "ViewTransitionTypeSet": false,
+ "VirtualKeyboard": false,
+ "VirtualKeyboardGeometryChangeEvent": false,
+ "VisibilityStateEntry": false,
+ "VisualViewport": false,
+ "WGSLLanguageFeatures": false,
+ "WakeLock": false,
+ "WakeLockSentinel": false,
+ "WaveShaperNode": false,
+ "WeakMap": false,
+ "WeakRef": false,
+ "WeakSet": false,
+ "WebAssembly": false,
+ "WebGL2RenderingContext": false,
+ "WebGLActiveInfo": false,
+ "WebGLBuffer": false,
+ "WebGLContextEvent": false,
+ "WebGLFramebuffer": false,
+ "WebGLObject": false,
+ "WebGLProgram": false,
+ "WebGLQuery": false,
+ "WebGLRenderbuffer": false,
+ "WebGLRenderingContext": false,
+ "WebGLSampler": false,
+ "WebGLShader": false,
+ "WebGLShaderPrecisionFormat": false,
+ "WebGLSync": false,
+ "WebGLTexture": false,
+ "WebGLTransformFeedback": false,
+ "WebGLUniformLocation": false,
+ "WebGLVertexArrayObject": false,
+ "WebSocket": false,
+ "WebSocketError": false,
+ "WebSocketStream": false,
+ "WebTransport": false,
+ "WebTransportBidirectionalStream": false,
+ "WebTransportDatagramDuplexStream": false,
+ "WebTransportError": false,
+ "WebTransportReceiveStream": false,
+ "WebTransportSendStream": false,
+ "WheelEvent": false,
+ "Window": false,
+ "WindowControlsOverlay": false,
+ "WindowControlsOverlayGeometryChangeEvent": false,
+ "Worker": false,
+ "Worklet": false,
+ "WorkletGlobalScope": false,
+ "WritableStream": false,
+ "WritableStreamDefaultController": false,
+ "WritableStreamDefaultWriter": false,
+ "XMLDocument": false,
+ "XMLHttpRequest": false,
+ "XMLHttpRequestEventTarget": false,
+ "XMLHttpRequestUpload": false,
+ "XMLSerializer": false,
+ "XPathEvaluator": false,
+ "XPathExpression": false,
+ "XPathResult": false,
+ "XRAnchor": false,
+ "XRAnchorSet": false,
+ "XRBoundedReferenceSpace": false,
+ "XRCPUDepthInformation": false,
+ "XRCamera": false,
+ "XRDOMOverlayState": false,
+ "XRDepthInformation": false,
+ "XRFrame": false,
+ "XRHand": false,
+ "XRHitTestResult": false,
+ "XRHitTestSource": false,
+ "XRInputSource": false,
+ "XRInputSourceArray": false,
+ "XRInputSourceEvent": false,
+ "XRInputSourcesChangeEvent": false,
+ "XRJointPose": false,
+ "XRJointSpace": false,
+ "XRLayer": false,
+ "XRLightEstimate": false,
+ "XRLightProbe": false,
+ "XRPose": false,
+ "XRRay": false,
+ "XRReferenceSpace": false,
+ "XRReferenceSpaceEvent": false,
+ "XRRenderState": false,
+ "XRRigidTransform": false,
+ "XRSession": false,
+ "XRSessionEvent": false,
+ "XRSpace": false,
+ "XRSystem": false,
+ "XRTransientInputHitTestResult": false,
+ "XRTransientInputHitTestSource": false,
+ "XRView": false,
+ "XRViewerPose": false,
+ "XRViewport": false,
+ "XRWebGLBinding": false,
+ "XRWebGLDepthInformation": false,
+ "XRWebGLLayer": false,
+ "XSLTProcessor": false,
+ "addEventListener": false,
+ "ai": false,
+ "alert": false,
+ "atob": false,
+ "blur": false,
+ "btoa": false,
+ "caches": false,
+ "cancelAnimationFrame": false,
+ "cancelIdleCallback": false,
+ "clearInterval": false,
+ "clearTimeout": false,
+ "clientInformation": false,
+ "close": false,
+ "closed": false,
+ "confirm": false,
+ "console": false,
+ "cookieStore": false,
+ "createImageBitmap": false,
+ "credentialless": false,
+ "crossOriginIsolated": false,
+ "crypto": false,
+ "currentFrame": false,
+ "currentTime": false,
+ "customElements": false,
+ "decodeURI": false,
+ "decodeURIComponent": false,
+ "devicePixelRatio": false,
+ "dispatchEvent": false,
+ "document": false,
+ "documentPictureInPicture": false,
+ "encodeURI": false,
+ "encodeURIComponent": false,
+ "escape": false,
+ "eval": false,
+ "event": false,
+ "external": false,
+ "fence": false,
+ "fetch": false,
+ "fetchLater": false,
+ "find": false,
+ "focus": false,
+ "frameElement": false,
+ "frames": false,
+ "getComputedStyle": false,
+ "getScreenDetails": false,
+ "getSelection": false,
+ "globalThis": false,
+ "history": false,
+ "indexedDB": false,
+ "innerHeight": false,
+ "innerWidth": false,
+ "isFinite": false,
+ "isNaN": false,
+ "isSecureContext": false,
+ "launchQueue": false,
+ "length": false,
+ "localStorage": false,
+ "location": true,
+ "locationbar": false,
+ "matchMedia": false,
+ "menubar": false,
+ "model": false,
+ "moveBy": false,
+ "moveTo": false,
+ "name": false,
+ "navigation": false,
+ "navigator": false,
+ "offscreenBuffering": false,
+ "onabort": true,
+ "onafterprint": true,
+ "onanimationcancel": true,
+ "onanimationend": true,
+ "onanimationiteration": true,
+ "onanimationstart": true,
+ "onappinstalled": true,
+ "onauxclick": true,
+ "onbeforeinput": true,
+ "onbeforeinstallprompt": true,
+ "onbeforematch": true,
+ "onbeforeprint": true,
+ "onbeforetoggle": true,
+ "onbeforeunload": true,
+ "onbeforexrselect": true,
+ "onblur": true,
+ "oncancel": true,
+ "oncanplay": true,
+ "oncanplaythrough": true,
+ "onchange": true,
+ "onclick": true,
+ "onclose": true,
+ "oncontentvisibilityautostatechange": true,
+ "oncontextlost": true,
+ "oncontextmenu": true,
+ "oncontextrestored": true,
+ "oncopy": true,
+ "oncuechange": true,
+ "oncut": true,
+ "ondblclick": true,
+ "ondevicemotion": true,
+ "ondeviceorientation": true,
+ "ondeviceorientationabsolute": true,
+ "ondrag": true,
+ "ondragend": true,
+ "ondragenter": true,
+ "ondragleave": true,
+ "ondragover": true,
+ "ondragstart": true,
+ "ondrop": true,
+ "ondurationchange": true,
+ "onemptied": true,
+ "onended": true,
+ "onerror": true,
+ "onfocus": true,
+ "onformdata": true,
+ "ongamepadconnected": true,
+ "ongamepaddisconnected": true,
+ "ongotpointercapture": true,
+ "onhashchange": true,
+ "oninput": true,
+ "oninvalid": true,
+ "onkeydown": true,
+ "onkeypress": true,
+ "onkeyup": true,
+ "onlanguagechange": true,
+ "onload": true,
+ "onloadeddata": true,
+ "onloadedmetadata": true,
+ "onloadstart": true,
+ "onlostpointercapture": true,
+ "onmessage": true,
+ "onmessageerror": true,
+ "onmousedown": true,
+ "onmouseenter": true,
+ "onmouseleave": true,
+ "onmousemove": true,
+ "onmouseout": true,
+ "onmouseover": true,
+ "onmouseup": true,
+ "onmousewheel": true,
+ "onoffline": true,
+ "ononline": true,
+ "onpagehide": true,
+ "onpagereveal": true,
+ "onpageshow": true,
+ "onpageswap": true,
+ "onpaste": true,
+ "onpause": true,
+ "onplay": true,
+ "onplaying": true,
+ "onpointercancel": true,
+ "onpointerdown": true,
+ "onpointerenter": true,
+ "onpointerleave": true,
+ "onpointermove": true,
+ "onpointerout": true,
+ "onpointerover": true,
+ "onpointerrawupdate": true,
+ "onpointerup": true,
+ "onpopstate": true,
+ "onprogress": true,
+ "onratechange": true,
+ "onrejectionhandled": true,
+ "onreset": true,
+ "onresize": true,
+ "onscroll": true,
+ "onscrollend": true,
+ "onscrollsnapchange": true,
+ "onscrollsnapchanging": true,
+ "onsearch": true,
+ "onsecuritypolicyviolation": true,
+ "onseeked": true,
+ "onseeking": true,
+ "onselect": true,
+ "onselectionchange": true,
+ "onselectstart": true,
+ "onslotchange": true,
+ "onstalled": true,
+ "onstorage": true,
+ "onsubmit": true,
+ "onsuspend": true,
+ "ontimeupdate": true,
+ "ontoggle": true,
+ "ontransitioncancel": true,
+ "ontransitionend": true,
+ "ontransitionrun": true,
+ "ontransitionstart": true,
+ "onunhandledrejection": true,
+ "onunload": true,
+ "onvolumechange": true,
+ "onwaiting": true,
+ "onwheel": true,
+ "open": false,
+ "opener": false,
+ "origin": false,
+ "originAgentCluster": false,
+ "outerHeight": false,
+ "outerWidth": false,
+ "pageXOffset": false,
+ "pageYOffset": false,
+ "parent": false,
+ "parseFloat": false,
+ "parseInt": false,
+ "performance": false,
+ "personalbar": false,
+ "postMessage": false,
+ "print": false,
+ "prompt": false,
+ "queryLocalFonts": false,
+ "queueMicrotask": false,
+ "registerProcessor": false,
+ "removeEventListener": false,
+ "reportError": false,
+ "requestAnimationFrame": false,
+ "requestIdleCallback": false,
+ "resizeBy": false,
+ "resizeTo": false,
+ "sampleRate": false,
+ "scheduler": false,
+ "screen": false,
+ "screenLeft": false,
+ "screenTop": false,
+ "screenX": false,
+ "screenY": false,
+ "scroll": false,
+ "scrollBy": false,
+ "scrollTo": false,
+ "scrollX": false,
+ "scrollY": false,
+ "scrollbars": false,
+ "self": false,
+ "sessionStorage": false,
+ "setInterval": false,
+ "setTimeout": false,
+ "sharedStorage": false,
+ "showDirectoryPicker": false,
+ "showOpenFilePicker": false,
+ "showSaveFilePicker": false,
+ "speechSynthesis": false,
+ "status": false,
+ "statusbar": false,
+ "stop": false,
+ "structuredClone": false,
+ "styleMedia": false,
+ "toolbar": false,
+ "top": false,
+ "trustedTypes": false,
+ "undefined": false,
+ "unescape": false,
+ "visualViewport": false,
+ "window": false,
+ },
+ "parser": "typescript-eslint/parser@8.26.0",
+ "parserOptions": {
+ "ecmaFeatures": {
+ "jsx": true,
+ },
+ "project": "/home/circleci/project/packages/eslint-config/test/__fixtures__/tsconfig.json",
},
- "ecmaVersion": "latest",
- "project": "/packages/eslint-config/test/__fixtures__/tsconfig.json",
"sourceType": "module",
},
+ "linterOptions": {
+ "reportUnusedDisableDirectives": 2,
+ },
"plugins": [
- "@stylistic",
- "switch-case",
- "gettext",
+ "@",
"import",
+ "gettext",
+ "switch-case",
+ "@stylistic",
"jsdoc",
- "prettier",
+ "prettier:eslint-plugin-prettier@5.2.3",
"react",
- "jsx-a11y",
- "react-hooks",
+ "react-hooks:eslint-plugin-react-hooks",
+ "jsx-a11y:eslint-plugin-jsx-a11y@6.10.2",
+ "@typescript-eslint:@typescript-eslint/eslint-plugin@8.26.0",
"@bigcommerce",
- "@typescript-eslint",
],
- "reportUnusedDisableDirectives": true,
+ "processor": undefined,
"rules": {
"@babel/object-curly-spacing": [
- "off",
+ 0,
],
"@babel/semi": [
- "off",
- ],
- "@bigcommerce/jsx-short-circuit-conditionals": [
- "error",
+ 0,
],
"@stylistic/padding-line-between-statements": [
- "warn",
+ 1,
{
"blankLine": "always",
"next": "return",
@@ -109,7 +1296,7 @@ exports[`keeps rules stable 1`] = `
},
],
"@stylistic/spaced-comment": [
- "warn",
+ 1,
"always",
{
"block": {
@@ -136,61 +1323,61 @@ exports[`keeps rules stable 1`] = `
},
],
"@typescript-eslint/adjacent-overload-signatures": [
- "error",
+ 2,
],
"@typescript-eslint/array-type": [
- "error",
+ 2,
{
"default": "array-simple",
},
],
"@typescript-eslint/await-thenable": [
- "error",
+ 2,
],
"@typescript-eslint/ban-ts-comment": [
- "error",
+ 2,
{
"minimumDescriptionLength": 10,
},
],
"@typescript-eslint/ban-tslint-comment": [
- "error",
+ 2,
],
"@typescript-eslint/block-spacing": [
- "off",
+ 0,
],
"@typescript-eslint/brace-style": [
- "off",
+ 0,
],
"@typescript-eslint/class-literal-property-style": [
- "error",
+ 2,
],
"@typescript-eslint/comma-dangle": [
- "off",
+ 0,
],
"@typescript-eslint/comma-spacing": [
- "off",
+ 0,
],
"@typescript-eslint/consistent-generic-constructors": [
- "off",
+ 0,
],
"@typescript-eslint/consistent-indexed-object-style": [
- "error",
+ 2,
],
"@typescript-eslint/consistent-type-assertions": [
- "error",
+ 2,
{
"assertionStyle": "never",
},
],
"@typescript-eslint/consistent-type-definitions": [
- "error",
+ 2,
],
"@typescript-eslint/default-param-last": [
- "error",
+ 2,
],
"@typescript-eslint/dot-notation": [
- "error",
+ 2,
{
"allowIndexSignaturePropertyAccess": false,
"allowKeywords": true,
@@ -200,40 +1387,40 @@ exports[`keeps rules stable 1`] = `
},
],
"@typescript-eslint/explicit-function-return-type": [
- "off",
+ 0,
],
"@typescript-eslint/explicit-member-accessibility": [
- "error",
+ 2,
{
"accessibility": "no-public",
},
],
"@typescript-eslint/explicit-module-boundary-types": [
- "off",
+ 0,
],
"@typescript-eslint/func-call-spacing": [
- "off",
+ 0,
],
"@typescript-eslint/indent": [
- "off",
+ 0,
],
"@typescript-eslint/key-spacing": [
- "off",
+ 0,
],
"@typescript-eslint/keyword-spacing": [
- "off",
+ 0,
],
"@typescript-eslint/lines-around-comment": [
- "off",
+ 0,
],
"@typescript-eslint/member-delimiter-style": [
- "off",
+ 0,
],
"@typescript-eslint/member-ordering": [
- "error",
+ 2,
],
"@typescript-eslint/naming-convention": [
- "error",
+ 2,
{
"format": [
"camelCase",
@@ -315,79 +1502,82 @@ exports[`keeps rules stable 1`] = `
},
],
"@typescript-eslint/no-array-constructor": [
- "error",
+ 2,
],
"@typescript-eslint/no-array-delete": [
- "error",
+ 2,
],
"@typescript-eslint/no-base-to-string": [
- "error",
+ 2,
],
"@typescript-eslint/no-confusing-non-null-assertion": [
- "error",
+ 2,
],
"@typescript-eslint/no-confusing-void-expression": [
- "error",
+ 2,
{
"ignoreArrowShorthand": true,
},
],
"@typescript-eslint/no-deprecated": [
- "error",
+ 2,
],
"@typescript-eslint/no-duplicate-enum-values": [
- "error",
+ 2,
],
"@typescript-eslint/no-duplicate-type-constituents": [
- "error",
+ 2,
],
"@typescript-eslint/no-dynamic-delete": [
- "error",
+ 2,
],
"@typescript-eslint/no-empty-function": [
- "error",
+ 2,
+ {
+ "allow": [],
+ },
],
"@typescript-eslint/no-empty-object-type": [
- "error",
+ 2,
],
"@typescript-eslint/no-explicit-any": [
- "error",
+ 2,
],
"@typescript-eslint/no-extra-non-null-assertion": [
- "error",
+ 2,
],
"@typescript-eslint/no-extra-parens": [
- "off",
+ 0,
],
"@typescript-eslint/no-extra-semi": [
- "off",
+ 0,
],
"@typescript-eslint/no-extraneous-class": [
- "error",
+ 2,
],
"@typescript-eslint/no-floating-promises": [
- "error",
+ 2,
],
"@typescript-eslint/no-for-in-array": [
- "error",
+ 2,
],
"@typescript-eslint/no-implied-eval": [
- "error",
+ 2,
],
"@typescript-eslint/no-inferrable-types": [
- "error",
+ 2,
],
"@typescript-eslint/no-invalid-void-type": [
- "error",
+ 2,
],
"@typescript-eslint/no-meaningless-void-operator": [
- "error",
+ 2,
],
"@typescript-eslint/no-misused-new": [
- "error",
+ 2,
],
"@typescript-eslint/no-misused-promises": [
- "error",
+ 2,
{
"checksVoidReturn": {
"attributes": false,
@@ -395,94 +1585,99 @@ exports[`keeps rules stable 1`] = `
},
],
"@typescript-eslint/no-misused-spread": [
- "error",
+ 2,
],
"@typescript-eslint/no-mixed-enums": [
- "error",
+ 2,
],
"@typescript-eslint/no-namespace": [
- "error",
+ 2,
{
"allowDeclarations": true,
},
],
"@typescript-eslint/no-non-null-asserted-nullish-coalescing": [
- "error",
+ 2,
],
"@typescript-eslint/no-non-null-asserted-optional-chain": [
- "error",
+ 2,
],
"@typescript-eslint/no-non-null-assertion": [
- "error",
+ 2,
],
"@typescript-eslint/no-redundant-type-constituents": [
- "error",
+ 2,
],
"@typescript-eslint/no-require-imports": [
- "error",
+ 2,
],
"@typescript-eslint/no-shadow": [
- "error",
+ 2,
{
"hoist": "all",
},
],
"@typescript-eslint/no-this-alias": [
- "error",
+ 2,
],
"@typescript-eslint/no-unnecessary-boolean-literal-compare": [
- "error",
+ 2,
],
"@typescript-eslint/no-unnecessary-condition": [
- "error",
+ 2,
],
"@typescript-eslint/no-unnecessary-template-expression": [
- "error",
+ 2,
],
"@typescript-eslint/no-unnecessary-type-arguments": [
- "error",
+ 2,
],
"@typescript-eslint/no-unnecessary-type-assertion": [
- "error",
+ 2,
],
"@typescript-eslint/no-unnecessary-type-constraint": [
- "error",
+ 2,
],
"@typescript-eslint/no-unnecessary-type-parameters": [
- "error",
+ 2,
],
"@typescript-eslint/no-unsafe-argument": [
- "error",
+ 2,
],
"@typescript-eslint/no-unsafe-assignment": [
- "error",
+ 2,
],
"@typescript-eslint/no-unsafe-call": [
- "error",
+ 2,
],
"@typescript-eslint/no-unsafe-declaration-merging": [
- "error",
+ 2,
],
"@typescript-eslint/no-unsafe-enum-comparison": [
- "error",
+ 2,
],
"@typescript-eslint/no-unsafe-function-type": [
- "error",
+ 2,
],
"@typescript-eslint/no-unsafe-member-access": [
- "error",
+ 2,
],
"@typescript-eslint/no-unsafe-return": [
- "error",
+ 2,
],
"@typescript-eslint/no-unsafe-unary-minus": [
- "error",
+ 2,
],
"@typescript-eslint/no-unused-expressions": [
- "error",
+ 2,
+ {
+ "allowShortCircuit": false,
+ "allowTaggedTemplates": false,
+ "allowTernary": false,
+ },
],
"@typescript-eslint/no-unused-vars": [
- "error",
+ 2,
{
"args": "after-used",
"ignoreRestSiblings": true,
@@ -490,77 +1685,77 @@ exports[`keeps rules stable 1`] = `
},
],
"@typescript-eslint/no-use-before-define": [
- "error",
+ 2,
"nofunc",
],
"@typescript-eslint/no-useless-constructor": [
- "error",
+ 2,
],
"@typescript-eslint/no-wrapper-object-types": [
- "error",
+ 2,
],
"@typescript-eslint/non-nullable-type-assertion-style": [
- "error",
+ 2,
],
"@typescript-eslint/object-curly-spacing": [
- "off",
+ 0,
],
"@typescript-eslint/only-throw-error": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-as-const": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-find": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-for-of": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-function-type": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-includes": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-literal-enum-member": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-namespace-keyword": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-nullish-coalescing": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-optional-chain": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-promise-reject-errors": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-reduce-type-parameter": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-regexp-exec": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-return-this-type": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-string-starts-ends-with": [
- "error",
+ 2,
],
"@typescript-eslint/quotes": [
0,
],
"@typescript-eslint/related-getter-setter-pairs": [
- "error",
+ 2,
],
"@typescript-eslint/require-await": [
- "error",
+ 2,
],
"@typescript-eslint/restrict-plus-operands": [
- "error",
+ 2,
{
"allowAny": false,
"allowBoolean": false,
@@ -570,88 +1765,93 @@ exports[`keeps rules stable 1`] = `
},
],
"@typescript-eslint/restrict-template-expressions": [
- "error",
+ 2,
{
"allowNumber": true,
},
],
"@typescript-eslint/return-await": [
- "error",
- "error-handling-correctness-only",
+ 2,
],
"@typescript-eslint/semi": [
- "off",
+ 0,
],
"@typescript-eslint/space-before-blocks": [
- "off",
+ 0,
],
"@typescript-eslint/space-before-function-paren": [
- "off",
+ 0,
],
"@typescript-eslint/space-infix-ops": [
- "off",
+ 0,
],
"@typescript-eslint/triple-slash-reference": [
- "error",
+ 2,
],
"@typescript-eslint/type-annotation-spacing": [
- "off",
+ 0,
],
"@typescript-eslint/unbound-method": [
- "off",
+ 0,
],
"@typescript-eslint/unified-signatures": [
- "error",
+ 2,
],
"@typescript-eslint/use-unknown-in-catch-callback-variable": [
- "error",
+ 2,
],
"array-bracket-newline": [
- "off",
+ 0,
],
"array-bracket-spacing": [
- "off",
+ 0,
],
"array-callback-return": [
- "error",
+ 2,
+ {
+ "allowImplicit": false,
+ "allowVoid": false,
+ "checkForEach": false,
+ },
],
"array-element-newline": [
- "off",
+ 0,
],
"arrow-body-style": [
- "off",
+ 2,
"as-needed",
{
"requireReturnForObjectLiteral": false,
},
],
"arrow-parens": [
- "off",
+ 0,
],
"arrow-spacing": [
- "off",
+ 0,
],
"babel/object-curly-spacing": [
- "off",
+ 0,
],
"babel/quotes": [
0,
],
"babel/semi": [
- "off",
+ 0,
],
"block-scoped-var": [
- "error",
+ 2,
],
"block-spacing": [
- "off",
+ 0,
],
"brace-style": [
- "off",
+ 0,
],
"camelcase": [
- "off",
+ 0,
{
+ "allow": [],
"ignoreDestructuring": false,
"ignoreGlobals": false,
"ignoreImports": false,
@@ -659,133 +1859,137 @@ exports[`keeps rules stable 1`] = `
},
],
"comma-dangle": [
- "off",
+ 0,
],
"comma-spacing": [
- "off",
+ 0,
],
"comma-style": [
- "off",
+ 0,
],
"complexity": [
- "error",
+ 2,
+ 20,
],
"computed-property-spacing": [
- "off",
+ 0,
],
"consistent-return": [
- "off",
+ 0,
+ {
+ "treatUndefinedAsUnspecified": false,
+ },
],
"constructor-super": [
- "off",
+ 2,
],
"curly": [
- "error",
+ 2,
"all",
],
"default-case": [
- "off",
+ 0,
+ {},
],
"default-param-last": [
- "off",
+ 0,
],
"dot-location": [
- "off",
+ 0,
],
"dot-notation": [
- "off",
+ 0,
{
"allowKeywords": true,
"allowPattern": "",
},
],
"eol-last": [
- "off",
+ 0,
],
"eqeqeq": [
- "error",
+ 2,
"smart",
],
"flowtype/boolean-style": [
- "off",
+ 0,
],
"flowtype/delimiter-dangle": [
- "off",
+ 0,
],
"flowtype/generic-spacing": [
- "off",
+ 0,
],
"flowtype/object-type-curly-spacing": [
- "off",
+ 0,
],
"flowtype/object-type-delimiter": [
- "off",
+ 0,
],
"flowtype/quotes": [
- "off",
+ 0,
],
"flowtype/semi": [
- "off",
+ 0,
],
"flowtype/space-after-type-colon": [
- "off",
+ 0,
],
"flowtype/space-before-generic-bracket": [
- "off",
+ 0,
],
"flowtype/space-before-type-colon": [
- "off",
+ 0,
],
"flowtype/union-intersection-spacing": [
- "off",
+ 0,
],
"for-direction": [
- "error",
+ 2,
],
"func-call-spacing": [
- "off",
+ 0,
],
"func-names": [
- "error",
+ 2,
+ "always",
+ {},
],
"function-call-argument-newline": [
- "off",
+ 0,
],
"function-paren-newline": [
- "off",
+ 0,
],
"generator-star": [
- "off",
+ 0,
],
"generator-star-spacing": [
- "off",
+ 0,
],
"getter-return": [
- "off",
+ 2,
{
"allowImplicit": true,
},
],
"gettext/no-variable-string": [
- "error",
+ 2,
],
"guard-for-in": [
- "error",
+ 2,
],
"implicit-arrow-linebreak": [
- "off",
+ 0,
],
"import/default": [
- "off",
+ 0,
],
"import/dynamic-import-chunkname": [
- "error",
- ],
- "import/export": [
2,
],
"import/extensions": [
- "error",
+ 2,
{
"js": "never",
"json": "always",
@@ -795,46 +1999,37 @@ exports[`keeps rules stable 1`] = `
},
],
"import/named": [
- "off",
- ],
- "import/namespace": [
- 2,
+ 0,
],
"import/newline-after-import": [
- "warn",
+ 1,
],
"import/no-absolute-path": [
- "error",
+ 2,
],
"import/no-amd": [
- "error",
+ 2,
],
"import/no-duplicates": [
- "warn",
+ 1,
{
"prefer-inline": true,
},
],
"import/no-dynamic-require": [
- "error",
+ 2,
],
"import/no-extraneous-dependencies": [
- "error",
+ 2,
],
"import/no-mutable-exports": [
- "error",
- ],
- "import/no-named-as-default": [
- 1,
- ],
- "import/no-named-as-default-member": [
- 1,
+ 2,
],
"import/no-named-default": [
- "error",
+ 2,
],
"import/no-unresolved": [
- "error",
+ 2,
{
"caseSensitive": true,
"caseSensitiveStrict": false,
@@ -842,10 +2037,10 @@ exports[`keeps rules stable 1`] = `
},
],
"import/no-webpack-loader-syntax": [
- "error",
+ 2,
],
"import/order": [
- "warn",
+ 1,
{
"alphabetize": {
"caseInsensitive": true,
@@ -869,73 +2064,73 @@ exports[`keeps rules stable 1`] = `
},
],
"indent": [
- "off",
+ 0,
],
"indent-legacy": [
- "off",
+ 0,
],
"jsdoc/check-alignment": [
- "error",
+ 2,
],
"jsdoc/check-param-names": [
- "error",
+ 2,
],
"jsdoc/check-syntax": [
- "error",
+ 2,
],
"jsdoc/check-tag-names": [
- "error",
+ 2,
],
"jsdoc/implements-on-classes": [
- "error",
+ 2,
],
"jsdoc/require-param-name": [
- "error",
+ 2,
],
"jsdoc/require-param-type": [
- "error",
+ 2,
],
"jsdoc/require-returns-check": [
- "error",
+ 2,
],
"jsdoc/require-returns-type": [
- "error",
+ 2,
],
"jsx-a11y/alt-text": [
- "error",
+ 2,
],
"jsx-a11y/anchor-ambiguous-text": [
- "off",
+ 0,
],
"jsx-a11y/anchor-has-content": [
- "error",
+ 2,
],
"jsx-a11y/anchor-is-valid": [
- "error",
+ 2,
],
"jsx-a11y/aria-activedescendant-has-tabindex": [
- "error",
+ 2,
],
"jsx-a11y/aria-props": [
- "error",
+ 2,
],
"jsx-a11y/aria-proptypes": [
- "error",
+ 2,
],
"jsx-a11y/aria-role": [
- "error",
+ 2,
],
"jsx-a11y/aria-unsupported-elements": [
- "error",
+ 2,
],
"jsx-a11y/autocomplete-valid": [
- "error",
+ 2,
],
"jsx-a11y/click-events-have-key-events": [
- "error",
+ 2,
],
"jsx-a11y/control-has-associated-label": [
- "off",
+ 0,
{
"ignoreElements": [
"audio",
@@ -965,19 +2160,19 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/heading-has-content": [
- "error",
+ 2,
],
"jsx-a11y/html-has-lang": [
- "error",
+ 2,
],
"jsx-a11y/iframe-has-title": [
- "error",
+ 2,
],
"jsx-a11y/img-redundant-alt": [
- "error",
+ 2,
],
"jsx-a11y/interactive-supports-focus": [
- "error",
+ 2,
{
"tabbable": [
"button",
@@ -991,28 +2186,28 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/label-has-associated-control": [
- "error",
+ 2,
],
"jsx-a11y/label-has-for": [
- "off",
+ 0,
],
"jsx-a11y/media-has-caption": [
- "error",
+ 2,
],
"jsx-a11y/mouse-events-have-key-events": [
- "error",
+ 2,
],
"jsx-a11y/no-access-key": [
- "error",
+ 2,
],
"jsx-a11y/no-autofocus": [
- "error",
+ 2,
],
"jsx-a11y/no-distracting-elements": [
- "error",
+ 2,
],
"jsx-a11y/no-interactive-element-to-noninteractive-role": [
- "error",
+ 2,
{
"canvas": [
"img",
@@ -1024,7 +2219,7 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/no-noninteractive-element-interactions": [
- "error",
+ 2,
{
"alert": [
"onKeyUp",
@@ -1061,7 +2256,7 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/no-noninteractive-element-to-interactive-role": [
- "error",
+ 2,
{
"fieldset": [
"radiogroup",
@@ -1103,7 +2298,7 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/no-noninteractive-tabindex": [
- "error",
+ 2,
{
"allowExpressionValues": true,
"roles": [
@@ -1113,13 +2308,13 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/no-onchange": [
- "off",
+ 0,
],
"jsx-a11y/no-redundant-roles": [
- "error",
+ 2,
],
"jsx-a11y/no-static-element-interactions": [
- "error",
+ 2,
{
"allowExpressionValues": true,
"handlers": [
@@ -1133,47 +2328,47 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/role-has-required-aria-props": [
- "error",
+ 2,
],
"jsx-a11y/role-supports-aria-props": [
- "error",
+ 2,
],
"jsx-a11y/scope": [
- "error",
+ 2,
],
"jsx-a11y/tabindex-no-positive": [
- "error",
+ 2,
],
"jsx-quotes": [
- "off",
+ 0,
],
"key-spacing": [
- "off",
+ 0,
],
"keyword-spacing": [
- "off",
+ 0,
],
"linebreak-style": [
- "off",
+ 0,
],
"lines-around-comment": [
0,
],
"max-classes-per-file": [
- "error",
+ 2,
1,
],
"max-len": [
0,
],
"max-statements-per-line": [
- "off",
+ 0,
],
"multiline-ternary": [
- "off",
+ 0,
],
"new-cap": [
- "error",
+ 2,
{
"capIsNew": false,
"capIsNewExceptions": [
@@ -1187,104 +2382,122 @@ exports[`keeps rules stable 1`] = `
},
],
"new-parens": [
- "off",
+ 0,
],
"newline-per-chained-call": [
- "off",
+ 0,
],
"no-alert": [
- "warn",
+ 1,
],
"no-array-constructor": [
- "off",
+ 0,
],
"no-arrow-condition": [
- "off",
+ 0,
],
"no-async-promise-executor": [
- "error",
+ 2,
],
"no-await-in-loop": [
- "error",
+ 2,
],
"no-bitwise": [
- "error",
+ 2,
+ {
+ "allow": [],
+ "int32Hint": false,
+ },
],
"no-caller": [
- "error",
+ 2,
],
"no-case-declarations": [
- "error",
+ 2,
],
"no-class-assign": [
- "off",
+ 2,
],
"no-comma-dangle": [
- "off",
+ 0,
],
"no-compare-neg-zero": [
- "error",
+ 2,
],
"no-cond-assign": [
- "error",
+ 2,
"always",
],
"no-confusing-arrow": [
0,
],
"no-console": [
- "warn",
+ 1,
+ {},
],
"no-const-assign": [
- "off",
+ 2,
+ ],
+ "no-constant-binary-expression": [
+ 2,
],
"no-constant-condition": [
- "warn",
+ 1,
+ {
+ "checkLoops": "allExceptWhileTrue",
+ },
],
"no-continue": [
- "error",
+ 2,
],
"no-control-regex": [
- "error",
+ 2,
],
"no-debugger": [
- "error",
+ 2,
],
"no-delete-var": [
- "error",
+ 2,
],
"no-dupe-args": [
- "off",
+ 2,
],
"no-dupe-class-members": [
- "off",
+ 2,
],
"no-dupe-else-if": [
- "error",
+ 2,
],
"no-dupe-keys": [
- "off",
+ 2,
],
"no-duplicate-case": [
- "error",
+ 2,
],
"no-duplicate-imports": [
- "off",
+ 0,
+ {
+ "allowSeparateTypeImports": false,
+ "includeExports": false,
+ },
],
"no-else-return": [
- "error",
+ 2,
{
"allowElseIf": true,
},
],
"no-empty": [
- "error",
+ 2,
+ {
+ "allowEmptyCatch": false,
+ },
],
"no-empty-character-class": [
- "error",
+ 2,
],
"no-empty-function": [
- "off",
+ 0,
{
"allow": [
"arrowFunctions",
@@ -1294,164 +2507,198 @@ exports[`keeps rules stable 1`] = `
},
],
"no-empty-pattern": [
- "error",
+ 2,
+ {
+ "allowObjectPatternsAsParameters": false,
+ },
+ ],
+ "no-empty-static-block": [
+ 2,
],
"no-eval": [
- "error",
+ 2,
+ {
+ "allowIndirect": false,
+ },
],
"no-ex-assign": [
- "error",
+ 2,
],
"no-extend-native": [
- "error",
+ 2,
+ {
+ "exceptions": [],
+ },
],
"no-extra-bind": [
- "error",
+ 2,
],
"no-extra-boolean-cast": [
- "error",
+ 2,
+ {},
],
"no-extra-label": [
- "error",
+ 2,
],
"no-extra-parens": [
- "off",
+ 0,
],
"no-extra-semi": [
- "off",
+ 0,
],
"no-fallthrough": [
- "error",
+ 2,
+ {
+ "allowEmptyCase": false,
+ "reportUnusedFallthroughComment": false,
+ },
],
"no-floating-decimal": [
- "off",
+ 0,
],
"no-func-assign": [
- "off",
+ 2,
],
"no-global-assign": [
- "error",
+ 2,
+ {
+ "exceptions": [],
+ },
],
"no-implied-eval": [
- "off",
+ 0,
],
"no-import-assign": [
- "off",
- ],
- "no-inner-declarations": [
- "error",
+ 2,
],
"no-invalid-regexp": [
- "error",
+ 2,
+ {},
],
"no-irregular-whitespace": [
- "error",
+ 2,
+ {
+ "skipComments": false,
+ "skipJSXText": false,
+ "skipRegExps": false,
+ "skipStrings": true,
+ "skipTemplates": false,
+ },
],
"no-iterator": [
- "error",
+ 2,
],
"no-label-var": [
- "error",
+ 2,
],
"no-labels": [
- "error",
+ 2,
{
"allowLoop": false,
"allowSwitch": false,
},
],
"no-lone-blocks": [
- "error",
+ 2,
],
"no-lonely-if": [
- "error",
+ 2,
],
"no-loop-func": [
- "error",
+ 2,
],
"no-loss-of-precision": [
- "error",
+ 2,
],
"no-misleading-character-class": [
- "error",
+ 2,
+ {
+ "allowEscape": false,
+ },
],
"no-mixed-operators": [
0,
],
"no-mixed-spaces-and-tabs": [
- "off",
+ 0,
],
"no-multi-assign": [
- "error",
+ 2,
+ {
+ "ignoreNonDeclaration": false,
+ },
],
"no-multi-spaces": [
- "off",
+ 0,
],
"no-multi-str": [
- "error",
+ 2,
],
"no-multiple-empty-lines": [
- "off",
+ 0,
],
"no-nested-ternary": [
- "error",
+ 2,
],
"no-new": [
- "error",
+ 2,
],
"no-new-func": [
- "error",
+ 2,
],
"no-new-native-nonconstructor": [
- "off",
- ],
- "no-new-symbol": [
- "off",
+ 2,
],
"no-new-wrappers": [
- "error",
+ 2,
],
"no-nonoctal-decimal-escape": [
- "error",
+ 2,
],
"no-obj-calls": [
- "off",
+ 2,
],
"no-object-constructor": [
- "error",
+ 2,
],
"no-octal": [
- "error",
+ 2,
],
"no-octal-escape": [
- "error",
+ 2,
],
"no-param-reassign": [
- "error",
+ 2,
{
"props": false,
},
],
"no-plusplus": [
- "error",
+ 2,
+ {
+ "allowForLoopAfterthoughts": false,
+ },
],
"no-proto": [
- "error",
+ 2,
],
"no-prototype-builtins": [
- "off",
+ 0,
],
"no-redeclare": [
- "off",
+ 2,
+ {
+ "builtinGlobals": true,
+ },
],
"no-regex-spaces": [
- "error",
+ 2,
],
"no-reserved-keys": [
- "off",
+ 0,
],
"no-restricted-globals": [
- "error",
+ 2,
"isFinite",
"isNaN",
"addEventListener",
@@ -1514,10 +2761,10 @@ exports[`keeps rules stable 1`] = `
"top",
],
"no-restricted-imports": [
- "error",
+ 2,
],
"no-restricted-properties": [
- "error",
+ 2,
{
"message": "arguments.callee is deprecated",
"object": "arguments",
@@ -1568,7 +2815,7 @@ exports[`keeps rules stable 1`] = `
},
],
"no-restricted-syntax": [
- "error",
+ 2,
{
"message": "for..in loops iterate over the entire prototype chain, which is virtually never what you want. Use Object.{keys,values,entries}, and iterate over the resulting array.",
"selector": "ForInStatement",
@@ -1595,71 +2842,87 @@ exports[`keeps rules stable 1`] = `
},
],
"no-return-assign": [
- "error",
+ 2,
"except-parens",
],
"no-return-await": [
- "off",
+ 0,
],
"no-script-url": [
- "error",
+ 2,
],
"no-self-assign": [
- "error",
+ 2,
+ {
+ "props": true,
+ },
],
"no-self-compare": [
- "error",
+ 2,
],
"no-sequences": [
- "error",
+ 2,
+ {
+ "allowInParentheses": true,
+ },
],
"no-setter-return": [
- "off",
+ 2,
],
"no-shadow": [
- "off",
+ 0,
{
+ "allow": [],
"builtinGlobals": false,
"hoist": "all",
+ "ignoreFunctionTypeParameterNameValueShadow": true,
"ignoreOnInitialization": false,
+ "ignoreTypeValueShadow": true,
},
],
"no-shadow-restricted-names": [
- "error",
+ 2,
+ {
+ "reportGlobalThis": false,
+ },
],
"no-space-before-semi": [
- "off",
+ 0,
],
"no-spaced-func": [
- "off",
+ 0,
],
"no-sparse-arrays": [
- "error",
+ 2,
],
"no-tabs": [
0,
],
"no-template-curly-in-string": [
- "error",
+ 2,
],
"no-this-before-super": [
- "off",
+ 2,
],
"no-throw-literal": [
- "off",
+ 0,
],
"no-trailing-spaces": [
- "off",
+ 0,
],
"no-undef": [
- "off",
+ 2,
+ {
+ "typeof": false,
+ },
],
"no-undef-init": [
- "error",
+ 2,
],
"no-underscore-dangle": [
- "error",
+ 2,
{
+ "allow": [],
"allowAfterSuper": true,
"allowAfterThis": true,
"allowAfterThisConstructor": false,
@@ -1674,31 +2937,47 @@ exports[`keeps rules stable 1`] = `
0,
],
"no-unneeded-ternary": [
- "error",
+ 2,
{
"defaultAssignment": false,
},
],
"no-unreachable": [
- "off",
+ 2,
],
"no-unsafe-finally": [
- "error",
+ 2,
],
"no-unsafe-negation": [
- "off",
+ 2,
+ {
+ "enforceForOrderingRelations": false,
+ },
],
"no-unsafe-optional-chaining": [
- "error",
+ 2,
+ {
+ "disallowArithmeticOperators": false,
+ },
],
"no-unused-expressions": [
- "off",
+ 0,
+ {
+ "allowShortCircuit": false,
+ "allowTaggedTemplates": false,
+ "allowTernary": false,
+ "enforceForJSX": false,
+ "ignoreDirectives": false,
+ },
],
"no-unused-labels": [
- "error",
+ 2,
+ ],
+ "no-unused-private-class-members": [
+ 2,
],
"no-unused-vars": [
- "off",
+ 0,
{
"args": "after-used",
"ignoreRestSiblings": true,
@@ -1706,29 +2985,35 @@ exports[`keeps rules stable 1`] = `
},
],
"no-use-before-define": [
- "off",
+ 0,
"nofunc",
],
"no-useless-backreference": [
- "error",
+ 2,
],
"no-useless-catch": [
- "error",
+ 2,
],
"no-useless-computed-key": [
- "error",
+ 2,
+ {
+ "enforceForClassMembers": true,
+ },
],
"no-useless-concat": [
- "error",
+ 2,
],
"no-useless-constructor": [
- "off",
+ 0,
],
"no-useless-escape": [
- "error",
+ 2,
+ {
+ "allowRegexCharacters": [],
+ },
],
"no-useless-rename": [
- "error",
+ 2,
{
"ignoreDestructuring": false,
"ignoreExport": false,
@@ -1736,40 +3021,40 @@ exports[`keeps rules stable 1`] = `
},
],
"no-useless-return": [
- "error",
+ 2,
],
"no-var": [
- "error",
+ 2,
],
"no-void": [
- "error",
+ 2,
{
"allowAsStatement": true,
},
],
"no-whitespace-before-property": [
- "off",
+ 0,
],
"no-with": [
- "error",
+ 2,
],
"no-wrap-func": [
- "off",
+ 0,
],
"nonblock-statement-body-position": [
- "off",
+ 0,
],
"object-curly-newline": [
- "off",
+ 0,
],
"object-curly-spacing": [
- "off",
+ 0,
],
"object-property-newline": [
- "off",
+ 0,
],
"object-shorthand": [
- "error",
+ 2,
"always",
{
"avoidQuotes": true,
@@ -1777,53 +3062,53 @@ exports[`keeps rules stable 1`] = `
},
],
"one-var": [
- "error",
+ 2,
"never",
],
"one-var-declaration-per-line": [
- "off",
+ 0,
],
"operator-assignment": [
- "error",
+ 2,
"always",
],
"operator-linebreak": [
- "off",
+ 0,
],
"padded-blocks": [
- "off",
+ 0,
],
"prefer-arrow-callback": [
- "off",
+ 2,
{
"allowNamedFunctions": false,
"allowUnboundThis": true,
},
],
"prefer-const": [
- "error",
+ 2,
{
"destructuring": "any",
"ignoreReadBeforeAssign": true,
},
],
"prefer-numeric-literals": [
- "error",
+ 2,
],
"prefer-promise-reject-errors": [
- "off",
+ 0,
+ {
+ "allowEmptyReject": false,
+ },
],
"prefer-rest-params": [
- "error",
- ],
- "prefer-spread": [
- "error",
+ 2,
],
"prefer-template": [
- "error",
+ 2,
],
"prettier/prettier": [
- "warn",
+ 1,
{
"printWidth": 100,
"singleQuote": true,
@@ -1834,37 +3119,38 @@ exports[`keeps rules stable 1`] = `
},
],
"quote-props": [
- "off",
+ 0,
],
"quotes": [
0,
],
"radix": [
- "error",
+ 2,
+ "always",
],
"react-hooks/exhaustive-deps": [
- "error",
+ 2,
],
"react-hooks/rules-of-hooks": [
- "error",
+ 2,
],
"react/destructuring-assignment": [
- "error",
+ 2,
],
"react/display-name": [
- "off",
+ 0,
],
"react/jsx-child-element-spacing": [
- "off",
+ 0,
],
"react/jsx-closing-bracket-location": [
- "off",
+ 0,
],
"react/jsx-closing-tag-location": [
- "off",
+ 0,
],
"react/jsx-curly-brace-presence": [
- "error",
+ 2,
{
"children": "never",
"propElementValues": "always",
@@ -1872,13 +3158,13 @@ exports[`keeps rules stable 1`] = `
},
],
"react/jsx-curly-newline": [
- "off",
+ 0,
],
"react/jsx-curly-spacing": [
- "off",
+ 0,
],
"react/jsx-equals-spacing": [
- "off",
+ 0,
],
"react/jsx-filename-extension": [
1,
@@ -1889,29 +3175,29 @@ exports[`keeps rules stable 1`] = `
},
],
"react/jsx-first-prop-new-line": [
- "off",
+ 0,
],
"react/jsx-fragments": [
- "error",
+ 2,
"syntax",
],
"react/jsx-indent": [
- "off",
+ 0,
],
"react/jsx-indent-props": [
- "off",
+ 0,
],
"react/jsx-key": [
2,
],
"react/jsx-max-props-per-line": [
- "off",
+ 0,
],
"react/jsx-newline": [
- "off",
+ 0,
],
"react/jsx-no-bind": [
- "error",
+ 2,
{
"allowArrowFunctions": true,
"allowBind": false,
@@ -1933,25 +3219,25 @@ exports[`keeps rules stable 1`] = `
2,
],
"react/jsx-no-useless-fragment": [
- "error",
+ 2,
],
"react/jsx-one-expression-per-line": [
- "off",
+ 0,
],
"react/jsx-pascal-case": [
- "error",
+ 2,
],
"react/jsx-props-no-multi-spaces": [
- "off",
+ 0,
],
"react/jsx-sort-props": [
- "warn",
+ 1,
],
"react/jsx-space-before-closing": [
- "off",
+ 0,
],
"react/jsx-tag-spacing": [
- "off",
+ 0,
],
"react/jsx-uses-react": [
2,
@@ -1960,7 +3246,7 @@ exports[`keeps rules stable 1`] = `
2,
],
"react/jsx-wrap-multilines": [
- "off",
+ 0,
],
"react/no-children-prop": [
2,
@@ -1981,7 +3267,7 @@ exports[`keeps rules stable 1`] = `
2,
],
"react/no-redundant-should-component-update": [
- "error",
+ 2,
],
"react/no-render-return-value": [
2,
@@ -1990,10 +3276,10 @@ exports[`keeps rules stable 1`] = `
2,
],
"react/no-this-in-sfc": [
- "error",
+ 2,
],
"react/no-unescaped-entities": [
- "error",
+ 2,
{
"forbid": [
{
@@ -2015,19 +3301,19 @@ exports[`keeps rules stable 1`] = `
2,
],
"react/no-unsafe": [
- "error",
+ 2,
],
"react/no-unused-state": [
- "error",
+ 2,
],
"react/prefer-es6-class": [
- "error",
+ 2,
],
"react/prefer-read-only-props": [
- "error",
+ 2,
],
"react/prop-types": [
- "off",
+ 0,
],
"react/react-in-jsx-scope": [
2,
@@ -2036,308 +3322,295 @@ exports[`keeps rules stable 1`] = `
2,
],
"react/self-closing-comp": [
- "error",
+ 2,
],
"react/style-prop-object": [
- "error",
+ 2,
],
"require-await": [
- "off",
+ 0,
],
"require-yield": [
- "error",
+ 2,
],
"rest-spread-spacing": [
- "off",
+ 0,
],
"semi": [
- "off",
+ 0,
],
"semi-spacing": [
- "off",
+ 0,
],
"semi-style": [
- "off",
+ 0,
],
"sort-imports": [
- "error",
+ 2,
{
"allowSeparatedGroups": false,
"ignoreCase": true,
"ignoreDeclarationSort": true,
"ignoreMemberSort": false,
+ "memberSyntaxSortOrder": [
+ "none",
+ "all",
+ "multiple",
+ "single",
+ ],
},
],
"sort-keys": [
- "off",
+ 0,
+ "asc",
+ {
+ "allowLineSeparatedGroups": false,
+ "caseSensitive": true,
+ "ignoreComputedKeys": false,
+ "minKeys": 2,
+ "natural": false,
+ },
],
"space-after-function-name": [
- "off",
+ 0,
],
"space-after-keywords": [
- "off",
+ 0,
],
"space-before-blocks": [
- "off",
+ 0,
],
"space-before-function-paren": [
- "off",
+ 0,
],
"space-before-function-parentheses": [
- "off",
+ 0,
],
"space-before-keywords": [
- "off",
+ 0,
],
"space-in-brackets": [
- "off",
+ 0,
],
"space-in-parens": [
- "off",
+ 0,
],
"space-infix-ops": [
- "off",
+ 0,
],
"space-return-throw-case": [
- "off",
+ 0,
],
"space-unary-ops": [
- "off",
+ 0,
],
"space-unary-word-ops": [
- "off",
+ 0,
],
"standard/array-bracket-even-spacing": [
- "off",
+ 0,
],
"standard/computed-property-even-spacing": [
- "off",
+ 0,
],
"standard/object-curly-even-spacing": [
- "off",
+ 0,
],
"strict": [
- "error",
+ 2,
+ "safe",
],
"switch-case/newline-between-switch-case": [
- "warn",
+ 1,
"always",
{
"fallthrough": "never",
},
],
"switch-colon-spacing": [
- "off",
+ 0,
],
"symbol-description": [
- "error",
+ 2,
],
"template-curly-spacing": [
- "off",
+ 0,
],
"template-tag-spacing": [
- "off",
+ 0,
],
"unicorn/empty-brace-spaces": [
- "off",
+ 0,
],
"unicorn/no-nested-ternary": [
- "off",
+ 0,
],
"unicorn/number-literal-case": [
- "off",
+ 0,
],
"unicorn/template-indent": [
0,
],
"use-isnan": [
- "error",
+ 2,
+ {
+ "enforceForIndexOf": false,
+ "enforceForSwitchCase": true,
+ },
],
"valid-jsdoc": [
- "off",
+ 0,
{
"requireParamDescription": false,
- "requireParamType": true,
- "requireReturn": true,
"requireReturnDescription": false,
- "requireReturnType": true,
},
],
"valid-typeof": [
- "error",
+ 2,
{
"requireStringLiterals": true,
},
],
"vars-on-top": [
- "error",
+ 2,
],
"vue/array-bracket-newline": [
- "off",
+ 0,
],
"vue/array-bracket-spacing": [
- "off",
+ 0,
],
"vue/array-element-newline": [
- "off",
+ 0,
],
"vue/arrow-spacing": [
- "off",
+ 0,
],
"vue/block-spacing": [
- "off",
+ 0,
],
"vue/block-tag-newline": [
- "off",
+ 0,
],
"vue/brace-style": [
- "off",
+ 0,
],
"vue/comma-dangle": [
- "off",
+ 0,
],
"vue/comma-spacing": [
- "off",
+ 0,
],
"vue/comma-style": [
- "off",
+ 0,
],
"vue/dot-location": [
- "off",
+ 0,
],
"vue/func-call-spacing": [
- "off",
+ 0,
],
"vue/html-closing-bracket-newline": [
- "off",
+ 0,
],
"vue/html-closing-bracket-spacing": [
- "off",
+ 0,
],
"vue/html-end-tags": [
- "off",
+ 0,
],
"vue/html-indent": [
- "off",
+ 0,
],
"vue/html-quotes": [
- "off",
+ 0,
],
"vue/html-self-closing": [
0,
],
"vue/key-spacing": [
- "off",
+ 0,
],
"vue/keyword-spacing": [
- "off",
+ 0,
],
"vue/max-attributes-per-line": [
- "off",
+ 0,
],
"vue/max-len": [
0,
],
"vue/multiline-html-element-content-newline": [
- "off",
+ 0,
],
"vue/multiline-ternary": [
- "off",
+ 0,
],
"vue/mustache-interpolation-spacing": [
- "off",
+ 0,
],
"vue/no-extra-parens": [
- "off",
+ 0,
],
"vue/no-multi-spaces": [
- "off",
+ 0,
],
"vue/no-spaces-around-equal-signs-in-attribute": [
- "off",
+ 0,
],
"vue/object-curly-newline": [
- "off",
+ 0,
],
"vue/object-curly-spacing": [
- "off",
+ 0,
],
"vue/object-property-newline": [
- "off",
+ 0,
],
"vue/operator-linebreak": [
- "off",
+ 0,
],
"vue/quote-props": [
- "off",
+ 0,
],
"vue/script-indent": [
- "off",
+ 0,
],
"vue/singleline-html-element-content-newline": [
- "off",
+ 0,
],
"vue/space-in-parens": [
- "off",
+ 0,
],
"vue/space-infix-ops": [
- "off",
+ 0,
],
"vue/space-unary-ops": [
- "off",
+ 0,
],
"vue/template-curly-spacing": [
- "off",
+ 0,
],
"wrap-iife": [
- "off",
+ 0,
],
"wrap-regex": [
- "off",
+ 0,
],
"yield-star-spacing": [
- "off",
+ 0,
],
"yoda": [
- "error",
+ 2,
+ "never",
+ {
+ "exceptRange": false,
+ "onlyEquality": false,
+ },
],
},
"settings": {
- "import/extensions": [
- ".ts",
- ".cts",
- ".mts",
- ".tsx",
- ".js",
- ".jsx",
- ".mjs",
- ".cjs",
- ],
- "import/external-module-folders": [
- "node_modules",
- "node_modules/@types",
- ],
- "import/parsers": {
- "@typescript-eslint/parser": [
- ".ts",
- ".cts",
- ".mts",
- ".tsx",
- ],
- },
"import/resolver": {
- "node": {
- "extensions": [
- ".ts",
- ".cts",
- ".mts",
- ".tsx",
- ".js",
- ".jsx",
- ".mjs",
- ".cjs",
- ],
- },
"typescript": {
"alwaysTryTypes": true,
},
diff --git a/packages/eslint-config/test/__snapshots__/tsx.spec.js.snap b/packages/eslint-config/test/__snapshots__/tsx.spec.js.snap
index 6aeed4d..eb7efc1 100644
--- a/packages/eslint-config/test/__snapshots__/tsx.spec.js.snap
+++ b/packages/eslint-config/test/__snapshots__/tsx.spec.js.snap
@@ -2,48 +2,1235 @@
exports[`keeps rules stable 1`] = `
{
- "env": {
- "browser": true,
- "es6": true,
- },
- "globals": {},
- "ignorePatterns": [],
- "noInlineConfig": undefined,
- "parser": "/node_modules/@typescript-eslint/parser/dist/index.js",
- "parserOptions": {
- "ecmaFeatures": {
- "jsx": true,
+ "language": "@/js",
+ "languageOptions": {
+ "ecmaVersion": 2026,
+ "globals": {
+ "AI": false,
+ "AITextSession": false,
+ "AbortController": false,
+ "AbortSignal": false,
+ "AbsoluteOrientationSensor": false,
+ "AbstractRange": false,
+ "Accelerometer": false,
+ "AggregateError": false,
+ "AnalyserNode": false,
+ "Animation": false,
+ "AnimationEffect": false,
+ "AnimationEvent": false,
+ "AnimationPlaybackEvent": false,
+ "AnimationTimeline": false,
+ "Array": false,
+ "ArrayBuffer": false,
+ "Atomics": false,
+ "Attr": false,
+ "Audio": false,
+ "AudioBuffer": false,
+ "AudioBufferSourceNode": false,
+ "AudioContext": false,
+ "AudioData": false,
+ "AudioDecoder": false,
+ "AudioDestinationNode": false,
+ "AudioEncoder": false,
+ "AudioListener": false,
+ "AudioNode": false,
+ "AudioParam": false,
+ "AudioParamMap": false,
+ "AudioProcessingEvent": false,
+ "AudioScheduledSourceNode": false,
+ "AudioSinkInfo": false,
+ "AudioWorklet": false,
+ "AudioWorkletGlobalScope": false,
+ "AudioWorkletNode": false,
+ "AudioWorkletProcessor": false,
+ "AuthenticatorAssertionResponse": false,
+ "AuthenticatorAttestationResponse": false,
+ "AuthenticatorResponse": false,
+ "BackgroundFetchManager": false,
+ "BackgroundFetchRecord": false,
+ "BackgroundFetchRegistration": false,
+ "BarProp": false,
+ "BarcodeDetector": false,
+ "BaseAudioContext": false,
+ "BatteryManager": false,
+ "BeforeUnloadEvent": false,
+ "BigInt": false,
+ "BigInt64Array": false,
+ "BigUint64Array": false,
+ "BiquadFilterNode": false,
+ "Blob": false,
+ "BlobEvent": false,
+ "Bluetooth": false,
+ "BluetoothCharacteristicProperties": false,
+ "BluetoothDevice": false,
+ "BluetoothRemoteGATTCharacteristic": false,
+ "BluetoothRemoteGATTDescriptor": false,
+ "BluetoothRemoteGATTServer": false,
+ "BluetoothRemoteGATTService": false,
+ "BluetoothUUID": false,
+ "Boolean": false,
+ "BroadcastChannel": false,
+ "BrowserCaptureMediaStreamTrack": false,
+ "ByteLengthQueuingStrategy": false,
+ "CDATASection": false,
+ "CSS": false,
+ "CSSAnimation": false,
+ "CSSConditionRule": false,
+ "CSSContainerRule": false,
+ "CSSCounterStyleRule": false,
+ "CSSFontFaceRule": false,
+ "CSSFontFeatureValuesRule": false,
+ "CSSFontPaletteValuesRule": false,
+ "CSSGroupingRule": false,
+ "CSSImageValue": false,
+ "CSSImportRule": false,
+ "CSSKeyframeRule": false,
+ "CSSKeyframesRule": false,
+ "CSSKeywordValue": false,
+ "CSSLayerBlockRule": false,
+ "CSSLayerStatementRule": false,
+ "CSSMarginRule": false,
+ "CSSMathClamp": false,
+ "CSSMathInvert": false,
+ "CSSMathMax": false,
+ "CSSMathMin": false,
+ "CSSMathNegate": false,
+ "CSSMathProduct": false,
+ "CSSMathSum": false,
+ "CSSMathValue": false,
+ "CSSMatrixComponent": false,
+ "CSSMediaRule": false,
+ "CSSNamespaceRule": false,
+ "CSSNestedDeclarations": false,
+ "CSSNumericArray": false,
+ "CSSNumericValue": false,
+ "CSSPageDescriptors": false,
+ "CSSPageRule": false,
+ "CSSPerspective": false,
+ "CSSPositionTryDescriptors": false,
+ "CSSPositionTryRule": false,
+ "CSSPositionValue": false,
+ "CSSPropertyRule": false,
+ "CSSRotate": false,
+ "CSSRule": false,
+ "CSSRuleList": false,
+ "CSSScale": false,
+ "CSSScopeRule": false,
+ "CSSSkew": false,
+ "CSSSkewX": false,
+ "CSSSkewY": false,
+ "CSSStartingStyleRule": false,
+ "CSSStyleDeclaration": false,
+ "CSSStyleRule": false,
+ "CSSStyleSheet": false,
+ "CSSStyleValue": false,
+ "CSSSupportsRule": false,
+ "CSSTransformComponent": false,
+ "CSSTransformValue": false,
+ "CSSTransition": false,
+ "CSSTranslate": false,
+ "CSSUnitValue": false,
+ "CSSUnparsedValue": false,
+ "CSSVariableReferenceValue": false,
+ "CSSViewTransitionRule": false,
+ "Cache": false,
+ "CacheStorage": false,
+ "CanvasCaptureMediaStream": false,
+ "CanvasCaptureMediaStreamTrack": false,
+ "CanvasGradient": false,
+ "CanvasPattern": false,
+ "CanvasRenderingContext2D": false,
+ "CaptureController": false,
+ "CaretPosition": false,
+ "ChannelMergerNode": false,
+ "ChannelSplitterNode": false,
+ "ChapterInformation": false,
+ "CharacterBoundsUpdateEvent": false,
+ "CharacterData": false,
+ "Clipboard": false,
+ "ClipboardEvent": false,
+ "ClipboardItem": false,
+ "CloseEvent": false,
+ "CloseWatcher": false,
+ "Comment": false,
+ "CompositionEvent": false,
+ "CompressionStream": false,
+ "ConstantSourceNode": false,
+ "ContentVisibilityAutoStateChangeEvent": false,
+ "ConvolverNode": false,
+ "CookieChangeEvent": false,
+ "CookieDeprecationLabel": false,
+ "CookieStore": false,
+ "CookieStoreManager": false,
+ "CountQueuingStrategy": false,
+ "Credential": false,
+ "CredentialsContainer": false,
+ "CropTarget": false,
+ "Crypto": false,
+ "CryptoKey": false,
+ "CustomElementRegistry": false,
+ "CustomEvent": false,
+ "CustomStateSet": false,
+ "DOMError": false,
+ "DOMException": false,
+ "DOMImplementation": false,
+ "DOMMatrix": false,
+ "DOMMatrixReadOnly": false,
+ "DOMParser": false,
+ "DOMPoint": false,
+ "DOMPointReadOnly": false,
+ "DOMQuad": false,
+ "DOMRect": false,
+ "DOMRectList": false,
+ "DOMRectReadOnly": false,
+ "DOMStringList": false,
+ "DOMStringMap": false,
+ "DOMTokenList": false,
+ "DataTransfer": false,
+ "DataTransferItem": false,
+ "DataTransferItemList": false,
+ "DataView": false,
+ "Date": false,
+ "DecompressionStream": false,
+ "DelayNode": false,
+ "DelegatedInkTrailPresenter": false,
+ "DeviceMotionEvent": false,
+ "DeviceMotionEventAcceleration": false,
+ "DeviceMotionEventRotationRate": false,
+ "DeviceOrientationEvent": false,
+ "Document": false,
+ "DocumentFragment": false,
+ "DocumentPictureInPicture": false,
+ "DocumentPictureInPictureEvent": false,
+ "DocumentTimeline": false,
+ "DocumentType": false,
+ "DragEvent": false,
+ "DynamicsCompressorNode": false,
+ "EditContext": false,
+ "Element": false,
+ "ElementInternals": false,
+ "EncodedAudioChunk": false,
+ "EncodedVideoChunk": false,
+ "Error": false,
+ "ErrorEvent": false,
+ "EvalError": false,
+ "Event": false,
+ "EventCounts": false,
+ "EventSource": false,
+ "EventTarget": false,
+ "External": false,
+ "EyeDropper": false,
+ "FeaturePolicy": false,
+ "FederatedCredential": false,
+ "Fence": false,
+ "FencedFrameConfig": false,
+ "FetchLaterResult": false,
+ "File": false,
+ "FileList": false,
+ "FileReader": false,
+ "FileSystem": false,
+ "FileSystemDirectoryEntry": false,
+ "FileSystemDirectoryHandle": false,
+ "FileSystemDirectoryReader": false,
+ "FileSystemEntry": false,
+ "FileSystemFileEntry": false,
+ "FileSystemFileHandle": false,
+ "FileSystemHandle": false,
+ "FileSystemWritableFileStream": false,
+ "FinalizationRegistry": false,
+ "Float16Array": false,
+ "Float32Array": false,
+ "Float64Array": false,
+ "FocusEvent": false,
+ "FontData": false,
+ "FontFace": false,
+ "FontFaceSet": false,
+ "FontFaceSetLoadEvent": false,
+ "FormData": false,
+ "FormDataEvent": false,
+ "FragmentDirective": false,
+ "Function": false,
+ "GPU": false,
+ "GPUAdapter": false,
+ "GPUAdapterInfo": false,
+ "GPUBindGroup": false,
+ "GPUBindGroupLayout": false,
+ "GPUBuffer": false,
+ "GPUBufferUsage": false,
+ "GPUCanvasContext": false,
+ "GPUColorWrite": false,
+ "GPUCommandBuffer": false,
+ "GPUCommandEncoder": false,
+ "GPUCompilationInfo": false,
+ "GPUCompilationMessage": false,
+ "GPUComputePassEncoder": false,
+ "GPUComputePipeline": false,
+ "GPUDevice": false,
+ "GPUDeviceLostInfo": false,
+ "GPUError": false,
+ "GPUExternalTexture": false,
+ "GPUInternalError": false,
+ "GPUMapMode": false,
+ "GPUOutOfMemoryError": false,
+ "GPUPipelineError": false,
+ "GPUPipelineLayout": false,
+ "GPUQuerySet": false,
+ "GPUQueue": false,
+ "GPURenderBundle": false,
+ "GPURenderBundleEncoder": false,
+ "GPURenderPassEncoder": false,
+ "GPURenderPipeline": false,
+ "GPUSampler": false,
+ "GPUShaderModule": false,
+ "GPUShaderStage": false,
+ "GPUSupportedFeatures": false,
+ "GPUSupportedLimits": false,
+ "GPUTexture": false,
+ "GPUTextureUsage": false,
+ "GPUTextureView": false,
+ "GPUUncapturedErrorEvent": false,
+ "GPUValidationError": false,
+ "GainNode": false,
+ "Gamepad": false,
+ "GamepadAxisMoveEvent": false,
+ "GamepadButton": false,
+ "GamepadButtonEvent": false,
+ "GamepadEvent": false,
+ "GamepadHapticActuator": false,
+ "GamepadPose": false,
+ "Geolocation": false,
+ "GeolocationCoordinates": false,
+ "GeolocationPosition": false,
+ "GeolocationPositionError": false,
+ "GravitySensor": false,
+ "Gyroscope": false,
+ "HID": false,
+ "HIDConnectionEvent": false,
+ "HIDDevice": false,
+ "HIDInputReportEvent": false,
+ "HTMLAllCollection": false,
+ "HTMLAnchorElement": false,
+ "HTMLAreaElement": false,
+ "HTMLAudioElement": false,
+ "HTMLBRElement": false,
+ "HTMLBaseElement": false,
+ "HTMLBodyElement": false,
+ "HTMLButtonElement": false,
+ "HTMLCanvasElement": false,
+ "HTMLCollection": false,
+ "HTMLDListElement": false,
+ "HTMLDataElement": false,
+ "HTMLDataListElement": false,
+ "HTMLDetailsElement": false,
+ "HTMLDialogElement": false,
+ "HTMLDirectoryElement": false,
+ "HTMLDivElement": false,
+ "HTMLDocument": false,
+ "HTMLElement": false,
+ "HTMLEmbedElement": false,
+ "HTMLFencedFrameElement": false,
+ "HTMLFieldSetElement": false,
+ "HTMLFontElement": false,
+ "HTMLFormControlsCollection": false,
+ "HTMLFormElement": false,
+ "HTMLFrameElement": false,
+ "HTMLFrameSetElement": false,
+ "HTMLHRElement": false,
+ "HTMLHeadElement": false,
+ "HTMLHeadingElement": false,
+ "HTMLHtmlElement": false,
+ "HTMLIFrameElement": false,
+ "HTMLImageElement": false,
+ "HTMLInputElement": false,
+ "HTMLLIElement": false,
+ "HTMLLabelElement": false,
+ "HTMLLegendElement": false,
+ "HTMLLinkElement": false,
+ "HTMLMapElement": false,
+ "HTMLMarqueeElement": false,
+ "HTMLMediaElement": false,
+ "HTMLMenuElement": false,
+ "HTMLMetaElement": false,
+ "HTMLMeterElement": false,
+ "HTMLModElement": false,
+ "HTMLOListElement": false,
+ "HTMLObjectElement": false,
+ "HTMLOptGroupElement": false,
+ "HTMLOptionElement": false,
+ "HTMLOptionsCollection": false,
+ "HTMLOutputElement": false,
+ "HTMLParagraphElement": false,
+ "HTMLParamElement": false,
+ "HTMLPictureElement": false,
+ "HTMLPreElement": false,
+ "HTMLProgressElement": false,
+ "HTMLQuoteElement": false,
+ "HTMLScriptElement": false,
+ "HTMLSelectElement": false,
+ "HTMLSlotElement": false,
+ "HTMLSourceElement": false,
+ "HTMLSpanElement": false,
+ "HTMLStyleElement": false,
+ "HTMLTableCaptionElement": false,
+ "HTMLTableCellElement": false,
+ "HTMLTableColElement": false,
+ "HTMLTableElement": false,
+ "HTMLTableRowElement": false,
+ "HTMLTableSectionElement": false,
+ "HTMLTemplateElement": false,
+ "HTMLTextAreaElement": false,
+ "HTMLTimeElement": false,
+ "HTMLTitleElement": false,
+ "HTMLTrackElement": false,
+ "HTMLUListElement": false,
+ "HTMLUnknownElement": false,
+ "HTMLVideoElement": false,
+ "HashChangeEvent": false,
+ "Headers": false,
+ "Highlight": false,
+ "HighlightRegistry": false,
+ "History": false,
+ "IDBCursor": false,
+ "IDBCursorWithValue": false,
+ "IDBDatabase": false,
+ "IDBFactory": false,
+ "IDBIndex": false,
+ "IDBKeyRange": false,
+ "IDBObjectStore": false,
+ "IDBOpenDBRequest": false,
+ "IDBRequest": false,
+ "IDBTransaction": false,
+ "IDBVersionChangeEvent": false,
+ "IIRFilterNode": false,
+ "IdentityCredential": false,
+ "IdentityCredentialError": false,
+ "IdentityProvider": false,
+ "IdleDeadline": false,
+ "IdleDetector": false,
+ "Image": false,
+ "ImageBitmap": false,
+ "ImageBitmapRenderingContext": false,
+ "ImageCapture": false,
+ "ImageData": false,
+ "ImageDecoder": false,
+ "ImageTrack": false,
+ "ImageTrackList": false,
+ "Infinity": false,
+ "Ink": false,
+ "InputDeviceCapabilities": false,
+ "InputDeviceInfo": false,
+ "InputEvent": false,
+ "Int16Array": false,
+ "Int32Array": false,
+ "Int8Array": false,
+ "IntersectionObserver": false,
+ "IntersectionObserverEntry": false,
+ "Intl": false,
+ "JSON": false,
+ "Keyboard": false,
+ "KeyboardEvent": false,
+ "KeyboardLayoutMap": false,
+ "KeyframeEffect": false,
+ "LargestContentfulPaint": false,
+ "LaunchParams": false,
+ "LaunchQueue": false,
+ "LayoutShift": false,
+ "LayoutShiftAttribution": false,
+ "LinearAccelerationSensor": false,
+ "Location": false,
+ "Lock": false,
+ "LockManager": false,
+ "MIDIAccess": false,
+ "MIDIConnectionEvent": false,
+ "MIDIInput": false,
+ "MIDIInputMap": false,
+ "MIDIMessageEvent": false,
+ "MIDIOutput": false,
+ "MIDIOutputMap": false,
+ "MIDIPort": false,
+ "Map": false,
+ "Math": false,
+ "MathMLElement": false,
+ "MediaCapabilities": false,
+ "MediaCapabilitiesInfo": false,
+ "MediaDeviceInfo": false,
+ "MediaDevices": false,
+ "MediaElementAudioSourceNode": false,
+ "MediaEncryptedEvent": false,
+ "MediaError": false,
+ "MediaKeyError": false,
+ "MediaKeyMessageEvent": false,
+ "MediaKeySession": false,
+ "MediaKeyStatusMap": false,
+ "MediaKeySystemAccess": false,
+ "MediaKeys": false,
+ "MediaList": false,
+ "MediaMetadata": false,
+ "MediaQueryList": false,
+ "MediaQueryListEvent": false,
+ "MediaRecorder": false,
+ "MediaRecorderErrorEvent": false,
+ "MediaSession": false,
+ "MediaSource": false,
+ "MediaSourceHandle": false,
+ "MediaStream": false,
+ "MediaStreamAudioDestinationNode": false,
+ "MediaStreamAudioSourceNode": false,
+ "MediaStreamEvent": false,
+ "MediaStreamTrack": false,
+ "MediaStreamTrackAudioSourceNode": false,
+ "MediaStreamTrackAudioStats": false,
+ "MediaStreamTrackEvent": false,
+ "MediaStreamTrackGenerator": false,
+ "MediaStreamTrackProcessor": false,
+ "MediaStreamTrackVideoStats": false,
+ "MessageChannel": false,
+ "MessageEvent": false,
+ "MessagePort": false,
+ "MimeType": false,
+ "MimeTypeArray": false,
+ "ModelGenericSession": false,
+ "ModelManager": false,
+ "MouseEvent": false,
+ "MutationEvent": false,
+ "MutationObserver": false,
+ "MutationRecord": false,
+ "NaN": false,
+ "NamedNodeMap": false,
+ "NavigateEvent": false,
+ "Navigation": false,
+ "NavigationActivation": false,
+ "NavigationCurrentEntryChangeEvent": false,
+ "NavigationDestination": false,
+ "NavigationHistoryEntry": false,
+ "NavigationPreloadManager": false,
+ "NavigationTransition": false,
+ "Navigator": false,
+ "NavigatorLogin": false,
+ "NavigatorManagedData": false,
+ "NavigatorUAData": false,
+ "NetworkInformation": false,
+ "Node": false,
+ "NodeFilter": false,
+ "NodeIterator": false,
+ "NodeList": false,
+ "NotRestoredReasonDetails": false,
+ "NotRestoredReasons": false,
+ "Notification": false,
+ "NotifyPaintEvent": false,
+ "Number": false,
+ "OTPCredential": false,
+ "Object": false,
+ "OfflineAudioCompletionEvent": false,
+ "OfflineAudioContext": false,
+ "OffscreenCanvas": false,
+ "OffscreenCanvasRenderingContext2D": false,
+ "Option": false,
+ "OrientationSensor": false,
+ "OscillatorNode": false,
+ "OverconstrainedError": false,
+ "PERSISTENT": false,
+ "PageRevealEvent": false,
+ "PageSwapEvent": false,
+ "PageTransitionEvent": false,
+ "PannerNode": false,
+ "PasswordCredential": false,
+ "Path2D": false,
+ "PaymentAddress": false,
+ "PaymentManager": false,
+ "PaymentMethodChangeEvent": false,
+ "PaymentRequest": false,
+ "PaymentRequestUpdateEvent": false,
+ "PaymentResponse": false,
+ "Performance": false,
+ "PerformanceElementTiming": false,
+ "PerformanceEntry": false,
+ "PerformanceEventTiming": false,
+ "PerformanceLongAnimationFrameTiming": false,
+ "PerformanceLongTaskTiming": false,
+ "PerformanceMark": false,
+ "PerformanceMeasure": false,
+ "PerformanceNavigation": false,
+ "PerformanceNavigationTiming": false,
+ "PerformanceObserver": false,
+ "PerformanceObserverEntryList": false,
+ "PerformancePaintTiming": false,
+ "PerformanceResourceTiming": false,
+ "PerformanceScriptTiming": false,
+ "PerformanceServerTiming": false,
+ "PerformanceTiming": false,
+ "PeriodicSyncManager": false,
+ "PeriodicWave": false,
+ "PermissionStatus": false,
+ "Permissions": false,
+ "PictureInPictureEvent": false,
+ "PictureInPictureWindow": false,
+ "Plugin": false,
+ "PluginArray": false,
+ "PointerEvent": false,
+ "PopStateEvent": false,
+ "Presentation": false,
+ "PresentationAvailability": false,
+ "PresentationConnection": false,
+ "PresentationConnectionAvailableEvent": false,
+ "PresentationConnectionCloseEvent": false,
+ "PresentationConnectionList": false,
+ "PresentationReceiver": false,
+ "PresentationRequest": false,
+ "PressureObserver": false,
+ "PressureRecord": false,
+ "ProcessingInstruction": false,
+ "Profiler": false,
+ "ProgressEvent": false,
+ "Promise": false,
+ "PromiseRejectionEvent": false,
+ "ProtectedAudience": false,
+ "Proxy": false,
+ "PublicKeyCredential": false,
+ "PushManager": false,
+ "PushSubscription": false,
+ "PushSubscriptionOptions": false,
+ "RTCCertificate": false,
+ "RTCDTMFSender": false,
+ "RTCDTMFToneChangeEvent": false,
+ "RTCDataChannel": false,
+ "RTCDataChannelEvent": false,
+ "RTCDtlsTransport": false,
+ "RTCEncodedAudioFrame": false,
+ "RTCEncodedVideoFrame": false,
+ "RTCError": false,
+ "RTCErrorEvent": false,
+ "RTCIceCandidate": false,
+ "RTCIceTransport": false,
+ "RTCPeerConnection": false,
+ "RTCPeerConnectionIceErrorEvent": false,
+ "RTCPeerConnectionIceEvent": false,
+ "RTCRtpReceiver": false,
+ "RTCRtpScriptTransform": false,
+ "RTCRtpSender": false,
+ "RTCRtpTransceiver": false,
+ "RTCSctpTransport": false,
+ "RTCSessionDescription": false,
+ "RTCStatsReport": false,
+ "RTCTrackEvent": false,
+ "RadioNodeList": false,
+ "Range": false,
+ "RangeError": false,
+ "ReadableByteStreamController": false,
+ "ReadableStream": false,
+ "ReadableStreamBYOBReader": false,
+ "ReadableStreamBYOBRequest": false,
+ "ReadableStreamDefaultController": false,
+ "ReadableStreamDefaultReader": false,
+ "ReferenceError": false,
+ "Reflect": false,
+ "RegExp": false,
+ "RelativeOrientationSensor": false,
+ "RemotePlayback": false,
+ "ReportingObserver": false,
+ "Request": false,
+ "ResizeObserver": false,
+ "ResizeObserverEntry": false,
+ "ResizeObserverSize": false,
+ "Response": false,
+ "SVGAElement": false,
+ "SVGAngle": false,
+ "SVGAnimateElement": false,
+ "SVGAnimateMotionElement": false,
+ "SVGAnimateTransformElement": false,
+ "SVGAnimatedAngle": false,
+ "SVGAnimatedBoolean": false,
+ "SVGAnimatedEnumeration": false,
+ "SVGAnimatedInteger": false,
+ "SVGAnimatedLength": false,
+ "SVGAnimatedLengthList": false,
+ "SVGAnimatedNumber": false,
+ "SVGAnimatedNumberList": false,
+ "SVGAnimatedPreserveAspectRatio": false,
+ "SVGAnimatedRect": false,
+ "SVGAnimatedString": false,
+ "SVGAnimatedTransformList": false,
+ "SVGAnimationElement": false,
+ "SVGCircleElement": false,
+ "SVGClipPathElement": false,
+ "SVGComponentTransferFunctionElement": false,
+ "SVGDefsElement": false,
+ "SVGDescElement": false,
+ "SVGElement": false,
+ "SVGEllipseElement": false,
+ "SVGFEBlendElement": false,
+ "SVGFEColorMatrixElement": false,
+ "SVGFEComponentTransferElement": false,
+ "SVGFECompositeElement": false,
+ "SVGFEConvolveMatrixElement": false,
+ "SVGFEDiffuseLightingElement": false,
+ "SVGFEDisplacementMapElement": false,
+ "SVGFEDistantLightElement": false,
+ "SVGFEDropShadowElement": false,
+ "SVGFEFloodElement": false,
+ "SVGFEFuncAElement": false,
+ "SVGFEFuncBElement": false,
+ "SVGFEFuncGElement": false,
+ "SVGFEFuncRElement": false,
+ "SVGFEGaussianBlurElement": false,
+ "SVGFEImageElement": false,
+ "SVGFEMergeElement": false,
+ "SVGFEMergeNodeElement": false,
+ "SVGFEMorphologyElement": false,
+ "SVGFEOffsetElement": false,
+ "SVGFEPointLightElement": false,
+ "SVGFESpecularLightingElement": false,
+ "SVGFESpotLightElement": false,
+ "SVGFETileElement": false,
+ "SVGFETurbulenceElement": false,
+ "SVGFilterElement": false,
+ "SVGForeignObjectElement": false,
+ "SVGGElement": false,
+ "SVGGeometryElement": false,
+ "SVGGradientElement": false,
+ "SVGGraphicsElement": false,
+ "SVGImageElement": false,
+ "SVGLength": false,
+ "SVGLengthList": false,
+ "SVGLineElement": false,
+ "SVGLinearGradientElement": false,
+ "SVGMPathElement": false,
+ "SVGMarkerElement": false,
+ "SVGMaskElement": false,
+ "SVGMatrix": false,
+ "SVGMetadataElement": false,
+ "SVGNumber": false,
+ "SVGNumberList": false,
+ "SVGPathElement": false,
+ "SVGPatternElement": false,
+ "SVGPoint": false,
+ "SVGPointList": false,
+ "SVGPolygonElement": false,
+ "SVGPolylineElement": false,
+ "SVGPreserveAspectRatio": false,
+ "SVGRadialGradientElement": false,
+ "SVGRect": false,
+ "SVGRectElement": false,
+ "SVGSVGElement": false,
+ "SVGScriptElement": false,
+ "SVGSetElement": false,
+ "SVGStopElement": false,
+ "SVGStringList": false,
+ "SVGStyleElement": false,
+ "SVGSwitchElement": false,
+ "SVGSymbolElement": false,
+ "SVGTSpanElement": false,
+ "SVGTextContentElement": false,
+ "SVGTextElement": false,
+ "SVGTextPathElement": false,
+ "SVGTextPositioningElement": false,
+ "SVGTitleElement": false,
+ "SVGTransform": false,
+ "SVGTransformList": false,
+ "SVGUnitTypes": false,
+ "SVGUseElement": false,
+ "SVGViewElement": false,
+ "Scheduler": false,
+ "Scheduling": false,
+ "Screen": false,
+ "ScreenDetailed": false,
+ "ScreenDetails": false,
+ "ScreenOrientation": false,
+ "ScriptProcessorNode": false,
+ "ScrollTimeline": false,
+ "SecurityPolicyViolationEvent": false,
+ "Selection": false,
+ "Sensor": false,
+ "SensorErrorEvent": false,
+ "Serial": false,
+ "SerialPort": false,
+ "ServiceWorker": false,
+ "ServiceWorkerContainer": false,
+ "ServiceWorkerRegistration": false,
+ "Set": false,
+ "ShadowRoot": false,
+ "SharedArrayBuffer": false,
+ "SharedStorage": false,
+ "SharedStorageWorklet": false,
+ "SharedWorker": false,
+ "SnapEvent": false,
+ "SourceBuffer": false,
+ "SourceBufferList": false,
+ "SpeechSynthesis": false,
+ "SpeechSynthesisErrorEvent": false,
+ "SpeechSynthesisEvent": false,
+ "SpeechSynthesisUtterance": false,
+ "SpeechSynthesisVoice": false,
+ "StaticRange": false,
+ "StereoPannerNode": false,
+ "Storage": false,
+ "StorageBucket": false,
+ "StorageBucketManager": false,
+ "StorageEvent": false,
+ "StorageManager": false,
+ "String": false,
+ "StylePropertyMap": false,
+ "StylePropertyMapReadOnly": false,
+ "StyleSheet": false,
+ "StyleSheetList": false,
+ "SubmitEvent": false,
+ "SubtleCrypto": false,
+ "Symbol": false,
+ "SyncManager": false,
+ "SyntaxError": false,
+ "TEMPORARY": false,
+ "TaskAttributionTiming": false,
+ "TaskController": false,
+ "TaskPriorityChangeEvent": false,
+ "TaskSignal": false,
+ "Text": false,
+ "TextDecoder": false,
+ "TextDecoderStream": false,
+ "TextEncoder": false,
+ "TextEncoderStream": false,
+ "TextEvent": false,
+ "TextFormat": false,
+ "TextFormatUpdateEvent": false,
+ "TextMetrics": false,
+ "TextTrack": false,
+ "TextTrackCue": false,
+ "TextTrackCueList": false,
+ "TextTrackList": false,
+ "TextUpdateEvent": false,
+ "TimeEvent": false,
+ "TimeRanges": false,
+ "ToggleEvent": false,
+ "Touch": false,
+ "TouchEvent": false,
+ "TouchList": false,
+ "TrackEvent": false,
+ "TransformStream": false,
+ "TransformStreamDefaultController": false,
+ "TransitionEvent": false,
+ "TreeWalker": false,
+ "TrustedHTML": false,
+ "TrustedScript": false,
+ "TrustedScriptURL": false,
+ "TrustedTypePolicy": false,
+ "TrustedTypePolicyFactory": false,
+ "TypeError": false,
+ "UIEvent": false,
+ "URIError": false,
+ "URL": false,
+ "URLPattern": false,
+ "URLSearchParams": false,
+ "USB": false,
+ "USBAlternateInterface": false,
+ "USBConfiguration": false,
+ "USBConnectionEvent": false,
+ "USBDevice": false,
+ "USBEndpoint": false,
+ "USBInTransferResult": false,
+ "USBInterface": false,
+ "USBIsochronousInTransferPacket": false,
+ "USBIsochronousInTransferResult": false,
+ "USBIsochronousOutTransferPacket": false,
+ "USBIsochronousOutTransferResult": false,
+ "USBOutTransferResult": false,
+ "Uint16Array": false,
+ "Uint32Array": false,
+ "Uint8Array": false,
+ "Uint8ClampedArray": false,
+ "UserActivation": false,
+ "VTTCue": false,
+ "VTTRegion": false,
+ "ValidityState": false,
+ "VideoColorSpace": false,
+ "VideoDecoder": false,
+ "VideoEncoder": false,
+ "VideoFrame": false,
+ "VideoPlaybackQuality": false,
+ "ViewTimeline": false,
+ "ViewTransition": false,
+ "ViewTransitionTypeSet": false,
+ "VirtualKeyboard": false,
+ "VirtualKeyboardGeometryChangeEvent": false,
+ "VisibilityStateEntry": false,
+ "VisualViewport": false,
+ "WGSLLanguageFeatures": false,
+ "WakeLock": false,
+ "WakeLockSentinel": false,
+ "WaveShaperNode": false,
+ "WeakMap": false,
+ "WeakRef": false,
+ "WeakSet": false,
+ "WebAssembly": false,
+ "WebGL2RenderingContext": false,
+ "WebGLActiveInfo": false,
+ "WebGLBuffer": false,
+ "WebGLContextEvent": false,
+ "WebGLFramebuffer": false,
+ "WebGLObject": false,
+ "WebGLProgram": false,
+ "WebGLQuery": false,
+ "WebGLRenderbuffer": false,
+ "WebGLRenderingContext": false,
+ "WebGLSampler": false,
+ "WebGLShader": false,
+ "WebGLShaderPrecisionFormat": false,
+ "WebGLSync": false,
+ "WebGLTexture": false,
+ "WebGLTransformFeedback": false,
+ "WebGLUniformLocation": false,
+ "WebGLVertexArrayObject": false,
+ "WebSocket": false,
+ "WebSocketError": false,
+ "WebSocketStream": false,
+ "WebTransport": false,
+ "WebTransportBidirectionalStream": false,
+ "WebTransportDatagramDuplexStream": false,
+ "WebTransportError": false,
+ "WebTransportReceiveStream": false,
+ "WebTransportSendStream": false,
+ "WheelEvent": false,
+ "Window": false,
+ "WindowControlsOverlay": false,
+ "WindowControlsOverlayGeometryChangeEvent": false,
+ "Worker": false,
+ "Worklet": false,
+ "WorkletGlobalScope": false,
+ "WritableStream": false,
+ "WritableStreamDefaultController": false,
+ "WritableStreamDefaultWriter": false,
+ "XMLDocument": false,
+ "XMLHttpRequest": false,
+ "XMLHttpRequestEventTarget": false,
+ "XMLHttpRequestUpload": false,
+ "XMLSerializer": false,
+ "XPathEvaluator": false,
+ "XPathExpression": false,
+ "XPathResult": false,
+ "XRAnchor": false,
+ "XRAnchorSet": false,
+ "XRBoundedReferenceSpace": false,
+ "XRCPUDepthInformation": false,
+ "XRCamera": false,
+ "XRDOMOverlayState": false,
+ "XRDepthInformation": false,
+ "XRFrame": false,
+ "XRHand": false,
+ "XRHitTestResult": false,
+ "XRHitTestSource": false,
+ "XRInputSource": false,
+ "XRInputSourceArray": false,
+ "XRInputSourceEvent": false,
+ "XRInputSourcesChangeEvent": false,
+ "XRJointPose": false,
+ "XRJointSpace": false,
+ "XRLayer": false,
+ "XRLightEstimate": false,
+ "XRLightProbe": false,
+ "XRPose": false,
+ "XRRay": false,
+ "XRReferenceSpace": false,
+ "XRReferenceSpaceEvent": false,
+ "XRRenderState": false,
+ "XRRigidTransform": false,
+ "XRSession": false,
+ "XRSessionEvent": false,
+ "XRSpace": false,
+ "XRSystem": false,
+ "XRTransientInputHitTestResult": false,
+ "XRTransientInputHitTestSource": false,
+ "XRView": false,
+ "XRViewerPose": false,
+ "XRViewport": false,
+ "XRWebGLBinding": false,
+ "XRWebGLDepthInformation": false,
+ "XRWebGLLayer": false,
+ "XSLTProcessor": false,
+ "addEventListener": false,
+ "ai": false,
+ "alert": false,
+ "atob": false,
+ "blur": false,
+ "btoa": false,
+ "caches": false,
+ "cancelAnimationFrame": false,
+ "cancelIdleCallback": false,
+ "clearInterval": false,
+ "clearTimeout": false,
+ "clientInformation": false,
+ "close": false,
+ "closed": false,
+ "confirm": false,
+ "console": false,
+ "cookieStore": false,
+ "createImageBitmap": false,
+ "credentialless": false,
+ "crossOriginIsolated": false,
+ "crypto": false,
+ "currentFrame": false,
+ "currentTime": false,
+ "customElements": false,
+ "decodeURI": false,
+ "decodeURIComponent": false,
+ "devicePixelRatio": false,
+ "dispatchEvent": false,
+ "document": false,
+ "documentPictureInPicture": false,
+ "encodeURI": false,
+ "encodeURIComponent": false,
+ "escape": false,
+ "eval": false,
+ "event": false,
+ "external": false,
+ "fence": false,
+ "fetch": false,
+ "fetchLater": false,
+ "find": false,
+ "focus": false,
+ "frameElement": false,
+ "frames": false,
+ "getComputedStyle": false,
+ "getScreenDetails": false,
+ "getSelection": false,
+ "globalThis": false,
+ "history": false,
+ "indexedDB": false,
+ "innerHeight": false,
+ "innerWidth": false,
+ "isFinite": false,
+ "isNaN": false,
+ "isSecureContext": false,
+ "launchQueue": false,
+ "length": false,
+ "localStorage": false,
+ "location": true,
+ "locationbar": false,
+ "matchMedia": false,
+ "menubar": false,
+ "model": false,
+ "moveBy": false,
+ "moveTo": false,
+ "name": false,
+ "navigation": false,
+ "navigator": false,
+ "offscreenBuffering": false,
+ "onabort": true,
+ "onafterprint": true,
+ "onanimationcancel": true,
+ "onanimationend": true,
+ "onanimationiteration": true,
+ "onanimationstart": true,
+ "onappinstalled": true,
+ "onauxclick": true,
+ "onbeforeinput": true,
+ "onbeforeinstallprompt": true,
+ "onbeforematch": true,
+ "onbeforeprint": true,
+ "onbeforetoggle": true,
+ "onbeforeunload": true,
+ "onbeforexrselect": true,
+ "onblur": true,
+ "oncancel": true,
+ "oncanplay": true,
+ "oncanplaythrough": true,
+ "onchange": true,
+ "onclick": true,
+ "onclose": true,
+ "oncontentvisibilityautostatechange": true,
+ "oncontextlost": true,
+ "oncontextmenu": true,
+ "oncontextrestored": true,
+ "oncopy": true,
+ "oncuechange": true,
+ "oncut": true,
+ "ondblclick": true,
+ "ondevicemotion": true,
+ "ondeviceorientation": true,
+ "ondeviceorientationabsolute": true,
+ "ondrag": true,
+ "ondragend": true,
+ "ondragenter": true,
+ "ondragleave": true,
+ "ondragover": true,
+ "ondragstart": true,
+ "ondrop": true,
+ "ondurationchange": true,
+ "onemptied": true,
+ "onended": true,
+ "onerror": true,
+ "onfocus": true,
+ "onformdata": true,
+ "ongamepadconnected": true,
+ "ongamepaddisconnected": true,
+ "ongotpointercapture": true,
+ "onhashchange": true,
+ "oninput": true,
+ "oninvalid": true,
+ "onkeydown": true,
+ "onkeypress": true,
+ "onkeyup": true,
+ "onlanguagechange": true,
+ "onload": true,
+ "onloadeddata": true,
+ "onloadedmetadata": true,
+ "onloadstart": true,
+ "onlostpointercapture": true,
+ "onmessage": true,
+ "onmessageerror": true,
+ "onmousedown": true,
+ "onmouseenter": true,
+ "onmouseleave": true,
+ "onmousemove": true,
+ "onmouseout": true,
+ "onmouseover": true,
+ "onmouseup": true,
+ "onmousewheel": true,
+ "onoffline": true,
+ "ononline": true,
+ "onpagehide": true,
+ "onpagereveal": true,
+ "onpageshow": true,
+ "onpageswap": true,
+ "onpaste": true,
+ "onpause": true,
+ "onplay": true,
+ "onplaying": true,
+ "onpointercancel": true,
+ "onpointerdown": true,
+ "onpointerenter": true,
+ "onpointerleave": true,
+ "onpointermove": true,
+ "onpointerout": true,
+ "onpointerover": true,
+ "onpointerrawupdate": true,
+ "onpointerup": true,
+ "onpopstate": true,
+ "onprogress": true,
+ "onratechange": true,
+ "onrejectionhandled": true,
+ "onreset": true,
+ "onresize": true,
+ "onscroll": true,
+ "onscrollend": true,
+ "onscrollsnapchange": true,
+ "onscrollsnapchanging": true,
+ "onsearch": true,
+ "onsecuritypolicyviolation": true,
+ "onseeked": true,
+ "onseeking": true,
+ "onselect": true,
+ "onselectionchange": true,
+ "onselectstart": true,
+ "onslotchange": true,
+ "onstalled": true,
+ "onstorage": true,
+ "onsubmit": true,
+ "onsuspend": true,
+ "ontimeupdate": true,
+ "ontoggle": true,
+ "ontransitioncancel": true,
+ "ontransitionend": true,
+ "ontransitionrun": true,
+ "ontransitionstart": true,
+ "onunhandledrejection": true,
+ "onunload": true,
+ "onvolumechange": true,
+ "onwaiting": true,
+ "onwheel": true,
+ "open": false,
+ "opener": false,
+ "origin": false,
+ "originAgentCluster": false,
+ "outerHeight": false,
+ "outerWidth": false,
+ "pageXOffset": false,
+ "pageYOffset": false,
+ "parent": false,
+ "parseFloat": false,
+ "parseInt": false,
+ "performance": false,
+ "personalbar": false,
+ "postMessage": false,
+ "print": false,
+ "prompt": false,
+ "queryLocalFonts": false,
+ "queueMicrotask": false,
+ "registerProcessor": false,
+ "removeEventListener": false,
+ "reportError": false,
+ "requestAnimationFrame": false,
+ "requestIdleCallback": false,
+ "resizeBy": false,
+ "resizeTo": false,
+ "sampleRate": false,
+ "scheduler": false,
+ "screen": false,
+ "screenLeft": false,
+ "screenTop": false,
+ "screenX": false,
+ "screenY": false,
+ "scroll": false,
+ "scrollBy": false,
+ "scrollTo": false,
+ "scrollX": false,
+ "scrollY": false,
+ "scrollbars": false,
+ "self": false,
+ "sessionStorage": false,
+ "setInterval": false,
+ "setTimeout": false,
+ "sharedStorage": false,
+ "showDirectoryPicker": false,
+ "showOpenFilePicker": false,
+ "showSaveFilePicker": false,
+ "speechSynthesis": false,
+ "status": false,
+ "statusbar": false,
+ "stop": false,
+ "structuredClone": false,
+ "styleMedia": false,
+ "toolbar": false,
+ "top": false,
+ "trustedTypes": false,
+ "undefined": false,
+ "unescape": false,
+ "visualViewport": false,
+ "window": false,
+ },
+ "parser": "typescript-eslint/parser@8.26.0",
+ "parserOptions": {
+ "ecmaFeatures": {
+ "jsx": true,
+ },
+ "project": "/home/circleci/project/packages/eslint-config/test/__fixtures__/tsconfig.json",
},
- "ecmaVersion": "latest",
- "project": "/packages/eslint-config/test/__fixtures__/tsconfig.json",
"sourceType": "module",
},
+ "linterOptions": {
+ "reportUnusedDisableDirectives": 2,
+ },
"plugins": [
- "@stylistic",
- "switch-case",
- "gettext",
+ "@",
"import",
+ "gettext",
+ "switch-case",
+ "@stylistic",
"jsdoc",
- "prettier",
+ "prettier:eslint-plugin-prettier@5.2.3",
"react",
- "jsx-a11y",
- "react-hooks",
+ "react-hooks:eslint-plugin-react-hooks",
+ "jsx-a11y:eslint-plugin-jsx-a11y@6.10.2",
+ "@typescript-eslint:@typescript-eslint/eslint-plugin@8.26.0",
"@bigcommerce",
- "@typescript-eslint",
],
- "reportUnusedDisableDirectives": true,
+ "processor": undefined,
"rules": {
"@babel/object-curly-spacing": [
- "off",
+ 0,
],
"@babel/semi": [
- "off",
- ],
- "@bigcommerce/jsx-short-circuit-conditionals": [
- "error",
+ 0,
],
"@stylistic/padding-line-between-statements": [
- "warn",
+ 1,
{
"blankLine": "always",
"next": "return",
@@ -109,7 +1296,7 @@ exports[`keeps rules stable 1`] = `
},
],
"@stylistic/spaced-comment": [
- "warn",
+ 1,
"always",
{
"block": {
@@ -136,61 +1323,61 @@ exports[`keeps rules stable 1`] = `
},
],
"@typescript-eslint/adjacent-overload-signatures": [
- "error",
+ 2,
],
"@typescript-eslint/array-type": [
- "error",
+ 2,
{
"default": "array-simple",
},
],
"@typescript-eslint/await-thenable": [
- "error",
+ 2,
],
"@typescript-eslint/ban-ts-comment": [
- "error",
+ 2,
{
"minimumDescriptionLength": 10,
},
],
"@typescript-eslint/ban-tslint-comment": [
- "error",
+ 2,
],
"@typescript-eslint/block-spacing": [
- "off",
+ 0,
],
"@typescript-eslint/brace-style": [
- "off",
+ 0,
],
"@typescript-eslint/class-literal-property-style": [
- "error",
+ 2,
],
"@typescript-eslint/comma-dangle": [
- "off",
+ 0,
],
"@typescript-eslint/comma-spacing": [
- "off",
+ 0,
],
"@typescript-eslint/consistent-generic-constructors": [
- "off",
+ 0,
],
"@typescript-eslint/consistent-indexed-object-style": [
- "error",
+ 2,
],
"@typescript-eslint/consistent-type-assertions": [
- "error",
+ 2,
{
"assertionStyle": "never",
},
],
"@typescript-eslint/consistent-type-definitions": [
- "error",
+ 2,
],
"@typescript-eslint/default-param-last": [
- "error",
+ 2,
],
"@typescript-eslint/dot-notation": [
- "error",
+ 2,
{
"allowIndexSignaturePropertyAccess": false,
"allowKeywords": true,
@@ -200,40 +1387,40 @@ exports[`keeps rules stable 1`] = `
},
],
"@typescript-eslint/explicit-function-return-type": [
- "off",
+ 0,
],
"@typescript-eslint/explicit-member-accessibility": [
- "error",
+ 2,
{
"accessibility": "no-public",
},
],
"@typescript-eslint/explicit-module-boundary-types": [
- "off",
+ 0,
],
"@typescript-eslint/func-call-spacing": [
- "off",
+ 0,
],
"@typescript-eslint/indent": [
- "off",
+ 0,
],
"@typescript-eslint/key-spacing": [
- "off",
+ 0,
],
"@typescript-eslint/keyword-spacing": [
- "off",
+ 0,
],
"@typescript-eslint/lines-around-comment": [
- "off",
+ 0,
],
"@typescript-eslint/member-delimiter-style": [
- "off",
+ 0,
],
"@typescript-eslint/member-ordering": [
- "error",
+ 2,
],
"@typescript-eslint/naming-convention": [
- "error",
+ 2,
{
"format": [
"camelCase",
@@ -315,79 +1502,82 @@ exports[`keeps rules stable 1`] = `
},
],
"@typescript-eslint/no-array-constructor": [
- "error",
+ 2,
],
"@typescript-eslint/no-array-delete": [
- "error",
+ 2,
],
"@typescript-eslint/no-base-to-string": [
- "error",
+ 2,
],
"@typescript-eslint/no-confusing-non-null-assertion": [
- "error",
+ 2,
],
"@typescript-eslint/no-confusing-void-expression": [
- "error",
+ 2,
{
"ignoreArrowShorthand": true,
},
],
"@typescript-eslint/no-deprecated": [
- "error",
+ 2,
],
"@typescript-eslint/no-duplicate-enum-values": [
- "error",
+ 2,
],
"@typescript-eslint/no-duplicate-type-constituents": [
- "error",
+ 2,
],
"@typescript-eslint/no-dynamic-delete": [
- "error",
+ 2,
],
"@typescript-eslint/no-empty-function": [
- "error",
+ 2,
+ {
+ "allow": [],
+ },
],
"@typescript-eslint/no-empty-object-type": [
- "error",
+ 2,
],
"@typescript-eslint/no-explicit-any": [
- "error",
+ 2,
],
"@typescript-eslint/no-extra-non-null-assertion": [
- "error",
+ 2,
],
"@typescript-eslint/no-extra-parens": [
- "off",
+ 0,
],
"@typescript-eslint/no-extra-semi": [
- "off",
+ 0,
],
"@typescript-eslint/no-extraneous-class": [
- "error",
+ 2,
],
"@typescript-eslint/no-floating-promises": [
- "error",
+ 2,
],
"@typescript-eslint/no-for-in-array": [
- "error",
+ 2,
],
"@typescript-eslint/no-implied-eval": [
- "error",
+ 2,
],
"@typescript-eslint/no-inferrable-types": [
- "error",
+ 2,
],
"@typescript-eslint/no-invalid-void-type": [
- "error",
+ 2,
],
"@typescript-eslint/no-meaningless-void-operator": [
- "error",
+ 2,
],
"@typescript-eslint/no-misused-new": [
- "error",
+ 2,
],
"@typescript-eslint/no-misused-promises": [
- "error",
+ 2,
{
"checksVoidReturn": {
"attributes": false,
@@ -395,94 +1585,99 @@ exports[`keeps rules stable 1`] = `
},
],
"@typescript-eslint/no-misused-spread": [
- "error",
+ 2,
],
"@typescript-eslint/no-mixed-enums": [
- "error",
+ 2,
],
"@typescript-eslint/no-namespace": [
- "error",
+ 2,
{
"allowDeclarations": true,
},
],
"@typescript-eslint/no-non-null-asserted-nullish-coalescing": [
- "error",
+ 2,
],
"@typescript-eslint/no-non-null-asserted-optional-chain": [
- "error",
+ 2,
],
"@typescript-eslint/no-non-null-assertion": [
- "error",
+ 2,
],
"@typescript-eslint/no-redundant-type-constituents": [
- "error",
+ 2,
],
"@typescript-eslint/no-require-imports": [
- "error",
+ 2,
],
"@typescript-eslint/no-shadow": [
- "error",
+ 2,
{
"hoist": "all",
},
],
"@typescript-eslint/no-this-alias": [
- "error",
+ 2,
],
"@typescript-eslint/no-unnecessary-boolean-literal-compare": [
- "error",
+ 2,
],
"@typescript-eslint/no-unnecessary-condition": [
- "error",
+ 2,
],
"@typescript-eslint/no-unnecessary-template-expression": [
- "error",
+ 2,
],
"@typescript-eslint/no-unnecessary-type-arguments": [
- "error",
+ 2,
],
"@typescript-eslint/no-unnecessary-type-assertion": [
- "error",
+ 2,
],
"@typescript-eslint/no-unnecessary-type-constraint": [
- "error",
+ 2,
],
"@typescript-eslint/no-unnecessary-type-parameters": [
- "error",
+ 2,
],
"@typescript-eslint/no-unsafe-argument": [
- "error",
+ 2,
],
"@typescript-eslint/no-unsafe-assignment": [
- "error",
+ 2,
],
"@typescript-eslint/no-unsafe-call": [
- "error",
+ 2,
],
"@typescript-eslint/no-unsafe-declaration-merging": [
- "error",
+ 2,
],
"@typescript-eslint/no-unsafe-enum-comparison": [
- "error",
+ 2,
],
"@typescript-eslint/no-unsafe-function-type": [
- "error",
+ 2,
],
"@typescript-eslint/no-unsafe-member-access": [
- "error",
+ 2,
],
"@typescript-eslint/no-unsafe-return": [
- "error",
+ 2,
],
"@typescript-eslint/no-unsafe-unary-minus": [
- "error",
+ 2,
],
"@typescript-eslint/no-unused-expressions": [
- "error",
+ 2,
+ {
+ "allowShortCircuit": false,
+ "allowTaggedTemplates": false,
+ "allowTernary": false,
+ },
],
"@typescript-eslint/no-unused-vars": [
- "error",
+ 2,
{
"args": "after-used",
"ignoreRestSiblings": true,
@@ -490,77 +1685,77 @@ exports[`keeps rules stable 1`] = `
},
],
"@typescript-eslint/no-use-before-define": [
- "error",
+ 2,
"nofunc",
],
"@typescript-eslint/no-useless-constructor": [
- "error",
+ 2,
],
"@typescript-eslint/no-wrapper-object-types": [
- "error",
+ 2,
],
"@typescript-eslint/non-nullable-type-assertion-style": [
- "error",
+ 2,
],
"@typescript-eslint/object-curly-spacing": [
- "off",
+ 0,
],
"@typescript-eslint/only-throw-error": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-as-const": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-find": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-for-of": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-function-type": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-includes": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-literal-enum-member": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-namespace-keyword": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-nullish-coalescing": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-optional-chain": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-promise-reject-errors": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-reduce-type-parameter": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-regexp-exec": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-return-this-type": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-string-starts-ends-with": [
- "error",
+ 2,
],
"@typescript-eslint/quotes": [
0,
],
"@typescript-eslint/related-getter-setter-pairs": [
- "error",
+ 2,
],
"@typescript-eslint/require-await": [
- "error",
+ 2,
],
"@typescript-eslint/restrict-plus-operands": [
- "error",
+ 2,
{
"allowAny": false,
"allowBoolean": false,
@@ -570,88 +1765,93 @@ exports[`keeps rules stable 1`] = `
},
],
"@typescript-eslint/restrict-template-expressions": [
- "error",
+ 2,
{
"allowNumber": true,
},
],
"@typescript-eslint/return-await": [
- "error",
- "error-handling-correctness-only",
+ 2,
],
"@typescript-eslint/semi": [
- "off",
+ 0,
],
"@typescript-eslint/space-before-blocks": [
- "off",
+ 0,
],
"@typescript-eslint/space-before-function-paren": [
- "off",
+ 0,
],
"@typescript-eslint/space-infix-ops": [
- "off",
+ 0,
],
"@typescript-eslint/triple-slash-reference": [
- "error",
+ 2,
],
"@typescript-eslint/type-annotation-spacing": [
- "off",
+ 0,
],
"@typescript-eslint/unbound-method": [
- "off",
+ 0,
],
"@typescript-eslint/unified-signatures": [
- "error",
+ 2,
],
"@typescript-eslint/use-unknown-in-catch-callback-variable": [
- "error",
+ 2,
],
"array-bracket-newline": [
- "off",
+ 0,
],
"array-bracket-spacing": [
- "off",
+ 0,
],
"array-callback-return": [
- "error",
+ 2,
+ {
+ "allowImplicit": false,
+ "allowVoid": false,
+ "checkForEach": false,
+ },
],
"array-element-newline": [
- "off",
+ 0,
],
"arrow-body-style": [
- "off",
+ 2,
"as-needed",
{
"requireReturnForObjectLiteral": false,
},
],
"arrow-parens": [
- "off",
+ 0,
],
"arrow-spacing": [
- "off",
+ 0,
],
"babel/object-curly-spacing": [
- "off",
+ 0,
],
"babel/quotes": [
0,
],
"babel/semi": [
- "off",
+ 0,
],
"block-scoped-var": [
- "error",
+ 2,
],
"block-spacing": [
- "off",
+ 0,
],
"brace-style": [
- "off",
+ 0,
],
"camelcase": [
- "off",
+ 0,
{
+ "allow": [],
"ignoreDestructuring": false,
"ignoreGlobals": false,
"ignoreImports": false,
@@ -659,133 +1859,137 @@ exports[`keeps rules stable 1`] = `
},
],
"comma-dangle": [
- "off",
+ 0,
],
"comma-spacing": [
- "off",
+ 0,
],
"comma-style": [
- "off",
+ 0,
],
"complexity": [
- "error",
+ 2,
+ 20,
],
"computed-property-spacing": [
- "off",
+ 0,
],
"consistent-return": [
- "off",
+ 0,
+ {
+ "treatUndefinedAsUnspecified": false,
+ },
],
"constructor-super": [
- "off",
+ 2,
],
"curly": [
- "error",
+ 2,
"all",
],
"default-case": [
- "off",
+ 0,
+ {},
],
"default-param-last": [
- "off",
+ 0,
],
"dot-location": [
- "off",
+ 0,
],
"dot-notation": [
- "off",
+ 0,
{
"allowKeywords": true,
"allowPattern": "",
},
],
"eol-last": [
- "off",
+ 0,
],
"eqeqeq": [
- "error",
+ 2,
"smart",
],
"flowtype/boolean-style": [
- "off",
+ 0,
],
"flowtype/delimiter-dangle": [
- "off",
+ 0,
],
"flowtype/generic-spacing": [
- "off",
+ 0,
],
"flowtype/object-type-curly-spacing": [
- "off",
+ 0,
],
"flowtype/object-type-delimiter": [
- "off",
+ 0,
],
"flowtype/quotes": [
- "off",
+ 0,
],
"flowtype/semi": [
- "off",
+ 0,
],
"flowtype/space-after-type-colon": [
- "off",
+ 0,
],
"flowtype/space-before-generic-bracket": [
- "off",
+ 0,
],
"flowtype/space-before-type-colon": [
- "off",
+ 0,
],
"flowtype/union-intersection-spacing": [
- "off",
+ 0,
],
"for-direction": [
- "error",
+ 2,
],
"func-call-spacing": [
- "off",
+ 0,
],
"func-names": [
- "error",
+ 2,
+ "always",
+ {},
],
"function-call-argument-newline": [
- "off",
+ 0,
],
"function-paren-newline": [
- "off",
+ 0,
],
"generator-star": [
- "off",
+ 0,
],
"generator-star-spacing": [
- "off",
+ 0,
],
"getter-return": [
- "off",
+ 2,
{
"allowImplicit": true,
},
],
"gettext/no-variable-string": [
- "error",
+ 2,
],
"guard-for-in": [
- "error",
+ 2,
],
"implicit-arrow-linebreak": [
- "off",
+ 0,
],
"import/default": [
- "off",
+ 0,
],
"import/dynamic-import-chunkname": [
- "error",
- ],
- "import/export": [
2,
],
"import/extensions": [
- "error",
+ 2,
{
"js": "never",
"json": "always",
@@ -795,46 +1999,37 @@ exports[`keeps rules stable 1`] = `
},
],
"import/named": [
- "off",
- ],
- "import/namespace": [
- 2,
+ 0,
],
"import/newline-after-import": [
- "warn",
+ 1,
],
"import/no-absolute-path": [
- "error",
+ 2,
],
"import/no-amd": [
- "error",
+ 2,
],
"import/no-duplicates": [
- "warn",
+ 1,
{
"prefer-inline": true,
},
],
"import/no-dynamic-require": [
- "error",
+ 2,
],
"import/no-extraneous-dependencies": [
- "error",
+ 2,
],
"import/no-mutable-exports": [
- "error",
- ],
- "import/no-named-as-default": [
- 1,
- ],
- "import/no-named-as-default-member": [
- 1,
+ 2,
],
"import/no-named-default": [
- "error",
+ 2,
],
"import/no-unresolved": [
- "error",
+ 2,
{
"caseSensitive": true,
"caseSensitiveStrict": false,
@@ -842,10 +2037,10 @@ exports[`keeps rules stable 1`] = `
},
],
"import/no-webpack-loader-syntax": [
- "error",
+ 2,
],
"import/order": [
- "warn",
+ 1,
{
"alphabetize": {
"caseInsensitive": true,
@@ -869,73 +2064,73 @@ exports[`keeps rules stable 1`] = `
},
],
"indent": [
- "off",
+ 0,
],
"indent-legacy": [
- "off",
+ 0,
],
"jsdoc/check-alignment": [
- "error",
+ 2,
],
"jsdoc/check-param-names": [
- "error",
+ 2,
],
"jsdoc/check-syntax": [
- "error",
+ 2,
],
"jsdoc/check-tag-names": [
- "error",
+ 2,
],
"jsdoc/implements-on-classes": [
- "error",
+ 2,
],
"jsdoc/require-param-name": [
- "error",
+ 2,
],
"jsdoc/require-param-type": [
- "error",
+ 2,
],
"jsdoc/require-returns-check": [
- "error",
+ 2,
],
"jsdoc/require-returns-type": [
- "error",
+ 2,
],
"jsx-a11y/alt-text": [
- "error",
+ 2,
],
"jsx-a11y/anchor-ambiguous-text": [
- "off",
+ 0,
],
"jsx-a11y/anchor-has-content": [
- "error",
+ 2,
],
"jsx-a11y/anchor-is-valid": [
- "error",
+ 2,
],
"jsx-a11y/aria-activedescendant-has-tabindex": [
- "error",
+ 2,
],
"jsx-a11y/aria-props": [
- "error",
+ 2,
],
"jsx-a11y/aria-proptypes": [
- "error",
+ 2,
],
"jsx-a11y/aria-role": [
- "error",
+ 2,
],
"jsx-a11y/aria-unsupported-elements": [
- "error",
+ 2,
],
"jsx-a11y/autocomplete-valid": [
- "error",
+ 2,
],
"jsx-a11y/click-events-have-key-events": [
- "error",
+ 2,
],
"jsx-a11y/control-has-associated-label": [
- "off",
+ 0,
{
"ignoreElements": [
"audio",
@@ -965,19 +2160,19 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/heading-has-content": [
- "error",
+ 2,
],
"jsx-a11y/html-has-lang": [
- "error",
+ 2,
],
"jsx-a11y/iframe-has-title": [
- "error",
+ 2,
],
"jsx-a11y/img-redundant-alt": [
- "error",
+ 2,
],
"jsx-a11y/interactive-supports-focus": [
- "error",
+ 2,
{
"tabbable": [
"button",
@@ -991,28 +2186,28 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/label-has-associated-control": [
- "error",
+ 2,
],
"jsx-a11y/label-has-for": [
- "off",
+ 0,
],
"jsx-a11y/media-has-caption": [
- "error",
+ 2,
],
"jsx-a11y/mouse-events-have-key-events": [
- "error",
+ 2,
],
"jsx-a11y/no-access-key": [
- "error",
+ 2,
],
"jsx-a11y/no-autofocus": [
- "error",
+ 2,
],
"jsx-a11y/no-distracting-elements": [
- "error",
+ 2,
],
"jsx-a11y/no-interactive-element-to-noninteractive-role": [
- "error",
+ 2,
{
"canvas": [
"img",
@@ -1024,7 +2219,7 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/no-noninteractive-element-interactions": [
- "error",
+ 2,
{
"alert": [
"onKeyUp",
@@ -1061,7 +2256,7 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/no-noninteractive-element-to-interactive-role": [
- "error",
+ 2,
{
"fieldset": [
"radiogroup",
@@ -1103,7 +2298,7 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/no-noninteractive-tabindex": [
- "error",
+ 2,
{
"allowExpressionValues": true,
"roles": [
@@ -1113,13 +2308,13 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/no-onchange": [
- "off",
+ 0,
],
"jsx-a11y/no-redundant-roles": [
- "error",
+ 2,
],
"jsx-a11y/no-static-element-interactions": [
- "error",
+ 2,
{
"allowExpressionValues": true,
"handlers": [
@@ -1133,47 +2328,47 @@ exports[`keeps rules stable 1`] = `
},
],
"jsx-a11y/role-has-required-aria-props": [
- "error",
+ 2,
],
"jsx-a11y/role-supports-aria-props": [
- "error",
+ 2,
],
"jsx-a11y/scope": [
- "error",
+ 2,
],
"jsx-a11y/tabindex-no-positive": [
- "error",
+ 2,
],
"jsx-quotes": [
- "off",
+ 0,
],
"key-spacing": [
- "off",
+ 0,
],
"keyword-spacing": [
- "off",
+ 0,
],
"linebreak-style": [
- "off",
+ 0,
],
"lines-around-comment": [
0,
],
"max-classes-per-file": [
- "error",
+ 2,
1,
],
"max-len": [
0,
],
"max-statements-per-line": [
- "off",
+ 0,
],
"multiline-ternary": [
- "off",
+ 0,
],
"new-cap": [
- "error",
+ 2,
{
"capIsNew": false,
"capIsNewExceptions": [
@@ -1187,104 +2382,122 @@ exports[`keeps rules stable 1`] = `
},
],
"new-parens": [
- "off",
+ 0,
],
"newline-per-chained-call": [
- "off",
+ 0,
],
"no-alert": [
- "warn",
+ 1,
],
"no-array-constructor": [
- "off",
+ 0,
],
"no-arrow-condition": [
- "off",
+ 0,
],
"no-async-promise-executor": [
- "error",
+ 2,
],
"no-await-in-loop": [
- "error",
+ 2,
],
"no-bitwise": [
- "error",
+ 2,
+ {
+ "allow": [],
+ "int32Hint": false,
+ },
],
"no-caller": [
- "error",
+ 2,
],
"no-case-declarations": [
- "error",
+ 2,
],
"no-class-assign": [
- "off",
+ 2,
],
"no-comma-dangle": [
- "off",
+ 0,
],
"no-compare-neg-zero": [
- "error",
+ 2,
],
"no-cond-assign": [
- "error",
+ 2,
"always",
],
"no-confusing-arrow": [
0,
],
"no-console": [
- "warn",
+ 1,
+ {},
],
"no-const-assign": [
- "off",
+ 2,
+ ],
+ "no-constant-binary-expression": [
+ 2,
],
"no-constant-condition": [
- "warn",
+ 1,
+ {
+ "checkLoops": "allExceptWhileTrue",
+ },
],
"no-continue": [
- "error",
+ 2,
],
"no-control-regex": [
- "error",
+ 2,
],
"no-debugger": [
- "error",
+ 2,
],
"no-delete-var": [
- "error",
+ 2,
],
"no-dupe-args": [
- "off",
+ 2,
],
"no-dupe-class-members": [
- "off",
+ 2,
],
"no-dupe-else-if": [
- "error",
+ 2,
],
"no-dupe-keys": [
- "off",
+ 2,
],
"no-duplicate-case": [
- "error",
+ 2,
],
"no-duplicate-imports": [
- "off",
+ 0,
+ {
+ "allowSeparateTypeImports": false,
+ "includeExports": false,
+ },
],
"no-else-return": [
- "error",
+ 2,
{
"allowElseIf": true,
},
],
"no-empty": [
- "error",
+ 2,
+ {
+ "allowEmptyCatch": false,
+ },
],
"no-empty-character-class": [
- "error",
+ 2,
],
"no-empty-function": [
- "off",
+ 0,
{
"allow": [
"arrowFunctions",
@@ -1294,164 +2507,198 @@ exports[`keeps rules stable 1`] = `
},
],
"no-empty-pattern": [
- "error",
+ 2,
+ {
+ "allowObjectPatternsAsParameters": false,
+ },
+ ],
+ "no-empty-static-block": [
+ 2,
],
"no-eval": [
- "error",
+ 2,
+ {
+ "allowIndirect": false,
+ },
],
"no-ex-assign": [
- "error",
+ 2,
],
"no-extend-native": [
- "error",
+ 2,
+ {
+ "exceptions": [],
+ },
],
"no-extra-bind": [
- "error",
+ 2,
],
"no-extra-boolean-cast": [
- "error",
+ 2,
+ {},
],
"no-extra-label": [
- "error",
+ 2,
],
"no-extra-parens": [
- "off",
+ 0,
],
"no-extra-semi": [
- "off",
+ 0,
],
"no-fallthrough": [
- "error",
+ 2,
+ {
+ "allowEmptyCase": false,
+ "reportUnusedFallthroughComment": false,
+ },
],
"no-floating-decimal": [
- "off",
+ 0,
],
"no-func-assign": [
- "off",
+ 2,
],
"no-global-assign": [
- "error",
+ 2,
+ {
+ "exceptions": [],
+ },
],
"no-implied-eval": [
- "off",
+ 0,
],
"no-import-assign": [
- "off",
- ],
- "no-inner-declarations": [
- "error",
+ 2,
],
"no-invalid-regexp": [
- "error",
+ 2,
+ {},
],
"no-irregular-whitespace": [
- "error",
+ 2,
+ {
+ "skipComments": false,
+ "skipJSXText": false,
+ "skipRegExps": false,
+ "skipStrings": true,
+ "skipTemplates": false,
+ },
],
"no-iterator": [
- "error",
+ 2,
],
"no-label-var": [
- "error",
+ 2,
],
"no-labels": [
- "error",
+ 2,
{
"allowLoop": false,
"allowSwitch": false,
},
],
"no-lone-blocks": [
- "error",
+ 2,
],
"no-lonely-if": [
- "error",
+ 2,
],
"no-loop-func": [
- "error",
+ 2,
],
"no-loss-of-precision": [
- "error",
+ 2,
],
"no-misleading-character-class": [
- "error",
+ 2,
+ {
+ "allowEscape": false,
+ },
],
"no-mixed-operators": [
0,
],
"no-mixed-spaces-and-tabs": [
- "off",
+ 0,
],
"no-multi-assign": [
- "error",
+ 2,
+ {
+ "ignoreNonDeclaration": false,
+ },
],
"no-multi-spaces": [
- "off",
+ 0,
],
"no-multi-str": [
- "error",
+ 2,
],
"no-multiple-empty-lines": [
- "off",
+ 0,
],
"no-nested-ternary": [
- "error",
+ 2,
],
"no-new": [
- "error",
+ 2,
],
"no-new-func": [
- "error",
+ 2,
],
"no-new-native-nonconstructor": [
- "off",
- ],
- "no-new-symbol": [
- "off",
+ 2,
],
"no-new-wrappers": [
- "error",
+ 2,
],
"no-nonoctal-decimal-escape": [
- "error",
+ 2,
],
"no-obj-calls": [
- "off",
+ 2,
],
"no-object-constructor": [
- "error",
+ 2,
],
"no-octal": [
- "error",
+ 2,
],
"no-octal-escape": [
- "error",
+ 2,
],
"no-param-reassign": [
- "error",
+ 2,
{
"props": false,
},
],
"no-plusplus": [
- "error",
+ 2,
+ {
+ "allowForLoopAfterthoughts": false,
+ },
],
"no-proto": [
- "error",
+ 2,
],
"no-prototype-builtins": [
- "off",
+ 0,
],
"no-redeclare": [
- "off",
+ 2,
+ {
+ "builtinGlobals": true,
+ },
],
"no-regex-spaces": [
- "error",
+ 2,
],
"no-reserved-keys": [
- "off",
+ 0,
],
"no-restricted-globals": [
- "error",
+ 2,
"isFinite",
"isNaN",
"addEventListener",
@@ -1514,10 +2761,10 @@ exports[`keeps rules stable 1`] = `
"top",
],
"no-restricted-imports": [
- "error",
+ 2,
],
"no-restricted-properties": [
- "error",
+ 2,
{
"message": "arguments.callee is deprecated",
"object": "arguments",
@@ -1568,7 +2815,7 @@ exports[`keeps rules stable 1`] = `
},
],
"no-restricted-syntax": [
- "error",
+ 2,
{
"message": "for..in loops iterate over the entire prototype chain, which is virtually never what you want. Use Object.{keys,values,entries}, and iterate over the resulting array.",
"selector": "ForInStatement",
@@ -1595,71 +2842,87 @@ exports[`keeps rules stable 1`] = `
},
],
"no-return-assign": [
- "error",
+ 2,
"except-parens",
],
"no-return-await": [
- "off",
+ 0,
],
"no-script-url": [
- "error",
+ 2,
],
"no-self-assign": [
- "error",
+ 2,
+ {
+ "props": true,
+ },
],
"no-self-compare": [
- "error",
+ 2,
],
"no-sequences": [
- "error",
+ 2,
+ {
+ "allowInParentheses": true,
+ },
],
"no-setter-return": [
- "off",
+ 2,
],
"no-shadow": [
- "off",
+ 0,
{
+ "allow": [],
"builtinGlobals": false,
"hoist": "all",
+ "ignoreFunctionTypeParameterNameValueShadow": true,
"ignoreOnInitialization": false,
+ "ignoreTypeValueShadow": true,
},
],
"no-shadow-restricted-names": [
- "error",
+ 2,
+ {
+ "reportGlobalThis": false,
+ },
],
"no-space-before-semi": [
- "off",
+ 0,
],
"no-spaced-func": [
- "off",
+ 0,
],
"no-sparse-arrays": [
- "error",
+ 2,
],
"no-tabs": [
0,
],
"no-template-curly-in-string": [
- "error",
+ 2,
],
"no-this-before-super": [
- "off",
+ 2,
],
"no-throw-literal": [
- "off",
+ 0,
],
"no-trailing-spaces": [
- "off",
+ 0,
],
"no-undef": [
- "off",
+ 2,
+ {
+ "typeof": false,
+ },
],
"no-undef-init": [
- "error",
+ 2,
],
"no-underscore-dangle": [
- "error",
+ 2,
{
+ "allow": [],
"allowAfterSuper": true,
"allowAfterThis": true,
"allowAfterThisConstructor": false,
@@ -1674,31 +2937,47 @@ exports[`keeps rules stable 1`] = `
0,
],
"no-unneeded-ternary": [
- "error",
+ 2,
{
"defaultAssignment": false,
},
],
"no-unreachable": [
- "off",
+ 2,
],
"no-unsafe-finally": [
- "error",
+ 2,
],
"no-unsafe-negation": [
- "off",
+ 2,
+ {
+ "enforceForOrderingRelations": false,
+ },
],
"no-unsafe-optional-chaining": [
- "error",
+ 2,
+ {
+ "disallowArithmeticOperators": false,
+ },
],
"no-unused-expressions": [
- "off",
+ 0,
+ {
+ "allowShortCircuit": false,
+ "allowTaggedTemplates": false,
+ "allowTernary": false,
+ "enforceForJSX": false,
+ "ignoreDirectives": false,
+ },
],
"no-unused-labels": [
- "error",
+ 2,
+ ],
+ "no-unused-private-class-members": [
+ 2,
],
"no-unused-vars": [
- "off",
+ 0,
{
"args": "after-used",
"ignoreRestSiblings": true,
@@ -1706,29 +2985,35 @@ exports[`keeps rules stable 1`] = `
},
],
"no-use-before-define": [
- "off",
+ 0,
"nofunc",
],
"no-useless-backreference": [
- "error",
+ 2,
],
"no-useless-catch": [
- "error",
+ 2,
],
"no-useless-computed-key": [
- "error",
+ 2,
+ {
+ "enforceForClassMembers": true,
+ },
],
"no-useless-concat": [
- "error",
+ 2,
],
"no-useless-constructor": [
- "off",
+ 0,
],
"no-useless-escape": [
- "error",
+ 2,
+ {
+ "allowRegexCharacters": [],
+ },
],
"no-useless-rename": [
- "error",
+ 2,
{
"ignoreDestructuring": false,
"ignoreExport": false,
@@ -1736,40 +3021,40 @@ exports[`keeps rules stable 1`] = `
},
],
"no-useless-return": [
- "error",
+ 2,
],
"no-var": [
- "error",
+ 2,
],
"no-void": [
- "error",
+ 2,
{
"allowAsStatement": true,
},
],
"no-whitespace-before-property": [
- "off",
+ 0,
],
"no-with": [
- "error",
+ 2,
],
"no-wrap-func": [
- "off",
+ 0,
],
"nonblock-statement-body-position": [
- "off",
+ 0,
],
"object-curly-newline": [
- "off",
+ 0,
],
"object-curly-spacing": [
- "off",
+ 0,
],
"object-property-newline": [
- "off",
+ 0,
],
"object-shorthand": [
- "error",
+ 2,
"always",
{
"avoidQuotes": true,
@@ -1777,53 +3062,53 @@ exports[`keeps rules stable 1`] = `
},
],
"one-var": [
- "error",
+ 2,
"never",
],
"one-var-declaration-per-line": [
- "off",
+ 0,
],
"operator-assignment": [
- "error",
+ 2,
"always",
],
"operator-linebreak": [
- "off",
+ 0,
],
"padded-blocks": [
- "off",
+ 0,
],
"prefer-arrow-callback": [
- "off",
+ 2,
{
"allowNamedFunctions": false,
"allowUnboundThis": true,
},
],
"prefer-const": [
- "error",
+ 2,
{
"destructuring": "any",
"ignoreReadBeforeAssign": true,
},
],
"prefer-numeric-literals": [
- "error",
+ 2,
],
"prefer-promise-reject-errors": [
- "off",
+ 0,
+ {
+ "allowEmptyReject": false,
+ },
],
"prefer-rest-params": [
- "error",
- ],
- "prefer-spread": [
- "error",
+ 2,
],
"prefer-template": [
- "error",
+ 2,
],
"prettier/prettier": [
- "warn",
+ 1,
{
"printWidth": 100,
"singleQuote": true,
@@ -1834,37 +3119,38 @@ exports[`keeps rules stable 1`] = `
},
],
"quote-props": [
- "off",
+ 0,
],
"quotes": [
0,
],
"radix": [
- "error",
+ 2,
+ "always",
],
"react-hooks/exhaustive-deps": [
- "error",
+ 2,
],
"react-hooks/rules-of-hooks": [
- "error",
+ 2,
],
"react/destructuring-assignment": [
- "error",
+ 2,
],
"react/display-name": [
- "off",
+ 0,
],
"react/jsx-child-element-spacing": [
- "off",
+ 0,
],
"react/jsx-closing-bracket-location": [
- "off",
+ 0,
],
"react/jsx-closing-tag-location": [
- "off",
+ 0,
],
"react/jsx-curly-brace-presence": [
- "error",
+ 2,
{
"children": "never",
"propElementValues": "always",
@@ -1872,38 +3158,38 @@ exports[`keeps rules stable 1`] = `
},
],
"react/jsx-curly-newline": [
- "off",
+ 0,
],
"react/jsx-curly-spacing": [
- "off",
+ 0,
],
"react/jsx-equals-spacing": [
- "off",
+ 0,
],
"react/jsx-first-prop-new-line": [
- "off",
+ 0,
],
"react/jsx-fragments": [
- "error",
+ 2,
"syntax",
],
"react/jsx-indent": [
- "off",
+ 0,
],
"react/jsx-indent-props": [
- "off",
+ 0,
],
"react/jsx-key": [
2,
],
"react/jsx-max-props-per-line": [
- "off",
+ 0,
],
"react/jsx-newline": [
- "off",
+ 0,
],
"react/jsx-no-bind": [
- "error",
+ 2,
{
"allowArrowFunctions": true,
"allowBind": false,
@@ -1925,25 +3211,25 @@ exports[`keeps rules stable 1`] = `
2,
],
"react/jsx-no-useless-fragment": [
- "error",
+ 2,
],
"react/jsx-one-expression-per-line": [
- "off",
+ 0,
],
"react/jsx-pascal-case": [
- "error",
+ 2,
],
"react/jsx-props-no-multi-spaces": [
- "off",
+ 0,
],
"react/jsx-sort-props": [
- "warn",
+ 1,
],
"react/jsx-space-before-closing": [
- "off",
+ 0,
],
"react/jsx-tag-spacing": [
- "off",
+ 0,
],
"react/jsx-uses-react": [
2,
@@ -1952,7 +3238,7 @@ exports[`keeps rules stable 1`] = `
2,
],
"react/jsx-wrap-multilines": [
- "off",
+ 0,
],
"react/no-children-prop": [
2,
@@ -1973,7 +3259,7 @@ exports[`keeps rules stable 1`] = `
2,
],
"react/no-redundant-should-component-update": [
- "error",
+ 2,
],
"react/no-render-return-value": [
2,
@@ -1982,10 +3268,10 @@ exports[`keeps rules stable 1`] = `
2,
],
"react/no-this-in-sfc": [
- "error",
+ 2,
],
"react/no-unescaped-entities": [
- "error",
+ 2,
{
"forbid": [
{
@@ -2007,19 +3293,19 @@ exports[`keeps rules stable 1`] = `
2,
],
"react/no-unsafe": [
- "error",
+ 2,
],
"react/no-unused-state": [
- "error",
+ 2,
],
"react/prefer-es6-class": [
- "error",
+ 2,
],
"react/prefer-read-only-props": [
- "error",
+ 2,
],
"react/prop-types": [
- "off",
+ 0,
],
"react/react-in-jsx-scope": [
2,
@@ -2028,308 +3314,295 @@ exports[`keeps rules stable 1`] = `
2,
],
"react/self-closing-comp": [
- "error",
+ 2,
],
"react/style-prop-object": [
- "error",
+ 2,
],
"require-await": [
- "off",
+ 0,
],
"require-yield": [
- "error",
+ 2,
],
"rest-spread-spacing": [
- "off",
+ 0,
],
"semi": [
- "off",
+ 0,
],
"semi-spacing": [
- "off",
+ 0,
],
"semi-style": [
- "off",
+ 0,
],
"sort-imports": [
- "error",
+ 2,
{
"allowSeparatedGroups": false,
"ignoreCase": true,
"ignoreDeclarationSort": true,
"ignoreMemberSort": false,
+ "memberSyntaxSortOrder": [
+ "none",
+ "all",
+ "multiple",
+ "single",
+ ],
},
],
"sort-keys": [
- "off",
+ 0,
+ "asc",
+ {
+ "allowLineSeparatedGroups": false,
+ "caseSensitive": true,
+ "ignoreComputedKeys": false,
+ "minKeys": 2,
+ "natural": false,
+ },
],
"space-after-function-name": [
- "off",
+ 0,
],
"space-after-keywords": [
- "off",
+ 0,
],
"space-before-blocks": [
- "off",
+ 0,
],
"space-before-function-paren": [
- "off",
+ 0,
],
"space-before-function-parentheses": [
- "off",
+ 0,
],
"space-before-keywords": [
- "off",
+ 0,
],
"space-in-brackets": [
- "off",
+ 0,
],
"space-in-parens": [
- "off",
+ 0,
],
"space-infix-ops": [
- "off",
+ 0,
],
"space-return-throw-case": [
- "off",
+ 0,
],
"space-unary-ops": [
- "off",
+ 0,
],
"space-unary-word-ops": [
- "off",
+ 0,
],
"standard/array-bracket-even-spacing": [
- "off",
+ 0,
],
"standard/computed-property-even-spacing": [
- "off",
+ 0,
],
"standard/object-curly-even-spacing": [
- "off",
+ 0,
],
"strict": [
- "error",
+ 2,
+ "safe",
],
"switch-case/newline-between-switch-case": [
- "warn",
+ 1,
"always",
{
"fallthrough": "never",
},
],
"switch-colon-spacing": [
- "off",
+ 0,
],
"symbol-description": [
- "error",
+ 2,
],
"template-curly-spacing": [
- "off",
+ 0,
],
"template-tag-spacing": [
- "off",
+ 0,
],
"unicorn/empty-brace-spaces": [
- "off",
+ 0,
],
"unicorn/no-nested-ternary": [
- "off",
+ 0,
],
"unicorn/number-literal-case": [
- "off",
+ 0,
],
"unicorn/template-indent": [
0,
],
"use-isnan": [
- "error",
+ 2,
+ {
+ "enforceForIndexOf": false,
+ "enforceForSwitchCase": true,
+ },
],
"valid-jsdoc": [
- "off",
+ 0,
{
"requireParamDescription": false,
- "requireParamType": true,
- "requireReturn": true,
"requireReturnDescription": false,
- "requireReturnType": true,
},
],
"valid-typeof": [
- "error",
+ 2,
{
"requireStringLiterals": true,
},
],
"vars-on-top": [
- "error",
+ 2,
],
"vue/array-bracket-newline": [
- "off",
+ 0,
],
"vue/array-bracket-spacing": [
- "off",
+ 0,
],
"vue/array-element-newline": [
- "off",
+ 0,
],
"vue/arrow-spacing": [
- "off",
+ 0,
],
"vue/block-spacing": [
- "off",
+ 0,
],
"vue/block-tag-newline": [
- "off",
+ 0,
],
"vue/brace-style": [
- "off",
+ 0,
],
"vue/comma-dangle": [
- "off",
+ 0,
],
"vue/comma-spacing": [
- "off",
+ 0,
],
"vue/comma-style": [
- "off",
+ 0,
],
"vue/dot-location": [
- "off",
+ 0,
],
"vue/func-call-spacing": [
- "off",
+ 0,
],
"vue/html-closing-bracket-newline": [
- "off",
+ 0,
],
"vue/html-closing-bracket-spacing": [
- "off",
+ 0,
],
"vue/html-end-tags": [
- "off",
+ 0,
],
"vue/html-indent": [
- "off",
+ 0,
],
"vue/html-quotes": [
- "off",
+ 0,
],
"vue/html-self-closing": [
0,
],
"vue/key-spacing": [
- "off",
+ 0,
],
"vue/keyword-spacing": [
- "off",
+ 0,
],
"vue/max-attributes-per-line": [
- "off",
+ 0,
],
"vue/max-len": [
0,
],
"vue/multiline-html-element-content-newline": [
- "off",
+ 0,
],
"vue/multiline-ternary": [
- "off",
+ 0,
],
"vue/mustache-interpolation-spacing": [
- "off",
+ 0,
],
"vue/no-extra-parens": [
- "off",
+ 0,
],
"vue/no-multi-spaces": [
- "off",
+ 0,
],
"vue/no-spaces-around-equal-signs-in-attribute": [
- "off",
+ 0,
],
"vue/object-curly-newline": [
- "off",
+ 0,
],
"vue/object-curly-spacing": [
- "off",
+ 0,
],
"vue/object-property-newline": [
- "off",
+ 0,
],
"vue/operator-linebreak": [
- "off",
+ 0,
],
"vue/quote-props": [
- "off",
+ 0,
],
"vue/script-indent": [
- "off",
+ 0,
],
"vue/singleline-html-element-content-newline": [
- "off",
+ 0,
],
"vue/space-in-parens": [
- "off",
+ 0,
],
"vue/space-infix-ops": [
- "off",
+ 0,
],
"vue/space-unary-ops": [
- "off",
+ 0,
],
"vue/template-curly-spacing": [
- "off",
+ 0,
],
"wrap-iife": [
- "off",
+ 0,
],
"wrap-regex": [
- "off",
+ 0,
],
"yield-star-spacing": [
- "off",
+ 0,
],
"yoda": [
- "error",
+ 2,
+ "never",
+ {
+ "exceptRange": false,
+ "onlyEquality": false,
+ },
],
},
"settings": {
- "import/extensions": [
- ".ts",
- ".cts",
- ".mts",
- ".tsx",
- ".js",
- ".jsx",
- ".mjs",
- ".cjs",
- ],
- "import/external-module-folders": [
- "node_modules",
- "node_modules/@types",
- ],
- "import/parsers": {
- "@typescript-eslint/parser": [
- ".ts",
- ".cts",
- ".mts",
- ".tsx",
- ],
- },
"import/resolver": {
- "node": {
- "extensions": [
- ".ts",
- ".cts",
- ".mts",
- ".tsx",
- ".js",
- ".jsx",
- ".mjs",
- ".cjs",
- ],
- },
"typescript": {
"alwaysTryTypes": true,
},
diff --git a/packages/eslint-config/test/__snapshots__/typescript-eslint.spec.js.snap b/packages/eslint-config/test/__snapshots__/typescript-eslint.spec.js.snap
index 8e6a2be..78c628a 100644
--- a/packages/eslint-config/test/__snapshots__/typescript-eslint.spec.js.snap
+++ b/packages/eslint-config/test/__snapshots__/typescript-eslint.spec.js.snap
@@ -2,528 +2,540 @@
exports[`plugin:@typescript-eslint/all if this test fails, the plugin probably added new rules. Please check which rules were added/changed and add them to our config when appropriate 1`] = `
{
- "env": {},
- "globals": {},
- "ignorePatterns": [],
- "noInlineConfig": undefined,
- "parser": "/node_modules/@typescript-eslint/parser/dist/index.js",
- "parserOptions": {
- "project": "/tsconfig.json",
+ "language": "@/js",
+ "languageOptions": {
+ "ecmaVersion": 2026,
+ "parser": "typescript-eslint/parser@8.26.0",
+ "parserOptions": {
+ "project": "/tsconfig.json",
+ },
"sourceType": "module",
},
+ "linterOptions": {
+ "reportUnusedDisableDirectives": 1,
+ },
"plugins": [
- "@typescript-eslint",
+ "@",
+ "@typescript-eslint:@typescript-eslint/eslint-plugin@8.26.0",
],
- "reportUnusedDisableDirectives": undefined,
+ "processor": undefined,
"rules": {
"@typescript-eslint/adjacent-overload-signatures": [
- "error",
+ 2,
],
"@typescript-eslint/array-type": [
- "error",
+ 2,
],
"@typescript-eslint/await-thenable": [
- "error",
+ 2,
],
"@typescript-eslint/ban-ts-comment": [
- "error",
+ 2,
],
"@typescript-eslint/ban-tslint-comment": [
- "error",
+ 2,
],
"@typescript-eslint/class-literal-property-style": [
- "error",
+ 2,
],
"@typescript-eslint/class-methods-use-this": [
- "error",
+ 2,
],
"@typescript-eslint/consistent-generic-constructors": [
- "error",
+ 2,
],
"@typescript-eslint/consistent-indexed-object-style": [
- "error",
+ 2,
],
"@typescript-eslint/consistent-return": [
- "error",
+ 2,
+ {
+ "treatUndefinedAsUnspecified": false,
+ },
],
"@typescript-eslint/consistent-type-assertions": [
- "error",
+ 2,
],
"@typescript-eslint/consistent-type-definitions": [
- "error",
+ 2,
],
"@typescript-eslint/consistent-type-exports": [
- "error",
+ 2,
],
"@typescript-eslint/consistent-type-imports": [
- "error",
+ 2,
],
"@typescript-eslint/default-param-last": [
- "error",
+ 2,
],
"@typescript-eslint/dot-notation": [
- "error",
+ 2,
+ {
+ "allowIndexSignaturePropertyAccess": false,
+ "allowKeywords": true,
+ "allowPattern": "",
+ "allowPrivateClassPropertyAccess": false,
+ "allowProtectedClassPropertyAccess": false,
+ },
],
"@typescript-eslint/explicit-function-return-type": [
- "error",
+ 2,
],
"@typescript-eslint/explicit-member-accessibility": [
- "error",
+ 2,
],
"@typescript-eslint/explicit-module-boundary-types": [
- "error",
+ 2,
],
"@typescript-eslint/init-declarations": [
- "error",
+ 2,
],
"@typescript-eslint/max-params": [
- "error",
+ 2,
],
"@typescript-eslint/member-ordering": [
- "error",
+ 2,
],
"@typescript-eslint/method-signature-style": [
- "error",
+ 2,
],
"@typescript-eslint/naming-convention": [
- "error",
+ 2,
],
"@typescript-eslint/no-array-constructor": [
- "error",
+ 2,
],
"@typescript-eslint/no-array-delete": [
- "error",
+ 2,
],
"@typescript-eslint/no-base-to-string": [
- "error",
+ 2,
],
"@typescript-eslint/no-confusing-non-null-assertion": [
- "error",
+ 2,
],
"@typescript-eslint/no-confusing-void-expression": [
- "error",
+ 2,
],
"@typescript-eslint/no-deprecated": [
- "error",
+ 2,
],
"@typescript-eslint/no-dupe-class-members": [
- "error",
+ 2,
],
"@typescript-eslint/no-duplicate-enum-values": [
- "error",
+ 2,
],
"@typescript-eslint/no-duplicate-type-constituents": [
- "error",
+ 2,
],
"@typescript-eslint/no-dynamic-delete": [
- "error",
+ 2,
],
"@typescript-eslint/no-empty-function": [
- "error",
+ 2,
+ {
+ "allow": [],
+ },
],
"@typescript-eslint/no-empty-object-type": [
- "error",
+ 2,
],
"@typescript-eslint/no-explicit-any": [
- "error",
+ 2,
],
"@typescript-eslint/no-extra-non-null-assertion": [
- "error",
+ 2,
],
"@typescript-eslint/no-extraneous-class": [
- "error",
+ 2,
],
"@typescript-eslint/no-floating-promises": [
- "error",
+ 2,
],
"@typescript-eslint/no-for-in-array": [
- "error",
+ 2,
],
"@typescript-eslint/no-implied-eval": [
- "error",
+ 2,
],
"@typescript-eslint/no-import-type-side-effects": [
- "error",
+ 2,
],
"@typescript-eslint/no-inferrable-types": [
- "error",
+ 2,
],
"@typescript-eslint/no-invalid-this": [
- "error",
+ 2,
+ {
+ "capIsConstructor": true,
+ },
],
"@typescript-eslint/no-invalid-void-type": [
- "error",
+ 2,
],
"@typescript-eslint/no-loop-func": [
- "error",
+ 2,
],
"@typescript-eslint/no-magic-numbers": [
- "error",
+ 2,
],
"@typescript-eslint/no-meaningless-void-operator": [
- "error",
+ 2,
],
"@typescript-eslint/no-misused-new": [
- "error",
+ 2,
],
"@typescript-eslint/no-misused-promises": [
- "error",
+ 2,
],
"@typescript-eslint/no-misused-spread": [
- "error",
+ 2,
],
"@typescript-eslint/no-mixed-enums": [
- "error",
+ 2,
],
"@typescript-eslint/no-namespace": [
- "error",
+ 2,
],
"@typescript-eslint/no-non-null-asserted-nullish-coalescing": [
- "error",
+ 2,
],
"@typescript-eslint/no-non-null-asserted-optional-chain": [
- "error",
+ 2,
],
"@typescript-eslint/no-non-null-assertion": [
- "error",
+ 2,
],
"@typescript-eslint/no-redeclare": [
- "error",
+ 2,
],
"@typescript-eslint/no-redundant-type-constituents": [
- "error",
+ 2,
],
"@typescript-eslint/no-require-imports": [
- "error",
+ 2,
],
"@typescript-eslint/no-restricted-imports": [
- "error",
+ 2,
],
"@typescript-eslint/no-restricted-types": [
- "error",
+ 2,
],
"@typescript-eslint/no-shadow": [
- "error",
+ 2,
],
"@typescript-eslint/no-this-alias": [
- "error",
+ 2,
],
"@typescript-eslint/no-unnecessary-boolean-literal-compare": [
- "error",
+ 2,
],
"@typescript-eslint/no-unnecessary-condition": [
- "error",
+ 2,
],
"@typescript-eslint/no-unnecessary-parameter-property-assignment": [
- "error",
+ 2,
],
"@typescript-eslint/no-unnecessary-qualifier": [
- "error",
+ 2,
],
"@typescript-eslint/no-unnecessary-template-expression": [
- "error",
+ 2,
],
"@typescript-eslint/no-unnecessary-type-arguments": [
- "error",
+ 2,
],
"@typescript-eslint/no-unnecessary-type-assertion": [
- "error",
+ 2,
],
"@typescript-eslint/no-unnecessary-type-constraint": [
- "error",
+ 2,
],
"@typescript-eslint/no-unnecessary-type-parameters": [
- "error",
+ 2,
],
"@typescript-eslint/no-unsafe-argument": [
- "error",
+ 2,
],
"@typescript-eslint/no-unsafe-assignment": [
- "error",
+ 2,
],
"@typescript-eslint/no-unsafe-call": [
- "error",
+ 2,
],
"@typescript-eslint/no-unsafe-declaration-merging": [
- "error",
+ 2,
],
"@typescript-eslint/no-unsafe-enum-comparison": [
- "error",
+ 2,
],
"@typescript-eslint/no-unsafe-function-type": [
- "error",
+ 2,
],
"@typescript-eslint/no-unsafe-member-access": [
- "error",
+ 2,
],
"@typescript-eslint/no-unsafe-return": [
- "error",
+ 2,
],
"@typescript-eslint/no-unsafe-type-assertion": [
- "error",
+ 2,
],
"@typescript-eslint/no-unsafe-unary-minus": [
- "error",
+ 2,
],
"@typescript-eslint/no-unused-expressions": [
- "error",
+ 2,
+ {
+ "allowShortCircuit": false,
+ "allowTaggedTemplates": false,
+ "allowTernary": false,
+ },
],
"@typescript-eslint/no-unused-vars": [
- "error",
+ 2,
],
"@typescript-eslint/no-use-before-define": [
- "error",
+ 2,
],
"@typescript-eslint/no-useless-constructor": [
- "error",
+ 2,
],
"@typescript-eslint/no-useless-empty-export": [
- "error",
+ 2,
],
"@typescript-eslint/no-wrapper-object-types": [
- "error",
+ 2,
],
"@typescript-eslint/non-nullable-type-assertion-style": [
- "error",
+ 2,
],
"@typescript-eslint/only-throw-error": [
- "error",
+ 2,
],
"@typescript-eslint/parameter-properties": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-as-const": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-destructuring": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-enum-initializers": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-find": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-for-of": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-function-type": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-includes": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-literal-enum-member": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-namespace-keyword": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-nullish-coalescing": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-optional-chain": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-promise-reject-errors": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-readonly": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-readonly-parameter-types": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-reduce-type-parameter": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-regexp-exec": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-return-this-type": [
- "error",
+ 2,
],
"@typescript-eslint/prefer-string-starts-ends-with": [
- "error",
+ 2,
],
"@typescript-eslint/promise-function-async": [
- "error",
+ 2,
],
"@typescript-eslint/related-getter-setter-pairs": [
- "error",
+ 2,
],
"@typescript-eslint/require-array-sort-compare": [
- "error",
+ 2,
],
"@typescript-eslint/require-await": [
- "error",
+ 2,
],
"@typescript-eslint/restrict-plus-operands": [
- "error",
+ 2,
],
"@typescript-eslint/restrict-template-expressions": [
- "error",
+ 2,
],
"@typescript-eslint/return-await": [
- "error",
+ 2,
],
"@typescript-eslint/strict-boolean-expressions": [
- "error",
+ 2,
],
"@typescript-eslint/switch-exhaustiveness-check": [
- "error",
+ 2,
],
"@typescript-eslint/triple-slash-reference": [
- "error",
+ 2,
],
"@typescript-eslint/typedef": [
- "error",
+ 2,
],
"@typescript-eslint/unbound-method": [
- "error",
+ 2,
],
"@typescript-eslint/unified-signatures": [
- "error",
+ 2,
],
"@typescript-eslint/use-unknown-in-catch-callback-variable": [
- "error",
+ 2,
],
"class-methods-use-this": [
- "off",
+ 0,
+ {
+ "enforceForClassFields": true,
+ "exceptMethods": [],
+ "ignoreOverrideMethods": false,
+ },
],
"consistent-return": [
- "off",
- ],
- "constructor-super": [
- "off",
+ 0,
+ {
+ "treatUndefinedAsUnspecified": false,
+ },
],
"default-param-last": [
- "off",
+ 0,
],
"dot-notation": [
- "off",
- ],
- "getter-return": [
- "off",
+ 0,
+ {
+ "allowKeywords": true,
+ "allowPattern": "",
+ },
],
"init-declarations": [
- "off",
+ 0,
],
"max-params": [
- "off",
+ 0,
],
"no-array-constructor": [
- "off",
- ],
- "no-class-assign": [
- "off",
- ],
- "no-const-assign": [
- "off",
- ],
- "no-dupe-args": [
- "off",
+ 0,
],
"no-dupe-class-members": [
- "off",
- ],
- "no-dupe-keys": [
- "off",
+ 0,
],
"no-empty-function": [
- "off",
- ],
- "no-func-assign": [
- "off",
+ 0,
+ {
+ "allow": [],
+ },
],
"no-implied-eval": [
- "off",
- ],
- "no-import-assign": [
- "off",
+ 0,
],
"no-invalid-this": [
- "off",
+ 0,
+ {
+ "capIsConstructor": true,
+ },
],
"no-loop-func": [
- "off",
+ 0,
],
"no-magic-numbers": [
- "off",
- ],
- "no-new-native-nonconstructor": [
- "off",
- ],
- "no-new-symbol": [
- "off",
- ],
- "no-obj-calls": [
- "off",
+ 0,
],
"no-redeclare": [
- "off",
+ 0,
+ {
+ "builtinGlobals": true,
+ },
],
"no-restricted-imports": [
- "off",
+ 0,
],
"no-return-await": [
- "off",
- ],
- "no-setter-return": [
- "off",
+ 0,
],
"no-shadow": [
- "off",
- ],
- "no-this-before-super": [
- "off",
+ 0,
+ {
+ "allow": [],
+ "builtinGlobals": false,
+ "hoist": "functions",
+ "ignoreFunctionTypeParameterNameValueShadow": true,
+ "ignoreOnInitialization": false,
+ "ignoreTypeValueShadow": true,
+ },
],
"no-throw-literal": [
- "off",
- ],
- "no-undef": [
- "off",
- ],
- "no-unreachable": [
- "off",
- ],
- "no-unsafe-negation": [
- "off",
+ 0,
],
"no-unused-expressions": [
- "off",
+ 0,
+ {
+ "allowShortCircuit": false,
+ "allowTaggedTemplates": false,
+ "allowTernary": false,
+ "enforceForJSX": false,
+ "ignoreDirectives": false,
+ },
],
"no-unused-vars": [
- "off",
+ 0,
],
"no-use-before-define": [
- "off",
+ 0,
+ {
+ "allowNamedExports": false,
+ "classes": true,
+ "enums": true,
+ "functions": true,
+ "ignoreTypeReferences": true,
+ "typedefs": true,
+ "variables": true,
+ },
],
"no-useless-constructor": [
- "off",
- ],
- "no-var": [
- "error",
- ],
- "prefer-const": [
- "error",
+ 0,
],
"prefer-destructuring": [
- "off",
+ 0,
],
"prefer-promise-reject-errors": [
- "off",
- ],
- "prefer-rest-params": [
- "error",
- ],
- "prefer-spread": [
- "error",
+ 0,
+ {
+ "allowEmptyReject": false,
+ },
],
"require-await": [
- "off",
+ 0,
],
},
- "settings": {},
}
`;
diff --git a/packages/eslint-config/test/d.ts.spec.js b/packages/eslint-config/test/d.ts.spec.js
index 1545a52..7688fe3 100644
--- a/packages/eslint-config/test/d.ts.spec.js
+++ b/packages/eslint-config/test/d.ts.spec.js
@@ -1,23 +1,29 @@
-const { join } = require('path');
+import { join } from 'path';
+import { fileURLToPath } from 'url';
-const { getTSEslint } = require('./getEslint');
+import { getTSEslint } from './getEslint.js';
+
+const __dirname = fileURLToPath(new URL('.', import.meta.url));
const fileName = join(__dirname, '__fixtures__', 'file_d.d.ts');
it('keeps rules stable', async () => {
- const output = await getTSEslint().calculateConfigForFile(fileName);
+ const eslint = await getTSEslint();
+ const output = await eslint.calculateConfigForFile(fileName);
expect(output).toMatchSnapshot();
});
it('checks that the rules are working', async () => {
- const [result] = await getTSEslint().lintFiles([fileName]);
+ const eslint = await getTSEslint();
+ const [result] = await eslint.lintFiles([fileName]);
expect(result.messages).toEqual([]);
});
it('checks for rule deprecations', async () => {
- const [result] = await getTSEslint().lintFiles([fileName]);
+ const eslint = await getTSEslint();
+ const [result] = await eslint.lintFiles([fileName]);
expect(result.usedDeprecatedRules).toMatchInlineSnapshot(`[]`);
});
diff --git a/packages/eslint-config/test/eslint-serializer.js b/packages/eslint-config/test/eslint-serializer.js
index 07a2098..84e55cc 100644
--- a/packages/eslint-config/test/eslint-serializer.js
+++ b/packages/eslint-config/test/eslint-serializer.js
@@ -1,4 +1,4 @@
-module.exports = {
+export default {
print(value, serialize) {
return serialize(value.replace(process.cwd(), ''));
},
diff --git a/packages/eslint-config/test/getEslint.js b/packages/eslint-config/test/getEslint.js
index 0d62cb9..82494c5 100644
--- a/packages/eslint-config/test/getEslint.js
+++ b/packages/eslint-config/test/getEslint.js
@@ -1,31 +1,32 @@
/* eslint-env node, jest */
-const { ESLint } = require('eslint');
-const { join } = require('path');
+import { ESLint } from 'eslint';
+import { join } from 'path';
+import { fileURLToPath } from 'url';
-const eslintSerializer = require('./eslint-serializer');
+import eslintConfig from '../index.js';
-expect.addSnapshotSerializer(eslintSerializer);
+const __dirname = fileURLToPath(new URL('.', import.meta.url));
+
+async function getEslint(additionalConfig = []) {
+ // Wait for the config promise to resolve
+ const baseConfig = await eslintConfig;
-function getEslint(config = {}) {
return new ESLint({
- cwd: process.cwd(),
- overrideConfig: {
- ...config,
- },
- overrideConfigFile: join(__dirname, '..', 'index.js'),
- resolvePluginsRelativeTo: process.cwd(),
- useEslintrc: false,
+ overrideConfigFile: true, // Don't look for config files
+ baseConfig: [...baseConfig, ...additionalConfig],
});
}
-const getTSEslint = () =>
- getEslint({
- parserOptions: {
- project: join(__dirname, '__fixtures__', 'tsconfig.json'),
+async function getTSEslint() {
+ return getEslint([
+ {
+ languageOptions: {
+ parserOptions: {
+ project: join(__dirname, '__fixtures__', 'tsconfig.json'),
+ },
+ },
},
- });
+ ]);
+}
-module.exports = {
- getEslint: () => getEslint(),
- getTSEslint,
-};
+export { getEslint, getTSEslint };
diff --git a/packages/eslint-config/test/js.spec.js b/packages/eslint-config/test/js.spec.js
index 39b0fae..f6206b6 100644
--- a/packages/eslint-config/test/js.spec.js
+++ b/packages/eslint-config/test/js.spec.js
@@ -1,23 +1,32 @@
-const { join } = require('path');
+import { join } from 'path';
+import { fileURLToPath } from 'url';
-const { getEslint } = require('./getEslint');
+import eslintSerializer from './eslint-serializer.js';
+import { getEslint } from './getEslint.js';
+
+const __dirname = fileURLToPath(new URL('.', import.meta.url));
+
+expect.addSnapshotSerializer(eslintSerializer);
const fileName = join(__dirname, '__fixtures__', 'file_js.js');
it('keeps rules stable', async () => {
- const output = await getEslint().calculateConfigForFile(fileName);
+ const eslint = await getEslint();
+ const output = await eslint.calculateConfigForFile(fileName);
expect(output).toMatchSnapshot();
});
it('checks that the rules are working', async () => {
- const [result] = await getEslint().lintFiles([fileName]);
+ const eslint = await getEslint();
+ const [result] = await eslint.lintFiles([fileName]);
expect(result.messages).toEqual([]);
});
it('checks for rule deprecations', async () => {
- const [result] = await getEslint().lintFiles([fileName]);
+ const eslint = await getEslint();
+ const [result] = await eslint.lintFiles([fileName]);
expect(result.usedDeprecatedRules).toMatchInlineSnapshot(`[]`);
});
diff --git a/packages/eslint-config/test/jsx.spec.js b/packages/eslint-config/test/jsx.spec.js
index 543efac..bb66d19 100644
--- a/packages/eslint-config/test/jsx.spec.js
+++ b/packages/eslint-config/test/jsx.spec.js
@@ -1,23 +1,29 @@
-const { join } = require('path');
+import { join } from 'path';
+import { fileURLToPath } from 'url';
-const { getEslint } = require('./getEslint');
+import { getEslint } from './getEslint.js';
+
+const __dirname = fileURLToPath(new URL('.', import.meta.url));
const fileName = join(__dirname, '__fixtures__', 'file_jsx.jsx');
it('keeps rules stable', async () => {
- const output = await getEslint().calculateConfigForFile(fileName);
+ const eslint = await getEslint();
+ const output = await eslint.calculateConfigForFile(fileName);
expect(output).toMatchSnapshot();
});
it('checks that the rules are working', async () => {
- const [result] = await getEslint().lintFiles([fileName]);
+ const eslint = await getEslint();
+ const [result] = await eslint.lintFiles([fileName]);
expect(result.messages).toEqual([]);
});
it('checks for rule deprecations', async () => {
- const [result] = await getEslint().lintFiles([fileName]);
+ const eslint = await getEslint();
+ const [result] = await eslint.lintFiles([fileName]);
expect(result.usedDeprecatedRules).toMatchInlineSnapshot(`[]`);
});
diff --git a/packages/eslint-config/test/spec.spec.js b/packages/eslint-config/test/spec.spec.js
index de1dbc5..673a189 100644
--- a/packages/eslint-config/test/spec.spec.js
+++ b/packages/eslint-config/test/spec.spec.js
@@ -1,23 +1,29 @@
-const { join } = require('path');
+import { join } from 'path';
+import { fileURLToPath } from 'url';
-const { getEslint } = require('./getEslint');
+import { getEslint } from './getEslint.js';
+
+const __dirname = fileURLToPath(new URL('.', import.meta.url));
const fileName = join(__dirname, '__fixtures__', 'file_spec.spec.js');
it('keeps rules stable', async () => {
- const output = await getEslint().calculateConfigForFile(fileName);
+ const eslint = await getEslint();
+ const output = await eslint.calculateConfigForFile(fileName);
expect(output).toMatchSnapshot();
});
it('checks that the rules are working', async () => {
- const [result] = await getEslint().lintFiles([fileName]);
+ const eslint = await getEslint();
+ const [result] = await eslint.lintFiles([fileName]);
expect(result.messages).toEqual([]);
});
it('checks for rule deprecations', async () => {
- const [result] = await getEslint().lintFiles([fileName]);
+ const eslint = await getEslint();
+ const [result] = await eslint.lintFiles([fileName]);
expect(result.usedDeprecatedRules).toMatchInlineSnapshot(`[]`);
});
diff --git a/packages/eslint-config/test/ts.spec.js b/packages/eslint-config/test/ts.spec.js
index 2233d83..16ca156 100644
--- a/packages/eslint-config/test/ts.spec.js
+++ b/packages/eslint-config/test/ts.spec.js
@@ -1,23 +1,29 @@
-const { join } = require('path');
+import { join } from 'path';
+import { fileURLToPath } from 'url';
-const { getTSEslint } = require('./getEslint');
+import { getTSEslint } from './getEslint.js';
+
+const __dirname = fileURLToPath(new URL('.', import.meta.url));
const fileName = join(__dirname, '__fixtures__', 'file_ts.ts');
it('keeps rules stable', async () => {
- const output = await getTSEslint().calculateConfigForFile(fileName);
+ const eslint = await getTSEslint();
+ const output = await eslint.calculateConfigForFile(fileName);
expect(output).toMatchSnapshot();
});
it('checks that the rules are working', async () => {
- const [result] = await getTSEslint().lintFiles([fileName]);
+ const eslint = await getTSEslint();
+ const [result] = await eslint.lintFiles([fileName]);
expect(result.messages).toEqual([]);
});
it('checks for rule deprecations', async () => {
- const [result] = await getTSEslint().lintFiles([fileName]);
+ const eslint = await getTSEslint();
+ const [result] = await eslint.lintFiles([fileName]);
expect(result.usedDeprecatedRules).toMatchInlineSnapshot(`[]`);
});
diff --git a/packages/eslint-config/test/tsx.spec.js b/packages/eslint-config/test/tsx.spec.js
index 3ce48d5..4ac2f19 100644
--- a/packages/eslint-config/test/tsx.spec.js
+++ b/packages/eslint-config/test/tsx.spec.js
@@ -1,23 +1,29 @@
-const { join } = require('path');
+import { join } from 'path';
+import { fileURLToPath } from 'url';
-const { getTSEslint } = require('./getEslint');
+import { getTSEslint } from './getEslint.js';
+
+const __dirname = fileURLToPath(new URL('.', import.meta.url));
const fileName = join(__dirname, '__fixtures__', 'file_tsx.tsx');
it('keeps rules stable', async () => {
- const output = await getTSEslint().calculateConfigForFile(fileName);
+ const eslint = await getTSEslint();
+ const output = await eslint.calculateConfigForFile(fileName);
expect(output).toMatchSnapshot();
});
it('checks that the rules are working', async () => {
- const [result] = await getTSEslint().lintFiles([fileName]);
+ const eslint = await getTSEslint();
+ const [result] = await eslint.lintFiles([fileName]);
expect(result.messages).toEqual([]);
});
it('checks for rule deprecations', async () => {
- const [result] = await getTSEslint().lintFiles([fileName]);
+ const eslint = await getTSEslint();
+ const [result] = await eslint.lintFiles([fileName]);
expect(result.usedDeprecatedRules).toMatchInlineSnapshot(`[]`);
});
diff --git a/packages/eslint-config/test/typescript-eslint.spec.js b/packages/eslint-config/test/typescript-eslint.spec.js
index 1e7693f..8f23de7 100644
--- a/packages/eslint-config/test/typescript-eslint.spec.js
+++ b/packages/eslint-config/test/typescript-eslint.spec.js
@@ -1,27 +1,42 @@
-const { ESLint } = require('eslint');
-const { join } = require('path');
+import tseslint from '@typescript-eslint/eslint-plugin';
+import tsParser from '@typescript-eslint/parser';
+import { ESLint } from 'eslint';
+import { join } from 'path';
+import { fileURLToPath } from 'url';
-const eslintSerializer = require('./eslint-serializer');
+import eslintSerializer from './eslint-serializer.js';
+
+const __dirname = fileURLToPath(new URL('.', import.meta.url));
expect.addSnapshotSerializer(eslintSerializer);
-function getEslint() {
+async function getEslint() {
return new ESLint({
- cwd: process.cwd(),
- overrideConfig: {
- extends: ['plugin:@typescript-eslint/all'],
- parserOptions: {
- project: join(process.cwd(), 'tsconfig.json'),
+ overrideConfigFile: true,
+ baseConfig: [
+ {
+ files: ['**/*.ts'],
+ languageOptions: {
+ parser: tsParser,
+ parserOptions: {
+ project: join(process.cwd(), 'tsconfig.json'),
+ },
+ },
+ plugins: {
+ '@typescript-eslint': tseslint,
+ },
+ rules: {
+ ...tseslint.configs.all.rules,
+ },
},
- },
- resolvePluginsRelativeTo: process.cwd(),
- useEslintrc: false,
+ ],
});
}
describe('plugin:@typescript-eslint/all', () => {
it('if this test fails, the plugin probably added new rules. Please check which rules were added/changed and add them to our config when appropriate', async () => {
- const output = await getEslint().calculateConfigForFile(join(__dirname, 'file.ts'));
+ const eslint = await getEslint();
+ const output = await eslint.calculateConfigForFile(join(__dirname, 'file.ts'));
expect(output).toMatchSnapshot();
});
diff --git a/packages/eslint-config/utils/index.js b/packages/eslint-config/utils/index.js
index dd00cc5..378fdf9 100644
--- a/packages/eslint-config/utils/index.js
+++ b/packages/eslint-config/utils/index.js
@@ -1,13 +1,11 @@
-function hasPackage(pkgName) {
+export async function hasPackage(pkgName) {
try {
- require.resolve(pkgName, { paths: [process.cwd()] });
+ // In ES modules, we try to resolve the package from the current working directory
+ // Note: import.meta.resolve is experimental, so we'll use dynamic import instead
+ await import(pkgName);
return true;
- } catch (e) {
+ } catch {
return false;
}
}
-
-module.exports = {
- hasPackage,
-};
diff --git a/packages/eslint-plugin/index.js b/packages/eslint-plugin/index.js
index 48b972c..c0cdb00 100644
--- a/packages/eslint-plugin/index.js
+++ b/packages/eslint-plugin/index.js
@@ -1,17 +1,30 @@
-const jsxShortCircuitConditionals = require('./rules/jsx-short-circuit-conditionals');
+import tsParser from '@typescript-eslint/parser';
-module.exports = {
- configs: {
- recommended: {
- parser: '@typescript-eslint/parser',
- parserOptions: { sourceType: 'module' },
- plugins: ['@bigcommerce'],
- rules: {
- '@bigcommerce/jsx-short-circuit-conditionals': 'error',
- },
- },
- },
+import jsxShortCircuitConditionals from './rules/jsx-short-circuit-conditionals.js';
+
+const plugin = {
+ configs: {},
rules: {
'jsx-short-circuit-conditionals': jsxShortCircuitConditionals,
},
};
+
+// Add recommended config in flat config format
+plugin.configs.recommended = [
+ {
+ languageOptions: {
+ parser: tsParser,
+ parserOptions: {
+ sourceType: 'module',
+ },
+ },
+ plugins: {
+ '@bigcommerce': plugin,
+ },
+ rules: {
+ '@bigcommerce/jsx-short-circuit-conditionals': 'error',
+ },
+ },
+];
+
+export default plugin;
diff --git a/packages/eslint-plugin/package.json b/packages/eslint-plugin/package.json
index bb892f8..d59139c 100644
--- a/packages/eslint-plugin/package.json
+++ b/packages/eslint-plugin/package.json
@@ -16,9 +16,10 @@
"dependencies": {
"tsutils": "^3.21.0"
},
+ "type": "module",
"peerDependencies": {
"@typescript-eslint/parser": "^8.0.0",
- "eslint": "^8.0.0",
+ "eslint": "^9.0.0",
"typescript": "^4.0.0 || ^5.0.0"
},
"devDependencies": {
diff --git a/packages/eslint-plugin/rules/jsx-short-circuit-conditionals.js b/packages/eslint-plugin/rules/jsx-short-circuit-conditionals.js
index 1dab6ce..f979cee 100644
--- a/packages/eslint-plugin/rules/jsx-short-circuit-conditionals.js
+++ b/packages/eslint-plugin/rules/jsx-short-circuit-conditionals.js
@@ -1,18 +1,17 @@
-/* eslint-disable sort-keys */
-const tsutils = require('tsutils');
-const ts = require('typescript');
+import tsutils from 'tsutils';
+import ts from 'typescript';
-module.exports = {
+export default {
name: 'jsx-short-circuit-conditionals',
meta: {
type: 'problem',
fixable: true,
hasSuggestions: true,
- },
- docs: {
- description: 'Disallows usage of string / number while short-circuiting jsx',
- suggestion: true,
- recommended: true,
+ schema: [], // No options for this rule
+ docs: {
+ description: 'Disallows usage of string / number while short-circuiting jsx',
+ recommended: true,
+ },
},
create(context) {
const { parserServices } = context.sourceCode;
@@ -27,12 +26,10 @@ module.exports = {
const suggestions = [
{
desc: `Make it a boolean by casting it: Boolean(${targetNode.name})`,
- fix: (fixer) => {
- return [
- fixer.insertTextBefore(targetNode, `Boolean(`),
- fixer.insertTextAfter(targetNode, ')'),
- ];
- },
+ fix: (fixer) => [
+ fixer.insertTextBefore(targetNode, `Boolean(`),
+ fixer.insertTextAfter(targetNode, ')'),
+ ],
},
];
diff --git a/packages/eslint-plugin/tests/jsx-short-circuit-conditionals.spec.js b/packages/eslint-plugin/tests/jsx-short-circuit-conditionals.spec.js
index 8d4195d..a0b0146 100644
--- a/packages/eslint-plugin/tests/jsx-short-circuit-conditionals.spec.js
+++ b/packages/eslint-plugin/tests/jsx-short-circuit-conditionals.spec.js
@@ -1,9 +1,13 @@
-/* eslint-disable sort-keys */
-/* eslint-disable-next-line import/no-unresolved */
-const { RuleTester } = require('@typescript-eslint/rule-tester');
-const endent = require('endent').default;
+import { RuleTester } from '@typescript-eslint/rule-tester';
+import edentImport from 'endent';
+import { dirname } from 'path';
+import { fileURLToPath } from 'url';
-const rule = require('../rules/jsx-short-circuit-conditionals');
+import rule from '../rules/jsx-short-circuit-conditionals.js';
+
+const endent = edentImport.default || edentImport;
+
+const __dirname = dirname(fileURLToPath(import.meta.url));
const ruleTester = new RuleTester({
languageOptions: {
diff --git a/tsconfig.json b/tsconfig.json
new file mode 100644
index 0000000..03270c6
--- /dev/null
+++ b/tsconfig.json
@@ -0,0 +1,15 @@
+{
+ "compilerOptions": {
+ "target": "ES2020",
+ "module": "ES2020",
+ "lib": ["ES2020"],
+ "jsx": "react",
+ "strict": true,
+ "esModuleInterop": true,
+ "skipLibCheck": true,
+ "forceConsistentCasingInFileNames": true,
+ "moduleResolution": "node"
+ },
+ "include": ["packages/*/test/**/*", "packages/*/tests/**/*"],
+ "exclude": ["node_modules"]
+}
diff --git a/yarn.lock b/yarn.lock
index 43c20ff..3303ae6 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -420,56 +420,103 @@
esquery "^1.6.0"
jsdoc-type-pratt-parser "~4.1.0"
-"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0":
+"@eslint-community/eslint-utils@^4.4.0":
version "4.4.1"
resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz#d1145bf2c20132d6400495d6df4bf59362fd9d56"
integrity sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==
dependencies:
eslint-visitor-keys "^3.4.3"
-"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.6.1":
+"@eslint-community/eslint-utils@^4.8.0":
+ version "4.9.0"
+ resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz#7308df158e064f0dd8b8fdb58aa14fa2a7f913b3"
+ integrity sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==
+ dependencies:
+ eslint-visitor-keys "^3.4.3"
+
+"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.12.1":
version "4.12.1"
resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.1.tgz#cfc6cffe39df390a3841cde2abccf92eaa7ae0e0"
integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==
-"@eslint/eslintrc@^2.1.4":
- version "2.1.4"
- resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad"
- integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==
+"@eslint/config-array@^0.21.1":
+ version "0.21.1"
+ resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.21.1.tgz#7d1b0060fea407f8301e932492ba8c18aff29713"
+ integrity sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==
+ dependencies:
+ "@eslint/object-schema" "^2.1.7"
+ debug "^4.3.1"
+ minimatch "^3.1.2"
+
+"@eslint/config-helpers@^0.4.1":
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/@eslint/config-helpers/-/config-helpers-0.4.1.tgz#7d173a1a35fe256f0989a0fdd8d911ebbbf50037"
+ integrity sha512-csZAzkNhsgwb0I/UAV6/RGFTbiakPCf0ZrGmrIxQpYvGZ00PhTkSnyKNolphgIvmnJeGw6rcGVEXfTzUnFuEvw==
+ dependencies:
+ "@eslint/core" "^0.16.0"
+
+"@eslint/core@^0.16.0":
+ version "0.16.0"
+ resolved "https://registry.yarnpkg.com/@eslint/core/-/core-0.16.0.tgz#490254f275ba9667ddbab344f4f0a6b7a7bd7209"
+ integrity sha512-nmC8/totwobIiFcGkDza3GIKfAw1+hLiYVrh3I1nIomQ8PEr5cxg34jnkmGawul/ep52wGRAcyeDCNtWKSOj4Q==
+ dependencies:
+ "@types/json-schema" "^7.0.15"
+
+"@eslint/eslintrc@^3.3.1":
+ version "3.3.1"
+ resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-3.3.1.tgz#e55f7f1dd400600dd066dbba349c4c0bac916964"
+ integrity sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==
dependencies:
ajv "^6.12.4"
debug "^4.3.2"
- espree "^9.6.0"
- globals "^13.19.0"
+ espree "^10.0.1"
+ globals "^14.0.0"
ignore "^5.2.0"
import-fresh "^3.2.1"
js-yaml "^4.1.0"
minimatch "^3.1.2"
strip-json-comments "^3.1.1"
-"@eslint/js@8.57.1":
- version "8.57.1"
- resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.1.tgz#de633db3ec2ef6a3c89e2f19038063e8a122e2c2"
- integrity sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==
+"@eslint/js@9.38.0", "@eslint/js@^9.0.0":
+ version "9.38.0"
+ resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.38.0.tgz#f7aa9c7577577f53302c1d795643589d7709ebd1"
+ integrity sha512-UZ1VpFvXf9J06YG9xQBdnzU+kthors6KjhMAl6f4gH4usHyh31rUf2DLGInT8RFYIReYXNSydgPY0V2LuWgl7A==
+
+"@eslint/object-schema@^2.1.7":
+ version "2.1.7"
+ resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.7.tgz#6e2126a1347e86a4dedf8706ec67ff8e107ebbad"
+ integrity sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==
-"@humanwhocodes/config-array@^0.13.0":
- version "0.13.0"
- resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.13.0.tgz#fb907624df3256d04b9aa2df50d7aa97ec648748"
- integrity sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==
+"@eslint/plugin-kit@^0.4.0":
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.4.0.tgz#f6a245b42886abf6fc9c7ab7744a932250335ab2"
+ integrity sha512-sB5uyeq+dwCWyPi31B2gQlVlo+j5brPlWx4yZBrEaRo/nhdDE8Xke1gsGgtiBdaBTxuTkceLVuVt/pclrasb0A==
dependencies:
- "@humanwhocodes/object-schema" "^2.0.3"
- debug "^4.3.1"
- minimatch "^3.0.5"
+ "@eslint/core" "^0.16.0"
+ levn "^0.4.1"
+
+"@humanfs/core@^0.19.1":
+ version "0.19.1"
+ resolved "https://registry.yarnpkg.com/@humanfs/core/-/core-0.19.1.tgz#17c55ca7d426733fe3c561906b8173c336b40a77"
+ integrity sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==
+
+"@humanfs/node@^0.16.6":
+ version "0.16.7"
+ resolved "https://registry.yarnpkg.com/@humanfs/node/-/node-0.16.7.tgz#822cb7b3a12c5a240a24f621b5a2413e27a45f26"
+ integrity sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==
+ dependencies:
+ "@humanfs/core" "^0.19.1"
+ "@humanwhocodes/retry" "^0.4.0"
"@humanwhocodes/module-importer@^1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c"
integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==
-"@humanwhocodes/object-schema@^2.0.3":
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3"
- integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==
+"@humanwhocodes/retry@^0.4.0", "@humanwhocodes/retry@^0.4.2":
+ version "0.4.3"
+ resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.4.3.tgz#c2b9d2e374ee62c586d3adbea87199b1d7a7a6ba"
+ integrity sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==
"@hutson/parse-repository-url@^3.0.0":
version "3.0.2"
@@ -831,7 +878,7 @@
resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
-"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8":
+"@nodelib/fs.walk@^1.2.3":
version "1.2.8"
resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
@@ -1193,11 +1240,6 @@
resolved "https://registry.yarnpkg.com/@rtsao/scc/-/scc-1.1.0.tgz#927dd2fae9bc3361403ac2c7a00c32ddce9ad7e8"
integrity sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==
-"@rushstack/eslint-patch@^1.10.5":
- version "1.10.5"
- resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.10.5.tgz#3a1c12c959010a55c17d46b395ed3047b545c246"
- integrity sha512-kkKUDVlII2DQiKy7UstOR1ErJP8kUKAQ4oa+SQtM0K+lPdmmjj0YnnxBgtTVYH7mUKtbsxeFC9y0AmK7Yb78/A==
-
"@sigstore/bundle@^2.3.2":
version "2.3.2"
resolved "https://registry.yarnpkg.com/@sigstore/bundle/-/bundle-2.3.2.tgz#ad4dbb95d665405fd4a7a02c8a073dbd01e4e95e"
@@ -1347,6 +1389,11 @@
dependencies:
"@babel/types" "^7.3.0"
+"@types/estree@^1.0.6":
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.8.tgz#958b91c991b1867ced318bedea0e215ee050726e"
+ integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==
+
"@types/graceful-fs@^4.1.3":
version "4.1.9"
resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4"
@@ -1373,6 +1420,11 @@
dependencies:
"@types/istanbul-lib-report" "*"
+"@types/json-schema@^7.0.15":
+ version "7.0.15"
+ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841"
+ integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==
+
"@types/json5@^0.0.29":
version "0.0.29"
resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
@@ -1509,11 +1561,6 @@
"@typescript-eslint/types" "8.26.0"
eslint-visitor-keys "^4.2.0"
-"@ungap/structured-clone@^1.2.0":
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406"
- integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==
-
"@yarnpkg/lockfile@^1.1.0":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31"
@@ -1552,11 +1599,16 @@ acorn-jsx@^5.3.2:
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
-acorn@^8.14.0, acorn@^8.9.0:
+acorn@^8.14.0:
version "8.14.0"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.0.tgz#063e2c70cac5fb4f6467f0b11152e04c682795b0"
integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==
+acorn@^8.15.0:
+ version "8.15.0"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.15.0.tgz#a360898bc415edaac46c8241f6383975b930b816"
+ integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==
+
add-stream@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa"
@@ -2389,7 +2441,7 @@ create-jest@^29.7.0:
jest-util "^29.7.0"
prompts "^2.0.1"
-cross-spawn@^7.0.2, cross-spawn@^7.0.3, cross-spawn@^7.0.6:
+cross-spawn@^7.0.3, cross-spawn@^7.0.6:
version "7.0.6"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f"
integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==
@@ -2587,13 +2639,6 @@ doctrine@^2.1.0:
dependencies:
esutils "^2.0.2"
-doctrine@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
- integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
- dependencies:
- esutils "^2.0.2"
-
dom-accessibility-api@^0.6.3:
version "0.6.3"
resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz#993e925cc1d73f2c662e7d75dd5a5445259a8fd8"
@@ -3053,15 +3098,15 @@ eslint-plugin-testing-library@^7.1.1:
"@typescript-eslint/scope-manager" "^8.15.0"
"@typescript-eslint/utils" "^8.15.0"
-eslint-scope@^7.2.2:
- version "7.2.2"
- resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f"
- integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==
+eslint-scope@^8.4.0:
+ version "8.4.0"
+ resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.4.0.tgz#88e646a207fad61436ffa39eb505147200655c82"
+ integrity sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==
dependencies:
esrecurse "^4.3.0"
estraverse "^5.2.0"
-eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3:
+eslint-visitor-keys@^3.4.3:
version "3.4.3"
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800"
integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
@@ -3071,49 +3116,59 @@ eslint-visitor-keys@^4.2.0:
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz#687bacb2af884fcdda8a6e7d65c606f46a14cd45"
integrity sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==
-eslint@^8.14.0:
- version "8.57.1"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.1.tgz#7df109654aba7e3bbe5c8eae533c5e461d3c6ca9"
- integrity sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==
- dependencies:
- "@eslint-community/eslint-utils" "^4.2.0"
- "@eslint-community/regexpp" "^4.6.1"
- "@eslint/eslintrc" "^2.1.4"
- "@eslint/js" "8.57.1"
- "@humanwhocodes/config-array" "^0.13.0"
+eslint-visitor-keys@^4.2.1:
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz#4cfea60fe7dd0ad8e816e1ed026c1d5251b512c1"
+ integrity sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==
+
+eslint@^9.0.0:
+ version "9.38.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.38.0.tgz#3957d2af804e5cf6cc503c618f60acc71acb2e7e"
+ integrity sha512-t5aPOpmtJcZcz5UJyY2GbvpDlsK5E8JqRqoKtfiKE3cNh437KIqfJr3A3AKf5k64NPx6d0G3dno6XDY05PqPtw==
+ dependencies:
+ "@eslint-community/eslint-utils" "^4.8.0"
+ "@eslint-community/regexpp" "^4.12.1"
+ "@eslint/config-array" "^0.21.1"
+ "@eslint/config-helpers" "^0.4.1"
+ "@eslint/core" "^0.16.0"
+ "@eslint/eslintrc" "^3.3.1"
+ "@eslint/js" "9.38.0"
+ "@eslint/plugin-kit" "^0.4.0"
+ "@humanfs/node" "^0.16.6"
"@humanwhocodes/module-importer" "^1.0.1"
- "@nodelib/fs.walk" "^1.2.8"
- "@ungap/structured-clone" "^1.2.0"
+ "@humanwhocodes/retry" "^0.4.2"
+ "@types/estree" "^1.0.6"
ajv "^6.12.4"
chalk "^4.0.0"
- cross-spawn "^7.0.2"
+ cross-spawn "^7.0.6"
debug "^4.3.2"
- doctrine "^3.0.0"
escape-string-regexp "^4.0.0"
- eslint-scope "^7.2.2"
- eslint-visitor-keys "^3.4.3"
- espree "^9.6.1"
- esquery "^1.4.2"
+ eslint-scope "^8.4.0"
+ eslint-visitor-keys "^4.2.1"
+ espree "^10.4.0"
+ esquery "^1.5.0"
esutils "^2.0.2"
fast-deep-equal "^3.1.3"
- file-entry-cache "^6.0.1"
+ file-entry-cache "^8.0.0"
find-up "^5.0.0"
glob-parent "^6.0.2"
- globals "^13.19.0"
- graphemer "^1.4.0"
ignore "^5.2.0"
imurmurhash "^0.1.4"
is-glob "^4.0.0"
- is-path-inside "^3.0.3"
- js-yaml "^4.1.0"
json-stable-stringify-without-jsonify "^1.0.1"
- levn "^0.4.1"
lodash.merge "^4.6.2"
minimatch "^3.1.2"
natural-compare "^1.4.0"
optionator "^0.9.3"
- strip-ansi "^6.0.1"
- text-table "^0.2.0"
+
+espree@^10.0.1, espree@^10.4.0:
+ version "10.4.0"
+ resolved "https://registry.yarnpkg.com/espree/-/espree-10.4.0.tgz#d54f4949d4629005a1fa168d937c3ff1f7e2a837"
+ integrity sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==
+ dependencies:
+ acorn "^8.15.0"
+ acorn-jsx "^5.3.2"
+ eslint-visitor-keys "^4.2.1"
espree@^10.1.0, espree@^10.3.0:
version "10.3.0"
@@ -3124,21 +3179,12 @@ espree@^10.1.0, espree@^10.3.0:
acorn-jsx "^5.3.2"
eslint-visitor-keys "^4.2.0"
-espree@^9.6.0, espree@^9.6.1:
- version "9.6.1"
- resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f"
- integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==
- dependencies:
- acorn "^8.9.0"
- acorn-jsx "^5.3.2"
- eslint-visitor-keys "^3.4.1"
-
esprima@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
-esquery@^1.4.2, esquery@^1.6.0:
+esquery@^1.5.0, esquery@^1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7"
integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==
@@ -3274,12 +3320,12 @@ figures@3.2.0, figures@^3.0.0:
dependencies:
escape-string-regexp "^1.0.5"
-file-entry-cache@^6.0.1:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"
- integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==
+file-entry-cache@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-8.0.0.tgz#7787bddcf1131bffb92636c69457bbc0edd6d81f"
+ integrity sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==
dependencies:
- flat-cache "^3.0.4"
+ flat-cache "^4.0.0"
filelist@^1.0.4:
version "1.0.4"
@@ -3318,14 +3364,13 @@ find-up@^5.0.0:
locate-path "^6.0.0"
path-exists "^4.0.0"
-flat-cache@^3.0.4:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee"
- integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==
+flat-cache@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-4.0.1.tgz#0ece39fcb14ee012f4b0410bd33dd9c1f011127c"
+ integrity sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==
dependencies:
flatted "^3.2.9"
- keyv "^4.5.3"
- rimraf "^3.0.2"
+ keyv "^4.5.4"
flat@^5.0.2:
version "5.0.2"
@@ -3636,12 +3681,15 @@ globals@^11.1.0:
resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
-globals@^13.19.0:
- version "13.24.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171"
- integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==
- dependencies:
- type-fest "^0.20.2"
+globals@^14.0.0:
+ version "14.0.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-14.0.0.tgz#898d7413c29babcf6bafe56fcadded858ada724e"
+ integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==
+
+globals@^15.0.0:
+ version "15.15.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-15.15.0.tgz#7c4761299d41c32b075715a4ce1ede7897ff72a8"
+ integrity sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==
globalthis@^1.0.4:
version "1.0.4"
@@ -4104,11 +4152,6 @@ is-obj@^2.0.0:
resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982"
integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==
-is-path-inside@^3.0.3:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
- integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
-
is-plain-obj@^1.0.0, is-plain-obj@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
@@ -4821,7 +4864,7 @@ just-diff@^6.0.0:
resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-6.0.2.tgz#03b65908543ac0521caf6d8eb85035f7d27ea285"
integrity sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA==
-keyv@^4.5.3:
+keyv@^4.5.4:
version "4.5.4"
resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93"
integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==
@@ -5215,7 +5258,7 @@ minimatch@9.0.3:
dependencies:
brace-expansion "^2.0.1"
-minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
+minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
@@ -6371,13 +6414,6 @@ reusify@^1.0.4:
resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.1.0.tgz#0fe13b9522e1473f51b558ee796e08f11f9b489f"
integrity sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==
-rimraf@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
- integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
- dependencies:
- glob "^7.1.3"
-
rimraf@^4.4.1:
version "4.4.1"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-4.4.1.tgz#bd33364f67021c5b79e93d7f4fa0568c7c21b755"
@@ -6978,11 +7014,6 @@ text-extensions@^1.0.0:
resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26"
integrity sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==
-text-table@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
- integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==
-
through2@^2.0.0:
version "2.0.5"
resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
@@ -7115,11 +7146,6 @@ type-fest@^0.18.0:
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f"
integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==
-type-fest@^0.20.2:
- version "0.20.2"
- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
- integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
-
type-fest@^0.21.3:
version "0.21.3"
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37"