UNPKG

@fenge/eslint-config

Version:

A super strict eslint config for linting js/ts/package.json.

798 lines 60.3 kB
export declare function javascript(): readonly [{ readonly name: "fenge/javascript"; readonly files: readonly ["**/*.{js,cjs,mjs,jsx}"]; readonly languageOptions: { readonly ecmaVersion: "latest"; readonly sourceType: "module"; readonly parser: typeof import("@typescript-eslint/parser"); readonly parserOptions: { readonly ecmaVersion: "latest"; readonly sourceType: "module"; readonly ecmaFeatures: { readonly jsx: true; }; }; readonly globals: { readonly [k: string]: false; }; }; readonly plugins: { readonly fp: unknown; readonly n: import("eslint").ESLint.Plugin & { configs: import("eslint-plugin-n").Configs; }; readonly import: import("eslint").ESLint.Plugin & { meta: { name: string; version: string; }; configs: { "recommended": import("eslint").Linter.LegacyConfig; "errors": import("eslint").Linter.LegacyConfig; "warnings": import("eslint").Linter.LegacyConfig; "stage-0": import("eslint").Linter.LegacyConfig; "react": import("eslint").Linter.LegacyConfig; "react-native": import("eslint").Linter.LegacyConfig; "electron": import("eslint").Linter.LegacyConfig; "typescript": import("eslint").Linter.LegacyConfig; }; flatConfigs: { "recommended": import("eslint").Linter.FlatConfig; "errors": import("eslint").Linter.FlatConfig; "warnings": import("eslint").Linter.FlatConfig; "stage-0": import("eslint").Linter.FlatConfig; "react": import("eslint").Linter.FlatConfig; "react-native": import("eslint").Linter.FlatConfig; "electron": import("eslint").Linter.FlatConfig; "typescript": import("eslint").Linter.FlatConfig; }; rules: { [key: string]: import("eslint").Rule.RuleModule; }; }; readonly promise: unknown; readonly react: { deprecatedRules: Partial<{ 'boolean-prop-naming': import("eslint").Rule.RuleModule; 'button-has-type': import("eslint").Rule.RuleModule; 'checked-requires-onchange-or-readonly': import("eslint").Rule.RuleModule; 'default-props-match-prop-types': import("eslint").Rule.RuleModule; 'destructuring-assignment': import("eslint").Rule.RuleModule; 'display-name': import("eslint").Rule.RuleModule; 'forbid-component-props': import("eslint").Rule.RuleModule; 'forbid-dom-props': import("eslint").Rule.RuleModule; 'forbid-elements': import("eslint").Rule.RuleModule; 'forbid-foreign-prop-types': import("eslint").Rule.RuleModule; 'forbid-prop-types': import("eslint").Rule.RuleModule; 'forward-ref-uses-ref': import("eslint").Rule.RuleModule; 'function-component-definition': import("eslint").Rule.RuleModule; 'hook-use-state': import("eslint").Rule.RuleModule; 'iframe-missing-sandbox': import("eslint").Rule.RuleModule; 'jsx-boolean-value': import("eslint").Rule.RuleModule; 'jsx-child-element-spacing': import("eslint").Rule.RuleModule; 'jsx-closing-bracket-location': import("eslint").Rule.RuleModule; 'jsx-closing-tag-location': import("eslint").Rule.RuleModule; 'jsx-curly-spacing': import("eslint").Rule.RuleModule; 'jsx-curly-newline': import("eslint").Rule.RuleModule; 'jsx-equals-spacing': import("eslint").Rule.RuleModule; 'jsx-filename-extension': import("eslint").Rule.RuleModule; 'jsx-first-prop-new-line': import("eslint").Rule.RuleModule; 'jsx-handler-names': import("eslint").Rule.RuleModule; 'jsx-indent': import("eslint").Rule.RuleModule; 'jsx-indent-props': import("eslint").Rule.RuleModule; 'jsx-key': import("eslint").Rule.RuleModule; 'jsx-max-depth': import("eslint").Rule.RuleModule; 'jsx-max-props-per-line': import("eslint").Rule.RuleModule; 'jsx-newline': import("eslint").Rule.RuleModule; 'jsx-no-bind': import("eslint").Rule.RuleModule; 'jsx-no-comment-textnodes': import("eslint").Rule.RuleModule; 'jsx-no-constructed-context-values': import("eslint").Rule.RuleModule; 'jsx-no-duplicate-props': import("eslint").Rule.RuleModule; 'jsx-no-leaked-render': import("eslint").Rule.RuleModule; 'jsx-no-literals': import("eslint").Rule.RuleModule; 'jsx-no-script-url': import("eslint").Rule.RuleModule; 'jsx-no-target-blank': import("eslint").Rule.RuleModule; 'jsx-no-useless-fragment': import("eslint").Rule.RuleModule; 'jsx-one-expression-per-line': import("eslint").Rule.RuleModule; 'jsx-no-undef': import("eslint").Rule.RuleModule; 'jsx-curly-brace-presence': import("eslint").Rule.RuleModule; 'jsx-pascal-case': import("eslint").Rule.RuleModule; 'jsx-fragments': import("eslint").Rule.RuleModule; 'jsx-props-no-multi-spaces': import("eslint").Rule.RuleModule; 'jsx-props-no-spreading': import("eslint").Rule.RuleModule; 'jsx-props-no-spread-multi': import("eslint").Rule.RuleModule; 'jsx-sort-default-props': import("eslint").Rule.RuleModule; 'jsx-sort-props': import("eslint").Rule.RuleModule; 'jsx-space-before-closing': import("eslint").Rule.RuleModule; 'jsx-tag-spacing': import("eslint").Rule.RuleModule; 'jsx-uses-react': import("eslint").Rule.RuleModule; 'jsx-uses-vars': import("eslint").Rule.RuleModule; 'jsx-wrap-multilines': import("eslint").Rule.RuleModule; 'no-invalid-html-attribute': import("eslint").Rule.RuleModule; 'no-access-state-in-setstate': import("eslint").Rule.RuleModule; 'no-adjacent-inline-elements': import("eslint").Rule.RuleModule; 'no-array-index-key': import("eslint").Rule.RuleModule; 'no-arrow-function-lifecycle': import("eslint").Rule.RuleModule; 'no-children-prop': import("eslint").Rule.RuleModule; 'no-danger': import("eslint").Rule.RuleModule; 'no-danger-with-children': import("eslint").Rule.RuleModule; 'no-deprecated': import("eslint").Rule.RuleModule; 'no-did-mount-set-state': import("eslint").Rule.RuleModule; 'no-did-update-set-state': import("eslint").Rule.RuleModule; 'no-direct-mutation-state': import("eslint").Rule.RuleModule; 'no-find-dom-node': import("eslint").Rule.RuleModule; 'no-is-mounted': import("eslint").Rule.RuleModule; 'no-multi-comp': import("eslint").Rule.RuleModule; 'no-namespace': import("eslint").Rule.RuleModule; 'no-set-state': import("eslint").Rule.RuleModule; 'no-string-refs': import("eslint").Rule.RuleModule; 'no-redundant-should-component-update': import("eslint").Rule.RuleModule; 'no-render-return-value': import("eslint").Rule.RuleModule; 'no-this-in-sfc': import("eslint").Rule.RuleModule; 'no-typos': import("eslint").Rule.RuleModule; 'no-unescaped-entities': import("eslint").Rule.RuleModule; 'no-unknown-property': import("eslint").Rule.RuleModule; 'no-unsafe': import("eslint").Rule.RuleModule; 'no-unstable-nested-components': import("eslint").Rule.RuleModule; 'no-unused-class-component-methods': import("eslint").Rule.RuleModule; 'no-unused-prop-types': import("eslint").Rule.RuleModule; 'no-unused-state': import("eslint").Rule.RuleModule; 'no-object-type-as-default-prop': import("eslint").Rule.RuleModule; 'no-will-update-set-state': import("eslint").Rule.RuleModule; 'prefer-es6-class': import("eslint").Rule.RuleModule; 'prefer-exact-props': import("eslint").Rule.RuleModule; 'prefer-read-only-props': import("eslint").Rule.RuleModule; 'prefer-stateless-function': import("eslint").Rule.RuleModule; 'prop-types': import("eslint").Rule.RuleModule; 'react-in-jsx-scope': import("eslint").Rule.RuleModule; 'require-default-props': import("eslint").Rule.RuleModule; 'require-optimization': import("eslint").Rule.RuleModule; 'require-render-return': import("eslint").Rule.RuleModule; 'self-closing-comp': import("eslint").Rule.RuleModule; 'sort-comp': import("eslint").Rule.RuleModule; 'sort-default-props': import("eslint").Rule.RuleModule; 'sort-prop-types': import("eslint").Rule.RuleModule; 'state-in-constructor': import("eslint").Rule.RuleModule; 'static-property-placement': import("eslint").Rule.RuleModule; 'style-prop-object': import("eslint").Rule.RuleModule; 'void-dom-elements-no-children': import("eslint").Rule.RuleModule; }>; rules: { 'boolean-prop-naming': import("eslint").Rule.RuleModule; 'button-has-type': import("eslint").Rule.RuleModule; 'checked-requires-onchange-or-readonly': import("eslint").Rule.RuleModule; 'default-props-match-prop-types': import("eslint").Rule.RuleModule; 'destructuring-assignment': import("eslint").Rule.RuleModule; 'display-name': import("eslint").Rule.RuleModule; 'forbid-component-props': import("eslint").Rule.RuleModule; 'forbid-dom-props': import("eslint").Rule.RuleModule; 'forbid-elements': import("eslint").Rule.RuleModule; 'forbid-foreign-prop-types': import("eslint").Rule.RuleModule; 'forbid-prop-types': import("eslint").Rule.RuleModule; 'forward-ref-uses-ref': import("eslint").Rule.RuleModule; 'function-component-definition': import("eslint").Rule.RuleModule; 'hook-use-state': import("eslint").Rule.RuleModule; 'iframe-missing-sandbox': import("eslint").Rule.RuleModule; 'jsx-boolean-value': import("eslint").Rule.RuleModule; 'jsx-child-element-spacing': import("eslint").Rule.RuleModule; 'jsx-closing-bracket-location': import("eslint").Rule.RuleModule; 'jsx-closing-tag-location': import("eslint").Rule.RuleModule; 'jsx-curly-spacing': import("eslint").Rule.RuleModule; 'jsx-curly-newline': import("eslint").Rule.RuleModule; 'jsx-equals-spacing': import("eslint").Rule.RuleModule; 'jsx-filename-extension': import("eslint").Rule.RuleModule; 'jsx-first-prop-new-line': import("eslint").Rule.RuleModule; 'jsx-handler-names': import("eslint").Rule.RuleModule; 'jsx-indent': import("eslint").Rule.RuleModule; 'jsx-indent-props': import("eslint").Rule.RuleModule; 'jsx-key': import("eslint").Rule.RuleModule; 'jsx-max-depth': import("eslint").Rule.RuleModule; 'jsx-max-props-per-line': import("eslint").Rule.RuleModule; 'jsx-newline': import("eslint").Rule.RuleModule; 'jsx-no-bind': import("eslint").Rule.RuleModule; 'jsx-no-comment-textnodes': import("eslint").Rule.RuleModule; 'jsx-no-constructed-context-values': import("eslint").Rule.RuleModule; 'jsx-no-duplicate-props': import("eslint").Rule.RuleModule; 'jsx-no-leaked-render': import("eslint").Rule.RuleModule; 'jsx-no-literals': import("eslint").Rule.RuleModule; 'jsx-no-script-url': import("eslint").Rule.RuleModule; 'jsx-no-target-blank': import("eslint").Rule.RuleModule; 'jsx-no-useless-fragment': import("eslint").Rule.RuleModule; 'jsx-one-expression-per-line': import("eslint").Rule.RuleModule; 'jsx-no-undef': import("eslint").Rule.RuleModule; 'jsx-curly-brace-presence': import("eslint").Rule.RuleModule; 'jsx-pascal-case': import("eslint").Rule.RuleModule; 'jsx-fragments': import("eslint").Rule.RuleModule; 'jsx-props-no-multi-spaces': import("eslint").Rule.RuleModule; 'jsx-props-no-spreading': import("eslint").Rule.RuleModule; 'jsx-props-no-spread-multi': import("eslint").Rule.RuleModule; 'jsx-sort-default-props': import("eslint").Rule.RuleModule; 'jsx-sort-props': import("eslint").Rule.RuleModule; 'jsx-space-before-closing': import("eslint").Rule.RuleModule; 'jsx-tag-spacing': import("eslint").Rule.RuleModule; 'jsx-uses-react': import("eslint").Rule.RuleModule; 'jsx-uses-vars': import("eslint").Rule.RuleModule; 'jsx-wrap-multilines': import("eslint").Rule.RuleModule; 'no-invalid-html-attribute': import("eslint").Rule.RuleModule; 'no-access-state-in-setstate': import("eslint").Rule.RuleModule; 'no-adjacent-inline-elements': import("eslint").Rule.RuleModule; 'no-array-index-key': import("eslint").Rule.RuleModule; 'no-arrow-function-lifecycle': import("eslint").Rule.RuleModule; 'no-children-prop': import("eslint").Rule.RuleModule; 'no-danger': import("eslint").Rule.RuleModule; 'no-danger-with-children': import("eslint").Rule.RuleModule; 'no-deprecated': import("eslint").Rule.RuleModule; 'no-did-mount-set-state': import("eslint").Rule.RuleModule; 'no-did-update-set-state': import("eslint").Rule.RuleModule; 'no-direct-mutation-state': import("eslint").Rule.RuleModule; 'no-find-dom-node': import("eslint").Rule.RuleModule; 'no-is-mounted': import("eslint").Rule.RuleModule; 'no-multi-comp': import("eslint").Rule.RuleModule; 'no-namespace': import("eslint").Rule.RuleModule; 'no-set-state': import("eslint").Rule.RuleModule; 'no-string-refs': import("eslint").Rule.RuleModule; 'no-redundant-should-component-update': import("eslint").Rule.RuleModule; 'no-render-return-value': import("eslint").Rule.RuleModule; 'no-this-in-sfc': import("eslint").Rule.RuleModule; 'no-typos': import("eslint").Rule.RuleModule; 'no-unescaped-entities': import("eslint").Rule.RuleModule; 'no-unknown-property': import("eslint").Rule.RuleModule; 'no-unsafe': import("eslint").Rule.RuleModule; 'no-unstable-nested-components': import("eslint").Rule.RuleModule; 'no-unused-class-component-methods': import("eslint").Rule.RuleModule; 'no-unused-prop-types': import("eslint").Rule.RuleModule; 'no-unused-state': import("eslint").Rule.RuleModule; 'no-object-type-as-default-prop': import("eslint").Rule.RuleModule; 'no-will-update-set-state': import("eslint").Rule.RuleModule; 'prefer-es6-class': import("eslint").Rule.RuleModule; 'prefer-exact-props': import("eslint").Rule.RuleModule; 'prefer-read-only-props': import("eslint").Rule.RuleModule; 'prefer-stateless-function': import("eslint").Rule.RuleModule; 'prop-types': import("eslint").Rule.RuleModule; 'react-in-jsx-scope': import("eslint").Rule.RuleModule; 'require-default-props': import("eslint").Rule.RuleModule; 'require-optimization': import("eslint").Rule.RuleModule; 'require-render-return': import("eslint").Rule.RuleModule; 'self-closing-comp': import("eslint").Rule.RuleModule; 'sort-comp': import("eslint").Rule.RuleModule; 'sort-default-props': import("eslint").Rule.RuleModule; 'sort-prop-types': import("eslint").Rule.RuleModule; 'state-in-constructor': import("eslint").Rule.RuleModule; 'static-property-placement': import("eslint").Rule.RuleModule; 'style-prop-object': import("eslint").Rule.RuleModule; 'void-dom-elements-no-children': import("eslint").Rule.RuleModule; }; configs: { recommended: { plugins: ["react"]; parserOptions: { ecmaFeatures: { jsx: boolean; }; }; rules: { "react/display-name": 2; "react/jsx-key": 2; "react/jsx-no-comment-textnodes": 2; "react/jsx-no-duplicate-props": 2; "react/jsx-no-target-blank": 2; "react/jsx-no-undef": 2; "react/jsx-uses-react": 2; "react/jsx-uses-vars": 2; "react/no-children-prop": 2; "react/no-danger-with-children": 2; "react/no-deprecated": 2; "react/no-direct-mutation-state": 2; "react/no-find-dom-node": 2; "react/no-is-mounted": 2; "react/no-render-return-value": 2; "react/no-string-refs": 2; "react/no-unescaped-entities": 2; "react/no-unknown-property": 2; "react/no-unsafe": 0; "react/prop-types": 2; "react/react-in-jsx-scope": 2; "react/require-render-return": 2; }; }; all: { plugins: ["react"]; parserOptions: { ecmaFeatures: { jsx: boolean; }; }; rules: Record<"boolean-prop-naming" | "button-has-type" | "checked-requires-onchange-or-readonly" | "default-props-match-prop-types" | "destructuring-assignment" | "display-name" | "forbid-component-props" | "forbid-dom-props" | "forbid-elements" | "forbid-foreign-prop-types" | "forbid-prop-types" | "prop-types" | "forward-ref-uses-ref" | "function-component-definition" | "hook-use-state" | "iframe-missing-sandbox" | "jsx-boolean-value" | "jsx-child-element-spacing" | "jsx-closing-bracket-location" | "jsx-closing-tag-location" | "jsx-curly-spacing" | "jsx-curly-newline" | "jsx-equals-spacing" | "jsx-filename-extension" | "jsx-first-prop-new-line" | "jsx-handler-names" | "jsx-indent" | "jsx-indent-props" | "jsx-key" | "jsx-max-depth" | "jsx-max-props-per-line" | "jsx-newline" | "jsx-no-bind" | "jsx-no-comment-textnodes" | "jsx-no-constructed-context-values" | "jsx-no-duplicate-props" | "jsx-no-leaked-render" | "jsx-no-literals" | "jsx-no-script-url" | "jsx-no-target-blank" | "jsx-no-useless-fragment" | "jsx-one-expression-per-line" | "jsx-no-undef" | "jsx-curly-brace-presence" | "jsx-pascal-case" | "jsx-fragments" | "jsx-props-no-multi-spaces" | "jsx-props-no-spreading" | "jsx-props-no-spread-multi" | "sort-default-props" | "jsx-sort-default-props" | "jsx-sort-props" | "jsx-tag-spacing" | "jsx-space-before-closing" | "jsx-uses-react" | "jsx-uses-vars" | "jsx-wrap-multilines" | "no-invalid-html-attribute" | "no-access-state-in-setstate" | "no-adjacent-inline-elements" | "no-array-index-key" | "no-arrow-function-lifecycle" | "no-children-prop" | "no-danger" | "no-danger-with-children" | "no-deprecated" | "no-direct-mutation-state" | "no-find-dom-node" | "no-is-mounted" | "no-multi-comp" | "no-namespace" | "no-set-state" | "no-string-refs" | "no-redundant-should-component-update" | "no-render-return-value" | "no-this-in-sfc" | "no-typos" | "no-unescaped-entities" | "no-unknown-property" | "no-unsafe" | "no-unstable-nested-components" | "no-unused-class-component-methods" | "no-unused-prop-types" | "no-unused-state" | "no-object-type-as-default-prop" | "prefer-es6-class" | "prefer-exact-props" | "prefer-read-only-props" | "prefer-stateless-function" | "react-in-jsx-scope" | "require-default-props" | "require-optimization" | "require-render-return" | "self-closing-comp" | "sort-comp" | "sort-prop-types" | "state-in-constructor" | "static-property-placement" | "style-prop-object" | "void-dom-elements-no-children" | "no-did-mount-set-state" | "no-did-update-set-state" | "no-will-update-set-state", 2 | "error">; }; 'jsx-runtime': { plugins: ["react"]; parserOptions: { ecmaFeatures: { jsx: boolean; }; jsxPragma: any; }; rules: { "react/react-in-jsx-scope": 0; "react/jsx-uses-react": 0; }; }; flat: Record<string, import("eslint-plugin-react").ReactFlatConfig>; } & { flat: Record<string, import("eslint-plugin-react").ReactFlatConfig>; }; }; readonly "react-hooks": unknown; readonly regexp: typeof import("eslint-plugin-regexp"); readonly sonarjs: typeof import("eslint-plugin-sonarjs"); readonly unicorn: import("eslint").ESLint.Plugin & { configs: { recommended: import("eslint").Linter.FlatConfig; unopinionated: import("eslint").Linter.FlatConfig; all: import("eslint").Linter.FlatConfig; "flat/all": import("eslint").Linter.FlatConfig; "flat/recommended": import("eslint").Linter.FlatConfig; }; }; readonly "es-x": { meta: { name: string; version: string; }; configs: { "flat/no-array-grouping": import("eslint").Linter.Config; "flat/no-arraybuffer-base64": import("eslint").Linter.Config; "flat/no-change-array-by-copy": import("eslint").Linter.Config; "flat/no-class-fields": import("eslint").Linter.Config; "flat/no-explicit-resource-management": import("eslint").Linter.Config; "flat/no-float16array": import("eslint").Linter.Config; "flat/no-import-attributes": import("eslint").Linter.Config; "flat/no-intl-locale-info": import("eslint").Linter.Config; "flat/no-intl-numberformat-v3": import("eslint").Linter.Config; "flat/no-is-usv-string": import("eslint").Linter.Config; "flat/no-iterator-helpers": import("eslint").Linter.Config; "flat/no-json-parse-with-source": import("eslint").Linter.Config; "flat/no-new-in-es5": import("eslint").Linter.Config; "flat/no-new-in-es2015": import("eslint").Linter.Config; "flat/no-new-in-es2015-intl-api": import("eslint").Linter.Config; "flat/no-new-in-es2016": import("eslint").Linter.Config; "flat/no-new-in-es2016-intl-api": import("eslint").Linter.Config; "flat/no-new-in-es2017": import("eslint").Linter.Config; "flat/no-new-in-es2017-intl-api": import("eslint").Linter.Config; "flat/no-new-in-es2018": import("eslint").Linter.Config; "flat/no-new-in-es2018-intl-api": import("eslint").Linter.Config; "flat/no-new-in-es2019": import("eslint").Linter.Config; "flat/no-new-in-es2019-intl-api": import("eslint").Linter.Config; "flat/no-new-in-es2020": import("eslint").Linter.Config; "flat/no-new-in-es2020-intl-api": import("eslint").Linter.Config; "flat/no-new-in-es2021": import("eslint").Linter.Config; "flat/no-new-in-es2021-intl-api": import("eslint").Linter.Config; "flat/no-new-in-es2022": import("eslint").Linter.Config; "flat/no-new-in-es2022-intl-api": import("eslint").Linter.Config; "flat/no-new-in-es2023": import("eslint").Linter.Config; "flat/no-new-in-es2023-intl-api": import("eslint").Linter.Config; "flat/no-new-in-es2024": import("eslint").Linter.Config; "flat/no-new-in-es2024-intl-api": import("eslint").Linter.Config; "flat/no-new-in-es2025": import("eslint").Linter.Config; "flat/no-new-in-es2025-intl-api": import("eslint").Linter.Config; "flat/no-new-in-esnext": import("eslint").Linter.Config; "flat/no-new-in-esnext-intl-api": import("eslint").Linter.Config; "flat/no-relative-indexing-method": import("eslint").Linter.Config; "flat/no-set-methods": import("eslint").Linter.Config; "flat/no-string-matchall": import("eslint").Linter.Config; "flat/no-temporal": import("eslint").Linter.Config; "flat/no-upsert": import("eslint").Linter.Config; "flat/restrict-to-es-intl-api-1st-edition": import("eslint").Linter.Config; "flat/restrict-to-es3": import("eslint").Linter.Config; "flat/restrict-to-es5": import("eslint").Linter.Config; "flat/restrict-to-es2015": import("eslint").Linter.Config; "flat/restrict-to-es2015-intl-api": import("eslint").Linter.Config; "flat/restrict-to-es2016": import("eslint").Linter.Config; "flat/restrict-to-es2016-intl-api": import("eslint").Linter.Config; "flat/restrict-to-es2017": import("eslint").Linter.Config; "flat/restrict-to-es2017-intl-api": import("eslint").Linter.Config; "flat/restrict-to-es2018": import("eslint").Linter.Config; "flat/restrict-to-es2018-intl-api": import("eslint").Linter.Config; "flat/restrict-to-es2019": import("eslint").Linter.Config; "flat/restrict-to-es2019-intl-api": import("eslint").Linter.Config; "flat/restrict-to-es2020": import("eslint").Linter.Config; "flat/restrict-to-es2020-intl-api": import("eslint").Linter.Config; "flat/restrict-to-es2021": import("eslint").Linter.Config; "flat/restrict-to-es2021-intl-api": import("eslint").Linter.Config; "flat/restrict-to-es2022": import("eslint").Linter.Config; "flat/restrict-to-es2022-intl-api": import("eslint").Linter.Config; "flat/restrict-to-es2023": import("eslint").Linter.Config; "flat/restrict-to-es2023-intl-api": import("eslint").Linter.Config; "flat/restrict-to-es2024": import("eslint").Linter.Config; "flat/restrict-to-es2024-intl-api": import("eslint").Linter.Config; "no-array-grouping": import("eslint").Linter.LegacyConfig; "no-arraybuffer-base64": import("eslint").Linter.LegacyConfig; "no-change-array-by-copy": import("eslint").Linter.LegacyConfig; "no-class-fields": import("eslint").Linter.LegacyConfig; "no-explicit-resource-management": import("eslint").Linter.LegacyConfig; "no-float16array": import("eslint").Linter.LegacyConfig; "no-import-attributes": import("eslint").Linter.LegacyConfig; "no-intl-locale-info": import("eslint").Linter.LegacyConfig; "no-intl-numberformat-v3": import("eslint").Linter.LegacyConfig; "no-is-usv-string": import("eslint").Linter.LegacyConfig; "no-iterator-helpers": import("eslint").Linter.LegacyConfig; "no-json-parse-with-source": import("eslint").Linter.LegacyConfig; "no-new-in-es5": import("eslint").Linter.LegacyConfig; "no-new-in-es2015": import("eslint").Linter.LegacyConfig; "no-new-in-es2015-intl-api": import("eslint").Linter.LegacyConfig; "no-new-in-es2016": import("eslint").Linter.LegacyConfig; "no-new-in-es2016-intl-api": import("eslint").Linter.LegacyConfig; "no-new-in-es2017": import("eslint").Linter.LegacyConfig; "no-new-in-es2017-intl-api": import("eslint").Linter.LegacyConfig; "no-new-in-es2018": import("eslint").Linter.LegacyConfig; "no-new-in-es2018-intl-api": import("eslint").Linter.LegacyConfig; "no-new-in-es2019": import("eslint").Linter.LegacyConfig; "no-new-in-es2019-intl-api": import("eslint").Linter.LegacyConfig; "no-new-in-es2020": import("eslint").Linter.LegacyConfig; "no-new-in-es2020-intl-api": import("eslint").Linter.LegacyConfig; "no-new-in-es2021": import("eslint").Linter.LegacyConfig; "no-new-in-es2021-intl-api": import("eslint").Linter.LegacyConfig; "no-new-in-es2022": import("eslint").Linter.LegacyConfig; "no-new-in-es2022-intl-api": import("eslint").Linter.LegacyConfig; "no-new-in-es2023": import("eslint").Linter.LegacyConfig; "no-new-in-es2023-intl-api": import("eslint").Linter.LegacyConfig; "no-new-in-es2024": import("eslint").Linter.LegacyConfig; "no-new-in-es2024-intl-api": import("eslint").Linter.LegacyConfig; "no-new-in-es2025": import("eslint").Linter.LegacyConfig; "no-new-in-es2025-intl-api": import("eslint").Linter.LegacyConfig; "no-new-in-esnext": import("eslint").Linter.LegacyConfig; "no-new-in-esnext-intl-api": import("eslint").Linter.LegacyConfig; "no-relative-indexing-method": import("eslint").Linter.LegacyConfig; "no-set-methods": import("eslint").Linter.LegacyConfig; "no-string-matchall": import("eslint").Linter.LegacyConfig; "no-temporal": import("eslint").Linter.LegacyConfig; "no-upsert": import("eslint").Linter.LegacyConfig; "restrict-to-es-intl-api-1st-edition": import("eslint").Linter.LegacyConfig; "restrict-to-es3": import("eslint").Linter.LegacyConfig; "restrict-to-es5": import("eslint").Linter.LegacyConfig; "restrict-to-es2015": import("eslint").Linter.LegacyConfig; "restrict-to-es2015-intl-api": import("eslint").Linter.LegacyConfig; "restrict-to-es2016": import("eslint").Linter.LegacyConfig; "restrict-to-es2016-intl-api": import("eslint").Linter.LegacyConfig; "restrict-to-es2017": import("eslint").Linter.LegacyConfig; "restrict-to-es2017-intl-api": import("eslint").Linter.LegacyConfig; "restrict-to-es2018": import("eslint").Linter.LegacyConfig; "restrict-to-es2018-intl-api": import("eslint").Linter.LegacyConfig; "restrict-to-es2019": import("eslint").Linter.LegacyConfig; "restrict-to-es2019-intl-api": import("eslint").Linter.LegacyConfig; "restrict-to-es2020": import("eslint").Linter.LegacyConfig; "restrict-to-es2020-intl-api": import("eslint").Linter.LegacyConfig; "restrict-to-es2021": import("eslint").Linter.LegacyConfig; "restrict-to-es2021-intl-api": import("eslint").Linter.LegacyConfig; "restrict-to-es2022": import("eslint").Linter.LegacyConfig; "restrict-to-es2022-intl-api": import("eslint").Linter.LegacyConfig; "restrict-to-es2023": import("eslint").Linter.LegacyConfig; "restrict-to-es2023-intl-api": import("eslint").Linter.LegacyConfig; "restrict-to-es2024": import("eslint").Linter.LegacyConfig; "restrict-to-es2024-intl-api": import("eslint").Linter.LegacyConfig; readonly "no-5": import("eslint").Linter.LegacyConfig; readonly "no-2015": import("eslint").Linter.LegacyConfig; readonly "no-2016": import("eslint").Linter.LegacyConfig; readonly "no-2017": import("eslint").Linter.LegacyConfig; readonly "no-2018": import("eslint").Linter.LegacyConfig; readonly "no-2019": import("eslint").Linter.LegacyConfig; }; rules: Record<string, import("eslint").Rule.RuleModule>; }; readonly "eslint-comments": typeof import("@eslint-community/eslint-plugin-eslint-comments"); readonly esm: typeof import("eslint-plugin-esm"); readonly "simple-import-sort": import("eslint").ESLint.Plugin; readonly "@fenge": typeof import("@fenge/eslint-plugin"); readonly "@typescript-eslint": { readonly rules: import("@typescript-eslint/eslint-plugin/use-at-your-own-risk/rules").TypeScriptESLintRules; }; }; readonly rules: { readonly "arrow-body-style": readonly ["error", "as-needed"]; readonly "simple-import-sort/exports": "error"; readonly "unicorn/prefer-node-protocol": "error"; readonly "unicorn/escape-case": "error"; readonly "default-param-last": "error"; readonly "for-direction": "error"; readonly "func-name-matching": "error"; readonly "func-names": "error"; readonly "func-style": readonly ["error", "declaration", { readonly allowArrowFunctions: true; }]; readonly "getter-return": "error"; readonly "logical-assignment-operators": readonly ["error", "always", { readonly enforceForIfStatements: true; }]; readonly "max-depth": readonly ["error", { readonly max: 5; }]; readonly "max-params": readonly ["error", { readonly max: 4; }]; readonly "no-bitwise": "error"; readonly "no-console": "error"; readonly "no-constant-binary-expression": "error"; readonly "no-dupe-else-if": "error"; readonly "no-duplicate-imports": "error"; readonly "no-empty-static-block": "error"; readonly "no-empty-function": "error"; readonly "no-implicit-coercion": readonly ["error", { readonly disallowTemplateShorthand: true; readonly allow: readonly ["!!"]; }]; readonly "no-inner-declarations": readonly ["error", "functions", { readonly blockScopedFunctions: "disallow"; }]; readonly "no-invalid-this": "error"; readonly "no-lonely-if": "error"; readonly "no-multi-assign": "error"; readonly "no-new-native-nonconstructor": "error"; readonly "no-nonoctal-decimal-escape": "error"; readonly "no-object-constructor": "error"; readonly "no-param-reassign": "error"; readonly "no-plusplus": "error"; readonly "no-setter-return": "error"; readonly "no-shadow": readonly ["error", { readonly ignoreOnInitialization: true; }]; readonly "no-unassigned-vars": "error"; readonly "no-unsafe-optional-chaining": readonly ["error", { readonly disallowArithmeticOperators: true; }]; readonly "no-unused-labels": "error"; readonly "no-unused-private-class-members": "error"; readonly "no-useless-assignment": "error"; readonly "no-useless-call": "error"; readonly "no-useless-catch": "error"; readonly "no-useless-computed-key": "error"; readonly "no-useless-constructor": "error"; readonly "no-useless-escape": "error"; readonly "no-useless-rename": "error"; readonly "no-useless-return": "error"; readonly "no-var": "error"; readonly "object-shorthand": "error"; readonly "prefer-arrow-callback": "error"; readonly "prefer-exponentiation-operator": "error"; readonly "prefer-object-has-own": "error"; readonly "prefer-spread": "error"; readonly "prefer-template": "error"; readonly "require-await": "error"; readonly "require-yield": "error"; readonly "es-x/no-accessor-properties": "error"; readonly "es-x/no-async-iteration": "error"; readonly "es-x/no-generators": "error"; readonly "es-x/no-hashbang": "error"; readonly "es-x/no-legacy-object-prototype-accessor-methods": "error"; readonly "es-x/no-top-level-await": "error"; readonly "eslint-comments/disable-enable-pair": "error"; readonly "eslint-comments/no-aggregating-enable": "error"; readonly "eslint-comments/no-duplicate-disable": "error"; readonly "eslint-comments/no-unlimited-disable": "error"; readonly "eslint-comments/no-unused-enable": "error"; readonly "eslint-comments/no-use": readonly ["error", { readonly allow: readonly ["eslint-disable-line", "eslint-disable-next-line"]; }]; readonly "eslint-comments/require-description": "error"; readonly "esm/existing-file-imports": "error"; readonly "esm/no-circular-imports": "error"; readonly "esm/no-cli-imports": "error"; readonly "esm/no-declaration-file-imports": "error"; readonly "esm/no-directory-imports": "error"; readonly "esm/no-dynamic-imports": "error"; readonly "esm/no-empty-exports": "error"; readonly "esm/no-external-src-imports": "error"; readonly "esm/no-git-ignored-imports": "error"; readonly "esm/no-phantom-dep-imports": "error"; readonly "esm/no-query-suffixes": "error"; readonly "esm/no-relative-parent-imports": "error"; readonly "esm/no-rename-exports": "error"; readonly "esm/no-rename-imports": "error"; readonly "esm/no-side-effect-imports": "error"; readonly "esm/no-useless-path-segments": "error"; readonly "esm/required-exports": "error"; readonly "esm/top-side-effect-imports": "error"; readonly "fp/no-arguments": "error"; readonly "fp/no-delete": "error"; readonly "import/export": "error"; readonly "import/first": "error"; readonly "import/no-absolute-path": "error"; readonly "import/no-commonjs": readonly ["error", { readonly allowRequire: false; readonly allowConditionalRequire: false; readonly allowPrimitiveModules: false; }]; readonly "import/no-default-export": "error"; readonly "import/no-duplicates": "error"; readonly "import/no-dynamic-require": "error"; readonly "import/no-empty-named-blocks": "error"; readonly "import/no-mutable-exports": "error"; readonly "import/no-named-default": "error"; readonly "import/no-relative-packages": "error"; readonly "import/no-self-import": "error"; readonly "import/no-webpack-loader-syntax": "error"; readonly "n/handle-callback-err": readonly ["error", "^(err|error)$"]; readonly "n/no-callback-literal": "error"; readonly "n/no-deprecated-api": "error"; readonly "n/no-exports-assign": "error"; readonly "n/no-new-require": "error"; readonly "n/no-path-concat": "error"; readonly "n/no-process-exit": "error"; readonly "n/no-unpublished-bin": "error"; readonly "n/prefer-global/buffer": readonly ["error", "never"]; readonly "n/prefer-global/console": "error"; readonly "n/prefer-global/crypto": "error"; readonly "n/prefer-global/process": readonly ["error", "never"]; readonly "n/prefer-global/text-decoder": "error"; readonly "n/prefer-global/text-encoder": "error"; readonly "n/prefer-global/timers": "error"; readonly "n/prefer-global/url": "error"; readonly "n/prefer-global/url-search-params": "error"; readonly "n/process-exit-as-throw": "error"; readonly "promise/no-return-wrap": "error"; readonly "promise/param-names": "error"; readonly "promise/prefer-catch": "error"; readonly "react/jsx-filename-extension": readonly ["error", { readonly allow: "as-needed"; readonly extensions: readonly [".jsx", ".tsx"]; }]; readonly "react/jsx-key": "error"; readonly "react/jsx-no-duplicate-props": "error"; readonly "react/jsx-no-undef": "error"; readonly "react/jsx-no-useless-fragment": "error"; readonly "react/jsx-props-no-spread-multi": "error"; readonly "react/jsx-uses-vars": "error"; readonly "react/jsx-fragments": "error"; readonly "react-hooks/exhaustive-deps": "error"; readonly "react-hooks/rules-of-hooks": "error"; readonly "regexp/confusing-quantifier": "error"; readonly "regexp/control-character-escape": "error"; readonly "regexp/match-any": "error"; readonly "regexp/negation": "error"; readonly "regexp/no-contradiction-with-assertion": "error"; readonly "regexp/no-dupe-characters-character-class": "error"; readonly "regexp/no-dupe-disjunctions": "error"; readonly "regexp/no-empty-alternative": "error"; readonly "regexp/no-empty-capturing-group": "error"; readonly "regexp/no-empty-character-class": "error"; readonly "regexp/no-empty-group": "error"; readonly "regexp/no-empty-lookarounds-assertion": "error"; readonly "regexp/no-empty-string-literal": "error"; readonly "regexp/no-escape-backspace": "error"; readonly "regexp/no-extra-lookaround-assertions": "error"; readonly "regexp/no-invalid-regexp": "error"; readonly "regexp/no-invisible-character": "error"; readonly "regexp/no-lazy-ends": "error"; readonly "regexp/no-legacy-features": "error"; readonly "regexp/no-misleading-capturing-group": "error"; readonly "regexp/no-misleading-unicode-character": "error"; readonly "regexp/no-missing-g-flag": "error"; readonly "regexp/no-non-standard-flag": "error"; readonly "regexp/no-obscure-range": "error"; readonly "regexp/no-optional-assertion": "error"; readonly "regexp/no-potentially-useless-backreference": "error"; readonly "regexp/no-super-linear-backtracking": "error"; readonly "regexp/no-trivially-nested-assertion": "error"; readonly "regexp/no-trivially-nested-quantifier": "error"; readonly "regexp/no-useless-assertions": "error"; readonly "regexp/no-useless-backreference": "error"; readonly "regexp/no-useless-character-class": "error"; readonly "regexp/no-useless-dollar-replacements": "error"; readonly "regexp/no-useless-escape": "error"; readonly "regexp/no-useless-flag": "error"; readonly "regexp/no-useless-lazy": "error"; readonly "regexp/no-useless-non-capturing-group": "error"; readonly "regexp/no-useless-quantifier": "error"; readonly "regexp/no-useless-range": "error"; readonly "regexp/no-useless-set-operand": "error"; readonly "regexp/no-useless-string-literal": "error"; readonly "regexp/no-useless-two-nums-quantifier": "error"; readonly "regexp/no-zero-quantifier": "error"; readonly "regexp/optimal-lookaround-quantifier": "error"; readonly "regexp/optimal-quantifier-concatenation": "error"; readonly "regexp/prefer-character-class": "error"; readonly "regexp/prefer-d": "error"; readonly "regexp/prefer-plus-quantifier": "error"; readonly "regexp/prefer-predefined-assertion": "error"; readonly "regexp/prefer-question-quantifier": "error"; readonly "regexp/prefer-range": "error"; readonly "regexp/prefer-set-operation": "error"; readonly "regexp/prefer-star-quantifier": "error"; readonly "regexp/prefer-unicode-codepoint-escapes": "error"; readonly "regexp/prefer-w": "error"; readonly "regexp/simplify-set-operations": "error"; readonly "regexp/sort-flags": "error"; readonly "regexp/strict": "error"; readonly "sonarjs/no-collapsible-if": "error"; readonly "sonarjs/no-all-duplicated-branches": "error"; readonly "sonarjs/no-identical-conditions": "error"; readonly "sonarjs/no-identical-expressions": "error"; readonly "sonarjs/no-ignored-return": "error"; readonly "sonarjs/no-inverted-boolean-check": "error"; readonly "sonarjs/no-nested-switch": "error"; readonly "sonarjs/no-useless-catch": "error"; readonly "sonarjs/prefer-immediate-return": "error"; readonly "unicorn/catch-error-name": readonly ["error", { readonly ignore: readonly ["^e$", "^err$"]; }]; readonly "unicorn/consistent-assert": "error"; readonly "unicorn/consistent-date-clone": "error"; readonly "unicorn/consistent-destructuring": "error"; readonly "unicorn/consistent-empty-array-spread": "error"; readonly "unicorn/error-message": "error"; readonly "unicorn/explicit-length-check": "error"; readonly "unicorn/filename-case": readonly ["error", { readonly cases: { readonly kebabCase: true; readonly pascalCase: true; }; }]; readonly "unicorn/import-style": readonly ["error", { readonly styles: { readonly react: { readonly named: true; }; readonly child_process: { readonly default: true; }; readonly fs: { readonly default: true; }; readonly "fs/promises": { readonly default: true; }; readonly process: { readonly default: true; }; readonly "util/types": { readonly named: true; }; readonly "node:child_process": { readonly default: true; }; readonly "node:fs": { readonly default: true; }; readonly "node:fs/promises": { readonly default: true; }; readonly "node:process": { readonly default: true; }; readonly "node:util/types": { readonly named: true; }; }; }]; readonly "unicorn/new-for-builtins": "error"; readonly "unicorn/no-abusive-eslint-disable": "error"; readonly "unicorn/no-accessor-recursion": "error"; readonly "unicorn/no-array-callback-reference": "error"; readonly "unicorn/no-array-method-this-argument": "error"; readonly "unicorn/no-array-reverse": readonly ["error", { readonly allowExpressionStatement: false; }]; readonly "unicorn/no-array-sort": readonly ["error", { readonly allowExpressionStatement: false; }]; readonly "unicorn/no-await-in-promise-methods": "error"; readonly "unicorn/no-for-loop": "error"; readonly "unicorn/no-instanceof-builtins": "error"; readonly "unicorn/no-lonely-if": "error"; readonly "unicorn/no-named-default": "error"; readonly "unicorn/no-negation-in-equality-check": "error"; readonly "unicorn/no-new-array": "error"; readonly "unicorn/no-new-buffer": "error"; readonly "unicorn/no-process-exit": "error"; readonly "unicorn/no-single-promise-in-promise-methods": "error"; readonly "unicorn/no-static-only-class": "error"; readonly "unicorn/no-thenable": "error"; readonly "unicorn/no-this-assignment": "error"; readonly "unicorn/no-typeof-undefined": "error"; readonly "unicorn/no-unnecessary-array-flat-depth": "error"; readonly "unicorn/no-unnecessary-await": "error"; readonly "unicorn/no-unreadable-array-destructuring": "error"; readonly "unicorn/no-unreadable-iife": "error"; readonly "unicorn/no-useless-error-capture-stack-trace": "error"; readonly "unicorn/no-useless-fallback-in-spread": "error"; readonly "unicorn/no-useless-promise-resolve-reject": "error"; readonly