diff --git a/.changeset/odd-boats-create.md b/.changeset/odd-boats-create.md new file mode 100644 index 00000000..6b79fd4a --- /dev/null +++ b/.changeset/odd-boats-create.md @@ -0,0 +1,8 @@ +--- +'@commencis/lint-staged-config': minor +'@commencis/stylelint-config': minor +'@commencis/eslint-config': minor +'@commencis/eslint-plugin': minor +--- + +feat: update consistent type imports diff --git a/package.json b/package.json index aefbe33b..e99c82fa 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "devDependencies": { "@changesets/cli": "2.29.6", "@commencis/commitlint-config": "1.1.4", - "@commencis/eslint-config": "1.7.5", + "@commencis/eslint-config": "2.0.0", "@commencis/lint-staged-config": "1.0.0", "@commencis/prettier-config": "2.0.0", "@commencis/ts-config": "0.0.2", diff --git a/packages/eslint-config/src/configs/next.ts b/packages/eslint-config/src/configs/next.ts index 45771f2e..b057494a 100644 --- a/packages/eslint-config/src/configs/next.ts +++ b/packages/eslint-config/src/configs/next.ts @@ -1,4 +1,4 @@ -import { type FlatConfigArray } from '@/types'; +import type { FlatConfigArray } from '@/types'; import baseConfig from '@/configs/base'; import prettierConfig from '@/configs/prettier'; diff --git a/packages/eslint-config/src/configs/typescript.ts b/packages/eslint-config/src/configs/typescript.ts index 16c0314e..ee58468a 100644 --- a/packages/eslint-config/src/configs/typescript.ts +++ b/packages/eslint-config/src/configs/typescript.ts @@ -1,6 +1,6 @@ import tseslint from 'typescript-eslint'; -import { type FlatConfigArray } from '@/types'; +import type { FlatConfigArray } from '@/types'; import { typescriptRules } from '@/rules'; diff --git a/packages/eslint-config/src/configs/vue.ts b/packages/eslint-config/src/configs/vue.ts index 6855365c..848289ae 100644 --- a/packages/eslint-config/src/configs/vue.ts +++ b/packages/eslint-config/src/configs/vue.ts @@ -1,6 +1,6 @@ import tseslint from 'typescript-eslint'; -import { type FlatConfigArray } from '@/types'; +import type { FlatConfigArray } from '@/types'; import baseConfig from '@/configs/base'; import prettierConfig from '@/configs/prettier'; diff --git a/packages/eslint-config/src/plugins/importSortPlugin.ts b/packages/eslint-config/src/plugins/importSortPlugin.ts index a0328bfd..d4deea6b 100644 --- a/packages/eslint-config/src/plugins/importSortPlugin.ts +++ b/packages/eslint-config/src/plugins/importSortPlugin.ts @@ -1,8 +1,9 @@ import simpleImportSortPlugin from 'eslint-plugin-simple-import-sort'; -import { importSortRules } from '@/rules'; import type { FlatConfig } from '@/types'; +import { importSortRules } from '@/rules'; + export const importSortPluginConfig: FlatConfig = { name: 'commencis/plugin:simple-import-sort', plugins: { diff --git a/packages/eslint-config/src/plugins/jsxA11yPlugin.ts b/packages/eslint-config/src/plugins/jsxA11yPlugin.ts index dd8fb050..36eb49e1 100644 --- a/packages/eslint-config/src/plugins/jsxA11yPlugin.ts +++ b/packages/eslint-config/src/plugins/jsxA11yPlugin.ts @@ -1,7 +1,7 @@ import jsxA11yPlugin from 'eslint-plugin-jsx-a11y'; +import type { FlatConfig } from '@/types'; import { JSX_TSX_FILE_PATTERNS } from '@/constants'; -import { type FlatConfig } from '@/types'; export const jsxA11yPluginConfig: FlatConfig = { name: 'commencis/plugin:jsx-a11y', diff --git a/packages/eslint-config/src/plugins/nextPlugin.ts b/packages/eslint-config/src/plugins/nextPlugin.ts index e545aa37..743a605f 100644 --- a/packages/eslint-config/src/plugins/nextPlugin.ts +++ b/packages/eslint-config/src/plugins/nextPlugin.ts @@ -1,7 +1,7 @@ import nextPlugin from '@next/eslint-plugin-next'; +import type { FlatConfig } from '@/types'; import { JSX_TSX_FILE_PATTERNS } from '@/constants'; -import { type FlatConfig } from '@/types'; import { nextPluginRules } from '@/rules'; diff --git a/packages/eslint-config/src/plugins/reactHooksPlugin.ts b/packages/eslint-config/src/plugins/reactHooksPlugin.ts index e9d40036..960a1156 100644 --- a/packages/eslint-config/src/plugins/reactHooksPlugin.ts +++ b/packages/eslint-config/src/plugins/reactHooksPlugin.ts @@ -1,7 +1,7 @@ import reactHooksPlugin from 'eslint-plugin-react-hooks'; +import type { FlatConfig } from '@/types'; import { JSX_TSX_FILE_PATTERNS } from '@/constants'; -import { type FlatConfig } from '@/types'; import { reactHooksRules } from '@/rules'; diff --git a/packages/eslint-config/src/plugins/reactPlugin.ts b/packages/eslint-config/src/plugins/reactPlugin.ts index 3f910279..0ddaecec 100644 --- a/packages/eslint-config/src/plugins/reactPlugin.ts +++ b/packages/eslint-config/src/plugins/reactPlugin.ts @@ -1,7 +1,7 @@ import reactPlugin from 'eslint-plugin-react'; +import type { FlatConfig } from '@/types'; import { JSX_TSX_FILE_PATTERNS } from '@/constants'; -import { type FlatConfig } from '@/types'; import { reactRules } from '@/rules'; diff --git a/packages/eslint-config/src/plugins/vuePlugin.ts b/packages/eslint-config/src/plugins/vuePlugin.ts index 08aff1e8..519541c6 100644 --- a/packages/eslint-config/src/plugins/vuePlugin.ts +++ b/packages/eslint-config/src/plugins/vuePlugin.ts @@ -1,6 +1,6 @@ import vuePlugin from 'eslint-plugin-vue'; -import { FlatConfigArray } from '@/types'; +import type { FlatConfigArray } from '@/types'; export const vuePluginConfig: FlatConfigArray = [ ...vuePlugin.configs['flat/recommended'], diff --git a/packages/eslint-config/src/rules/importSortRules.ts b/packages/eslint-config/src/rules/importSortRules.ts index 233a5d0a..b89c5b9d 100644 --- a/packages/eslint-config/src/rules/importSortRules.ts +++ b/packages/eslint-config/src/rules/importSortRules.ts @@ -69,7 +69,7 @@ const GROUPS: Record = { ]), // Internal root alias (catch-all leftover @/ imports) - INTERNAL_ROOT: [exact(''), subpath('')], + INTERNAL_ROOT: ['^@/.+$'], // Relative parent imports then same-dir relatives RELATIVE_PARENT: ['^\\.\\.(?!/?$)', '^\\.\\./?$'], diff --git a/packages/eslint-config/src/rules/nextPluginRules.ts b/packages/eslint-config/src/rules/nextPluginRules.ts index 75ffa2cb..0a9bd7bc 100644 --- a/packages/eslint-config/src/rules/nextPluginRules.ts +++ b/packages/eslint-config/src/rules/nextPluginRules.ts @@ -1,4 +1,4 @@ -import { Linter } from '@typescript-eslint/utils/ts-eslint'; +import type { Linter } from '@typescript-eslint/utils/ts-eslint'; export const nextPluginRules: Linter.RulesRecord = { // Breaks with ESLint 9, should be activated after the next plugin is updated diff --git a/packages/eslint-config/src/rules/reactHooksRules.ts b/packages/eslint-config/src/rules/reactHooksRules.ts index 408fcb32..29beaae2 100644 --- a/packages/eslint-config/src/rules/reactHooksRules.ts +++ b/packages/eslint-config/src/rules/reactHooksRules.ts @@ -1,4 +1,4 @@ -import { Linter } from '@typescript-eslint/utils/ts-eslint'; +import type { Linter } from '@typescript-eslint/utils/ts-eslint'; export const reactHooksRules: Linter.RulesRecord = { 'react-hooks/exhaustive-deps': 'warn', diff --git a/packages/eslint-config/src/rules/reactRules.ts b/packages/eslint-config/src/rules/reactRules.ts index c1c2ef34..54c84332 100644 --- a/packages/eslint-config/src/rules/reactRules.ts +++ b/packages/eslint-config/src/rules/reactRules.ts @@ -1,4 +1,4 @@ -import { Linter } from '@typescript-eslint/utils/ts-eslint'; +import type { Linter } from '@typescript-eslint/utils/ts-eslint'; export const reactRules: Linter.RulesRecord = { // Disable JS specific rules diff --git a/packages/eslint-config/src/rules/typescriptRules.ts b/packages/eslint-config/src/rules/typescriptRules.ts index 3fb7a0e5..1feb58c0 100644 --- a/packages/eslint-config/src/rules/typescriptRules.ts +++ b/packages/eslint-config/src/rules/typescriptRules.ts @@ -5,8 +5,14 @@ export const typescriptRules: Linter.RulesRecord = { '@typescript-eslint/no-empty-function': 'off', '@typescript-eslint/array-type': 'off', - '@typescript-eslint/consistent-type-imports': 'error', '@typescript-eslint/explicit-function-return-type': 'error', + '@typescript-eslint/consistent-type-imports': [ + 'error', + { + prefer: 'type-imports', + fixStyle: 'separate-type-imports', + }, + ], '@typescript-eslint/no-unused-vars': [ 'error', { diff --git a/packages/eslint-plugin/src/configs/all.ts b/packages/eslint-plugin/src/configs/all.ts index c6f48339..0c04e079 100644 --- a/packages/eslint-plugin/src/configs/all.ts +++ b/packages/eslint-plugin/src/configs/all.ts @@ -1,4 +1,4 @@ -import { Linter } from '@typescript-eslint/utils/ts-eslint'; +import type { Linter } from '@typescript-eslint/utils/ts-eslint'; export const all: Linter.RulesRecord = { '@commencis/copyright-text': 'error', diff --git a/packages/eslint-plugin/src/configs/recommended.ts b/packages/eslint-plugin/src/configs/recommended.ts index 1247e56c..287f9029 100644 --- a/packages/eslint-plugin/src/configs/recommended.ts +++ b/packages/eslint-plugin/src/configs/recommended.ts @@ -1,4 +1,4 @@ -import { Linter } from '@typescript-eslint/utils/ts-eslint'; +import type { Linter } from '@typescript-eslint/utils/ts-eslint'; export const recommended: Linter.RulesRecord = { '@commencis/copyright-text': 'off', diff --git a/packages/eslint-plugin/src/index.ts b/packages/eslint-plugin/src/index.ts index 97932930..3c6bcac2 100644 --- a/packages/eslint-plugin/src/index.ts +++ b/packages/eslint-plugin/src/index.ts @@ -1,10 +1,10 @@ import type { Linter } from '@typescript-eslint/utils/ts-eslint'; +import packageJson from '../package.json'; + import { all, recommended } from '@/configs'; import rules from '@/rules'; -import packageJson from '../package.json'; - const plugin = { meta: { name: packageJson.name, diff --git a/packages/eslint-plugin/src/rules/copyright-text.ts b/packages/eslint-plugin/src/rules/copyright-text.ts index 21a07796..cdf232d4 100644 --- a/packages/eslint-plugin/src/rules/copyright-text.ts +++ b/packages/eslint-plugin/src/rules/copyright-text.ts @@ -1,4 +1,4 @@ -import { TSESTree } from '@typescript-eslint/utils'; +import type { TSESTree } from '@typescript-eslint/utils'; import { DEFAULT_START_YEAR } from '@/constants'; import { diff --git a/packages/eslint-plugin/src/utils/validateCommencisCopyright.ts b/packages/eslint-plugin/src/utils/validateCommencisCopyright.ts index f35f6957..00bff48e 100644 --- a/packages/eslint-plugin/src/utils/validateCommencisCopyright.ts +++ b/packages/eslint-plugin/src/utils/validateCommencisCopyright.ts @@ -1,4 +1,4 @@ -import { AST_TOKEN_TYPES, TSESTree } from '@typescript-eslint/utils'; +import { AST_TOKEN_TYPES, type TSESTree } from '@typescript-eslint/utils'; export function validateCommencisCopyright( comment?: TSESTree.Comment | string diff --git a/packages/lint-staged-config/src/configs/base.ts b/packages/lint-staged-config/src/configs/base.ts index d0b254fc..3f3b4107 100644 --- a/packages/lint-staged-config/src/configs/base.ts +++ b/packages/lint-staged-config/src/configs/base.ts @@ -1,4 +1,4 @@ -import { Configuration } from 'lint-staged'; +import type { Configuration } from 'lint-staged'; import { JSON, MDX } from '@/constants'; import { PRETTIER } from '@/helpers'; diff --git a/packages/lint-staged-config/src/configs/next.ts b/packages/lint-staged-config/src/configs/next.ts index f66e207b..7e2addbc 100644 --- a/packages/lint-staged-config/src/configs/next.ts +++ b/packages/lint-staged-config/src/configs/next.ts @@ -1,4 +1,4 @@ -import { Configuration } from 'lint-staged'; +import type { Configuration } from 'lint-staged'; import { SCSS } from '@/constants'; import { STYLELINT } from '@/helpers'; diff --git a/packages/lint-staged-config/src/configs/react-native.ts b/packages/lint-staged-config/src/configs/react-native.ts index 3f4e7e6b..fa6656b7 100644 --- a/packages/lint-staged-config/src/configs/react-native.ts +++ b/packages/lint-staged-config/src/configs/react-native.ts @@ -1,4 +1,4 @@ -import { Configuration } from 'lint-staged'; +import type { Configuration } from 'lint-staged'; import { typescriptConfig } from './typescript'; diff --git a/packages/lint-staged-config/src/configs/react.ts b/packages/lint-staged-config/src/configs/react.ts index 15a6b2c1..5054193a 100644 --- a/packages/lint-staged-config/src/configs/react.ts +++ b/packages/lint-staged-config/src/configs/react.ts @@ -1,4 +1,4 @@ -import { Configuration } from 'lint-staged'; +import type { Configuration } from 'lint-staged'; import { SCSS } from '@/constants'; import { STYLELINT } from '@/helpers'; diff --git a/packages/lint-staged-config/src/configs/typescript.ts b/packages/lint-staged-config/src/configs/typescript.ts index 37e982c1..9468ca6a 100644 --- a/packages/lint-staged-config/src/configs/typescript.ts +++ b/packages/lint-staged-config/src/configs/typescript.ts @@ -1,4 +1,4 @@ -import { Configuration } from 'lint-staged'; +import type { Configuration } from 'lint-staged'; import { JSX_TSX } from '@/constants'; import { ESLINT } from '@/helpers'; diff --git a/packages/lint-staged-config/src/configs/vue.ts b/packages/lint-staged-config/src/configs/vue.ts index b697045b..ce3ed6ce 100644 --- a/packages/lint-staged-config/src/configs/vue.ts +++ b/packages/lint-staged-config/src/configs/vue.ts @@ -1,4 +1,4 @@ -import { Configuration } from 'lint-staged'; +import type { Configuration } from 'lint-staged'; import { SCSS, VUE } from '@/constants'; import { ESLINT, STYLELINT } from '@/helpers'; diff --git a/packages/stylelint-config/src/configs/css-modules.ts b/packages/stylelint-config/src/configs/css-modules.ts index 58918ae9..da23c1e7 100644 --- a/packages/stylelint-config/src/configs/css-modules.ts +++ b/packages/stylelint-config/src/configs/css-modules.ts @@ -1,9 +1,9 @@ -import { StylelintConfig } from '@/types'; - -import { cssModulesRules } from '@/rules'; +import type { StylelintConfig } from '@/types'; import cssConfig from './css'; +import { cssModulesRules } from '@/rules'; + const cssModulesConfig: StylelintConfig = { ...cssConfig, overrides: [ diff --git a/packages/stylelint-config/src/configs/css.ts b/packages/stylelint-config/src/configs/css.ts index a3c4726d..45f424f3 100644 --- a/packages/stylelint-config/src/configs/css.ts +++ b/packages/stylelint-config/src/configs/css.ts @@ -1,4 +1,4 @@ -import { StylelintConfig } from '@/types'; +import type { StylelintConfig } from '@/types'; import { cssRules, orderRules } from '@/rules'; import { stylisticRules } from '@/rules/stylisticRules'; diff --git a/packages/stylelint-config/src/configs/scss-modules.ts b/packages/stylelint-config/src/configs/scss-modules.ts index 491d7453..688baf50 100644 --- a/packages/stylelint-config/src/configs/scss-modules.ts +++ b/packages/stylelint-config/src/configs/scss-modules.ts @@ -1,9 +1,9 @@ -import { StylelintConfig } from '@/types'; - -import { cssModulesRules, scssModulesRules } from '@/rules'; +import type { StylelintConfig } from '@/types'; import scssConfig from './scss'; +import { cssModulesRules, scssModulesRules } from '@/rules'; + const scssModulesConfig: StylelintConfig = { ...scssConfig, overrides: [ diff --git a/packages/stylelint-config/src/configs/scss.ts b/packages/stylelint-config/src/configs/scss.ts index d7b83586..d40a1240 100644 --- a/packages/stylelint-config/src/configs/scss.ts +++ b/packages/stylelint-config/src/configs/scss.ts @@ -1,4 +1,4 @@ -import { StylelintConfig } from '@/types'; +import type { StylelintConfig } from '@/types'; import { cssRules, orderRules, scssRules } from '@/rules'; import { stylisticRules } from '@/rules/stylisticRules'; diff --git a/packages/stylelint-config/src/configs/styled.ts b/packages/stylelint-config/src/configs/styled.ts index 53c0dc74..2bc0003b 100644 --- a/packages/stylelint-config/src/configs/styled.ts +++ b/packages/stylelint-config/src/configs/styled.ts @@ -1,4 +1,4 @@ -import { StylelintConfig } from '@/types'; +import type { StylelintConfig } from '@/types'; import { cssRules, orderRules, styledRules } from '@/rules'; diff --git a/packages/stylelint-config/src/configs/vue-scss.ts b/packages/stylelint-config/src/configs/vue-scss.ts index 4024f330..6022619e 100644 --- a/packages/stylelint-config/src/configs/vue-scss.ts +++ b/packages/stylelint-config/src/configs/vue-scss.ts @@ -1,9 +1,9 @@ -import { StylelintConfig } from '@/types'; - -import { vueCssRules, vueScssRules } from '@/rules'; +import type { StylelintConfig } from '@/types'; import scssConfig from './scss'; +import { vueCssRules, vueScssRules } from '@/rules'; + const vueScssConfig: StylelintConfig = { ...scssConfig, overrides: [ diff --git a/packages/stylelint-config/src/configs/vue.ts b/packages/stylelint-config/src/configs/vue.ts index de9fa98b..c0b02329 100644 --- a/packages/stylelint-config/src/configs/vue.ts +++ b/packages/stylelint-config/src/configs/vue.ts @@ -1,9 +1,9 @@ -import { StylelintConfig } from '@/types'; - -import { vueCssRules } from '@/rules'; +import type { StylelintConfig } from '@/types'; import cssConfig from './css'; +import { vueCssRules } from '@/rules'; + const vueCssConfig: StylelintConfig = { ...cssConfig, overrides: [ diff --git a/packages/stylelint-config/src/types/stylelintConfig.ts b/packages/stylelint-config/src/types/stylelintConfig.ts index 6cf7fcf4..e2c2a469 100644 --- a/packages/stylelint-config/src/types/stylelintConfig.ts +++ b/packages/stylelint-config/src/types/stylelintConfig.ts @@ -1,4 +1,4 @@ -import { Config } from 'stylelint'; +import type { Config } from 'stylelint'; type BaseConfig = Omit; diff --git a/packages/stylelint-config/src/utils/orderRuleCreators.ts b/packages/stylelint-config/src/utils/orderRuleCreators.ts index 3a9c0e44..ed38ba65 100644 --- a/packages/stylelint-config/src/utils/orderRuleCreators.ts +++ b/packages/stylelint-config/src/utils/orderRuleCreators.ts @@ -1,4 +1,4 @@ -import { +import type { EmptyLineBeforeOption, OrderAtRule, OrderRule, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 57020994..c45c0421 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,8 +15,8 @@ importers: specifier: 1.1.4 version: 1.1.4 '@commencis/eslint-config': - specifier: 1.7.5 - version: 1.7.5(@typescript-eslint/parser@8.40.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.34.0(jiti@2.5.1))(prettier@3.6.2)(typescript@5.9.2)(vue-eslint-parser@10.2.0(eslint@9.34.0(jiti@2.5.1))) + specifier: 2.0.0 + version: 2.0.0(@typescript-eslint/parser@8.40.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.34.0(jiti@2.5.1))(prettier@3.6.2)(typescript@5.9.2)(vue-eslint-parser@10.2.0(eslint@9.34.0(jiti@2.5.1))) '@commencis/lint-staged-config': specifier: 1.0.0 version: 1.0.0 @@ -309,8 +309,8 @@ packages: '@commencis/commitlint-config@1.1.4': resolution: {integrity: sha512-9TcBArqHAaKOYDESG0JMaUHZEhNJzxdFN4fOGsLOiWdsbpeQ5/dLHuWa2MVtMChcpRRcZ9JPiTSaNdZxftt0cA==} - '@commencis/eslint-config@1.7.5': - resolution: {integrity: sha512-JIrfvp04IUXRzUdgrKSlBRXV0vCam63vPK76iN37Gl9GamWmoC2SF5XKZwt9mHi7hnDiZ/LLrm6XzcGRwAd3+g==} + '@commencis/eslint-config@2.0.0': + resolution: {integrity: sha512-DkwiK4dmACxzb0k5WZWPWWjVxV54lBCiK3gIRr6wYJOX4K5qLyHkeAl3EC3hEcScDkONXMA4n5smHP4hV+mc6g==} peerDependencies: eslint: '>= 9.7' @@ -602,10 +602,6 @@ packages: resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.33.0': - resolution: {integrity: sha512-5K1/mKhWaMfreBGJTwval43JJmkip0RmM+3+IuqupeSKNC/Th2Kc7ucaq5ovTSra/OOKB9c58CGSz3QMVbWt0A==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.34.0': resolution: {integrity: sha512-EoyvqQnBNsV1CWaEJ559rxXL4c8V92gxirbawSmVUOWXlsRxxQXl6LmCpdUblgxgSkDIqKnhzba2SjRTI/A5Rw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -3312,9 +3308,9 @@ snapshots: dependencies: '@commitlint/config-conventional': 19.8.1 - '@commencis/eslint-config@1.7.5(@typescript-eslint/parser@8.40.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.34.0(jiti@2.5.1))(prettier@3.6.2)(typescript@5.9.2)(vue-eslint-parser@10.2.0(eslint@9.34.0(jiti@2.5.1)))': + '@commencis/eslint-config@2.0.0(@typescript-eslint/parser@8.40.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.34.0(jiti@2.5.1))(prettier@3.6.2)(typescript@5.9.2)(vue-eslint-parser@10.2.0(eslint@9.34.0(jiti@2.5.1)))': dependencies: - '@eslint/js': 9.33.0 + '@eslint/js': 9.34.0 '@next/eslint-plugin-next': 15.5.0 '@typescript-eslint/utils': 8.40.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) eslint: 9.34.0(jiti@2.5.1) @@ -3583,8 +3579,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.33.0': {} - '@eslint/js@9.34.0': {} '@eslint/object-schema@2.1.6': {}