diff --git a/.eslintignore b/.eslintignore
deleted file mode 100644
index 2974196847e467..00000000000000
--- a/.eslintignore
+++ /dev/null
@@ -1,3 +0,0 @@
-dist
-playground-temp
-temp
diff --git a/.eslintrc.cjs b/.eslintrc.cjs
deleted file mode 100644
index 70fbf8dfca8bf7..00000000000000
--- a/.eslintrc.cjs
+++ /dev/null
@@ -1,260 +0,0 @@
-// @ts-check
-const { builtinModules } = require('node:module')
-const { defineConfig } = require('eslint-define-config')
-const pkg = require('./package.json')
-
-///
-
-module.exports = defineConfig({
- root: true,
- extends: [
- 'eslint:recommended',
- 'plugin:n/recommended',
- 'plugin:@typescript-eslint/recommended',
- 'plugin:@typescript-eslint/stylistic',
- 'plugin:regexp/recommended',
- ],
- ignorePatterns: ['packages/create-vite/template-**'],
- plugins: ['i', 'regexp'],
- parser: '@typescript-eslint/parser',
- parserOptions: {
- sourceType: 'module',
- ecmaVersion: 2022,
- },
- rules: {
- eqeqeq: ['warn', 'always', { null: 'never' }],
- 'no-debugger': ['error'],
- 'no-empty': ['warn', { allowEmptyCatch: true }],
- 'no-process-exit': 'off',
- 'no-useless-escape': 'off',
- 'prefer-const': [
- 'warn',
- {
- destructuring: 'all',
- },
- ],
-
- 'n/no-process-exit': 'off',
- 'n/no-missing-import': 'off',
- 'n/no-missing-require': [
- 'error',
- {
- // for try-catching yarn pnp
- allowModules: ['pnpapi', 'vite'],
- tryExtensions: ['.ts', '.js', '.jsx', '.tsx', '.d.ts'],
- },
- ],
- 'n/no-extraneous-import': [
- 'error',
- {
- allowModules: ['vite', 'less', 'sass', 'vitest', 'unbuild'],
- },
- ],
- 'n/no-extraneous-require': [
- 'error',
- {
- allowModules: ['vite'],
- },
- ],
- 'n/no-deprecated-api': 'off',
- 'n/no-unpublished-import': 'off',
- 'n/no-unpublished-require': 'off',
- 'n/no-unsupported-features/es-syntax': 'off',
-
- '@typescript-eslint/ban-ts-comment': 'error',
- '@typescript-eslint/ban-types': 'off', // TODO: we should turn this on in a new PR
- '@typescript-eslint/explicit-module-boundary-types': [
- 'error',
- { allowArgumentsExplicitlyTypedAsAny: true },
- ],
- '@typescript-eslint/no-empty-function': [
- 'error',
- { allow: ['arrowFunctions'] },
- ],
- '@typescript-eslint/no-empty-interface': 'off',
- '@typescript-eslint/no-explicit-any': 'off', // maybe we should turn this on in a new PR
- 'no-extra-semi': 'off',
- '@typescript-eslint/no-extra-semi': 'off', // conflicts with prettier
- '@typescript-eslint/no-inferrable-types': 'off',
- '@typescript-eslint/no-unused-vars': 'off', // maybe we should turn this on in a new PR
- '@typescript-eslint/no-var-requires': 'off',
- '@typescript-eslint/consistent-type-imports': [
- 'error',
- { prefer: 'type-imports', disallowTypeAnnotations: false },
- ],
- // disable rules set in @typescript-eslint/stylistic v6 that wasn't set in @typescript-eslint/recommended v5 and which conflict with current code
- // maybe we should turn them on in a new PR
- '@typescript-eslint/array-type': 'off',
- '@typescript-eslint/ban-tslint-comment': 'off',
- '@typescript-eslint/consistent-generic-constructors': 'off',
- '@typescript-eslint/consistent-indexed-object-style': 'off',
- '@typescript-eslint/consistent-type-definitions': 'off',
- '@typescript-eslint/prefer-for-of': 'off',
- '@typescript-eslint/prefer-function-type': 'off',
-
- 'i/no-nodejs-modules': [
- 'error',
- { allow: builtinModules.map((mod) => `node:${mod}`) },
- ],
- 'i/no-duplicates': 'error',
- 'i/order': 'error',
- 'sort-imports': [
- 'error',
- {
- ignoreCase: false,
- ignoreDeclarationSort: true,
- ignoreMemberSort: false,
- memberSyntaxSortOrder: ['none', 'all', 'multiple', 'single'],
- allowSeparatedGroups: false,
- },
- ],
-
- 'regexp/no-contradiction-with-assertion': 'error',
- // in some cases using explicit letter-casing is more performant than the `i` flag
- 'regexp/use-ignore-case': 'off',
- },
- overrides: [
- {
- files: ['packages/**'],
- excludedFiles: '**/__tests__/**',
- rules: {
- 'no-restricted-globals': [
- 'error',
- 'require',
- '__dirname',
- '__filename',
- ],
- },
- },
- {
- files: 'packages/vite/**/*.*',
- rules: {
- 'n/no-restricted-require': [
- 'error',
- Object.keys(
- require('./packages/vite/package.json').devDependencies,
- ).map((d) => ({
- name: d,
- message:
- `devDependencies can only be imported using ESM syntax so ` +
- `that they are included in the rollup bundle. If you are trying to ` +
- `lazy load a dependency, use (await import('dependency')).default instead.`,
- })),
- ],
- },
- },
- {
- files: ['packages/vite/src/node/**'],
- excludedFiles: '**/__tests__/**',
- rules: {
- 'no-console': ['error'],
- },
- },
- {
- files: ['packages/vite/src/client/**'],
- excludedFiles: '**/__tests__/**',
- rules: {
- 'n/no-unsupported-features/node-builtins': 'off',
- },
- },
- {
- files: [
- 'packages/vite/src/types/**',
- 'packages/vite/scripts/**',
- '*.spec.ts',
- ],
- rules: {
- 'n/no-extraneous-import': 'off',
- },
- },
- {
- files: ['packages/create-vite/template-*/**', '**/build.config.ts'],
- rules: {
- 'no-undef': 'off',
- 'n/no-missing-import': 'off',
- '@typescript-eslint/explicit-module-boundary-types': 'off',
- },
- },
- {
- files: ['playground/**'],
- rules: {
- 'n/no-extraneous-import': 'off',
- 'n/no-extraneous-require': 'off',
- 'n/no-missing-import': 'off',
- 'n/no-missing-require': 'off',
- 'n/no-unsupported-features/es-builtins': 'off',
- 'n/no-unsupported-features/node-builtins': 'off',
- '@typescript-eslint/explicit-module-boundary-types': 'off',
- },
- },
- {
- files: ['playground/**'],
- excludedFiles: '**/__tests__/**',
- rules: {
- 'no-undef': 'off',
- 'no-empty': 'off',
- 'no-constant-condition': 'off',
- '@typescript-eslint/no-empty-function': 'off',
- },
- },
- {
- files: ['playground/**'],
- excludedFiles: [
- 'playground/ssr-resolve/**',
- 'playground/**/*{commonjs,cjs}*/**',
- 'playground/**/*{commonjs,cjs}*',
- 'playground/**/*dep*/**',
- 'playground/resolve/browser-module-field2/index.web.js',
- 'playground/resolve/browser-field/**',
- 'playground/tailwind/**', // blocked by https://github.com/postcss/postcss-load-config/issues/239
- ],
- rules: {
- 'i/no-commonjs': 'error',
- },
- },
- {
- files: ['playground/**/__tests__/**'],
- rules: {
- // engine field doesn't exist in playgrounds
- 'n/no-unsupported-features/es-builtins': [
- 'error',
- {
- version: pkg.engines.node,
- },
- ],
- 'n/no-unsupported-features/node-builtins': [
- 'error',
- {
- version: pkg.engines.node,
- // ideally we would like to allow all experimental features
- // https://github.com/eslint-community/eslint-plugin-n/issues/199
- ignores: ['fetch'],
- },
- ],
- },
- },
- {
- files: [
- 'playground/tsconfig-json/**',
- 'playground/tsconfig-json-load-error/**',
- ],
- excludedFiles: '**/__tests__/**',
- rules: {
- '@typescript-eslint/ban-ts-comment': 'off',
- },
- },
- {
- files: ['*.js', '*.mjs', '*.cjs'],
- rules: {
- '@typescript-eslint/explicit-module-boundary-types': 'off',
- },
- },
- {
- files: ['*.d.ts'],
- rules: {
- '@typescript-eslint/triple-slash-reference': 'off',
- },
- },
- ],
- reportUnusedDisableDirectives: true,
-})
diff --git a/docs/.vitepress/buildEnd.config.ts b/docs/.vitepress/buildEnd.config.ts
index b819e3acf487c0..52a3625ceb3957 100644
--- a/docs/.vitepress/buildEnd.config.ts
+++ b/docs/.vitepress/buildEnd.config.ts
@@ -1,12 +1,13 @@
-import path from 'path'
-import { writeFileSync } from 'fs'
+import path from 'node:path'
+import { writeFileSync } from 'node:fs'
import { Feed } from 'feed'
-import { createContentLoader, type SiteConfig } from 'vitepress'
+import type { SiteConfig } from 'vitepress'
+import { createContentLoader } from 'vitepress'
const siteUrl = 'https://vitejs.dev'
const blogUrl = `${siteUrl}/blog`
-export const buildEnd = async (config: SiteConfig) => {
+export const buildEnd = async (config: SiteConfig): Promise => {
const feed = new Feed({
title: 'Vite',
description: 'Next Generation Frontend Tooling',
diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts
index bf659fdbe29e3e..440a14d3aea2a2 100644
--- a/docs/.vitepress/config.ts
+++ b/docs/.vitepress/config.ts
@@ -1,4 +1,5 @@
-import { defineConfig, DefaultTheme } from 'vitepress'
+import type { DefaultTheme } from 'vitepress'
+import { defineConfig } from 'vitepress'
import { transformerTwoslash } from '@shikijs/vitepress-twoslash'
import { buildEnd } from './buildEnd.config'
diff --git a/docs/.vitepress/theme/composables/sponsor.ts b/docs/.vitepress/theme/composables/sponsor.ts
index 78fd30a124e331..63c91e0822719c 100644
--- a/docs/.vitepress/theme/composables/sponsor.ts
+++ b/docs/.vitepress/theme/composables/sponsor.ts
@@ -1,4 +1,4 @@
-import { ref, onMounted, onUnmounted } from 'vue'
+import { onMounted, onUnmounted, ref } from 'vue'
interface Sponsors {
special: Sponsor[]
diff --git a/eslint.config.js b/eslint.config.js
new file mode 100644
index 00000000000000..5784d7484af2df
--- /dev/null
+++ b/eslint.config.js
@@ -0,0 +1,289 @@
+// @ts-check
+import { builtinModules, createRequire } from 'node:module'
+import eslint from '@eslint/js'
+import pluginN from 'eslint-plugin-n'
+import * as pluginI from 'eslint-plugin-i'
+import pluginRegExp from 'eslint-plugin-regexp'
+import tsParser from '@typescript-eslint/parser'
+import tseslint from 'typescript-eslint'
+import globals from 'globals'
+
+const require = createRequire(import.meta.url)
+const pkg = require('./package.json')
+const pkgVite = require('./packages/vite/package.json')
+
+export default tseslint.config(
+ {
+ ignores: [
+ 'packages/create-vite/template-*',
+ '**/dist/**',
+ '**/fixtures/**',
+ '**/playground-temp/**',
+ '**/temp/**',
+ '**/.vitepress/cache/**',
+ '**/*.snap',
+ ],
+ },
+ eslint.configs.recommended,
+ ...tseslint.configs.recommended,
+ ...tseslint.configs.stylistic,
+ /** @type {any} */ (pluginRegExp.configs['flat/recommended']),
+ {
+ name: 'main',
+ languageOptions: {
+ parser: tsParser,
+ parserOptions: {
+ sourceType: 'module',
+ ecmaVersion: 2022,
+ },
+ globals: {
+ ...globals.es2021,
+ ...globals.node,
+ },
+ },
+ plugins: {
+ n: pluginN,
+ i: pluginI,
+ },
+ rules: {
+ 'n/no-exports-assign': 'error',
+ 'n/no-unpublished-bin': 'error',
+ 'n/no-unsupported-features/es-builtins': 'error',
+ 'n/no-unsupported-features/node-builtins': 'error',
+ 'n/process-exit-as-throw': 'error',
+ 'n/hashbang': 'error',
+
+ eqeqeq: ['warn', 'always', { null: 'never' }],
+ 'no-debugger': ['error'],
+ 'no-empty': ['warn', { allowEmptyCatch: true }],
+ 'no-process-exit': 'off',
+ 'no-useless-escape': 'off',
+ 'prefer-const': [
+ 'warn',
+ {
+ destructuring: 'all',
+ },
+ ],
+
+ 'n/no-missing-require': [
+ 'error',
+ {
+ // for try-catching yarn pnp
+ allowModules: ['pnpapi', 'vite'],
+ tryExtensions: ['.ts', '.js', '.jsx', '.tsx', '.d.ts'],
+ },
+ ],
+ 'n/no-extraneous-import': [
+ 'error',
+ {
+ allowModules: ['vite', 'less', 'sass', 'vitest', 'unbuild'],
+ },
+ ],
+ 'n/no-extraneous-require': [
+ 'error',
+ {
+ allowModules: ['vite'],
+ },
+ ],
+
+ '@typescript-eslint/ban-ts-comment': 'error',
+ '@typescript-eslint/ban-types': 'off', // TODO: we should turn this on in a new PR
+ '@typescript-eslint/explicit-module-boundary-types': [
+ 'error',
+ { allowArgumentsExplicitlyTypedAsAny: true },
+ ],
+ '@typescript-eslint/no-empty-function': [
+ 'error',
+ { allow: ['arrowFunctions'] },
+ ],
+ '@typescript-eslint/no-empty-interface': 'off',
+ '@typescript-eslint/no-explicit-any': 'off', // maybe we should turn this on in a new PR
+ 'no-extra-semi': 'off',
+ '@typescript-eslint/no-extra-semi': 'off', // conflicts with prettier
+ '@typescript-eslint/no-inferrable-types': 'off',
+ '@typescript-eslint/no-unused-vars': 'off', // maybe we should turn this on in a new PR
+ '@typescript-eslint/no-var-requires': 'off',
+ '@typescript-eslint/consistent-type-imports': [
+ 'error',
+ { prefer: 'type-imports', disallowTypeAnnotations: false },
+ ],
+ // disable rules set in @typescript-eslint/stylistic v6 that wasn't set in @typescript-eslint/recommended v5 and which conflict with current code
+ // maybe we should turn them on in a new PR
+ '@typescript-eslint/array-type': 'off',
+ '@typescript-eslint/ban-tslint-comment': 'off',
+ '@typescript-eslint/consistent-generic-constructors': 'off',
+ '@typescript-eslint/consistent-indexed-object-style': 'off',
+ '@typescript-eslint/consistent-type-definitions': 'off',
+ '@typescript-eslint/prefer-for-of': 'off',
+ '@typescript-eslint/prefer-function-type': 'off',
+
+ 'i/no-nodejs-modules': [
+ 'error',
+ { allow: builtinModules.map((mod) => `node:${mod}`) },
+ ],
+ 'i/no-duplicates': 'error',
+ 'i/order': 'error',
+ 'sort-imports': [
+ 'error',
+ {
+ ignoreCase: false,
+ ignoreDeclarationSort: true,
+ ignoreMemberSort: false,
+ memberSyntaxSortOrder: ['none', 'all', 'multiple', 'single'],
+ allowSeparatedGroups: false,
+ },
+ ],
+
+ 'regexp/no-contradiction-with-assertion': 'error',
+ // in some cases using explicit letter-casing is more performant than the `i` flag
+ 'regexp/use-ignore-case': 'off',
+ },
+ },
+ {
+ name: 'vite/globals',
+ files: ['packages/**/*.?([cm])[jt]s?(x)'],
+ ignores: ['**/__tests__/**'],
+ rules: {
+ 'no-restricted-globals': ['error', 'require', '__dirname', '__filename'],
+ },
+ },
+ {
+ name: 'vite/node',
+ files: ['packages/vite/src/node/**/*.?([cm])[jt]s?(x)'],
+ rules: {
+ 'no-console': ['error'],
+ 'n/no-restricted-require': [
+ 'error',
+ Object.keys(pkgVite.devDependencies).map((d) => ({
+ name: d,
+ message:
+ `devDependencies can only be imported using ESM syntax so ` +
+ `that they are included in the rollup bundle. If you are trying to ` +
+ `lazy load a dependency, use (await import('dependency')).default instead.`,
+ })),
+ ],
+ },
+ },
+ {
+ name: 'playground/enforce-esm',
+ files: ['playground/**/*.?([cm])[jt]s?(x)'],
+ ignores: [
+ 'playground/ssr-resolve/**',
+ 'playground/**/*{commonjs,cjs}*/**',
+ 'playground/**/*{commonjs,cjs}*',
+ 'playground/**/*dep*/**',
+ 'playground/resolve/browser-module-field2/index.web.js',
+ 'playground/resolve/browser-field/**',
+ 'playground/tailwind/**', // blocked by https://github.com/postcss/postcss-load-config/issues/239
+ ],
+ rules: {
+ 'i/no-commonjs': 'error',
+ },
+ },
+ {
+ name: 'playground/test',
+ files: ['playground/**/__tests__/**/*.?([cm])[jt]s?(x)'],
+ rules: {
+ // engine field doesn't exist in playgrounds
+ 'n/no-unsupported-features/es-builtins': [
+ 'error',
+ {
+ version: pkg.engines.node,
+ },
+ ],
+ 'n/no-unsupported-features/node-builtins': [
+ 'error',
+ {
+ version: pkg.engines.node,
+ // ideally we would like to allow all experimental features
+ // https://github.com/eslint-community/eslint-plugin-n/issues/199
+ ignores: ['fetch'],
+ },
+ ],
+ },
+ },
+
+ {
+ name: 'disables/vite/client',
+ files: ['packages/vite/src/client/**/*.?([cm])[jt]s?(x)'],
+ ignores: ['**/__tests__/**'],
+ rules: {
+ 'n/no-unsupported-features/node-builtins': 'off',
+ },
+ },
+ {
+ name: 'disables/vite/types',
+ files: [
+ 'packages/vite/src/types/**/*.?([cm])[jt]s?(x)',
+ 'packages/vite/scripts/**/*.?([cm])[jt]s?(x)',
+ '**/*.spec.ts',
+ ],
+ rules: {
+ 'n/no-extraneous-import': 'off',
+ },
+ },
+ {
+ name: 'disables/create-vite/templates',
+ files: [
+ 'packages/create-vite/template-*/**/*.?([cm])[jt]s?(x)',
+ '**/build.config.ts',
+ ],
+ rules: {
+ 'no-undef': 'off',
+ 'n/no-missing-import': 'off',
+ 'n/no-extraneous-import': 'off',
+ 'n/no-extraneous-require': 'off',
+ '@typescript-eslint/explicit-module-boundary-types': 'off',
+ },
+ },
+ {
+ name: 'disables/playground',
+ files: ['playground/**/*.?([cm])[jt]s?(x)', 'docs/**/*.?([cm])[jt]s?(x)'],
+ rules: {
+ 'n/no-extraneous-import': 'off',
+ 'n/no-extraneous-require': 'off',
+ 'n/no-missing-import': 'off',
+ 'n/no-missing-require': 'off',
+ 'n/no-unsupported-features/es-builtins': 'off',
+ 'n/no-unsupported-features/node-builtins': 'off',
+ '@typescript-eslint/explicit-module-boundary-types': 'off',
+ 'no-undef': 'off',
+ 'no-empty': 'off',
+ 'no-constant-condition': 'off',
+ '@typescript-eslint/no-empty-function': 'off',
+ },
+ },
+ {
+ name: 'disables/playground/tsconfig-json',
+ files: [
+ 'playground/tsconfig-json/**/*.?([cm])[jt]s?(x)',
+ 'playground/tsconfig-json-load-error/**/*.?([cm])[jt]s?(x)',
+ ],
+ ignores: ['**/__tests__/**'],
+ rules: {
+ '@typescript-eslint/ban-ts-comment': 'off',
+ },
+ },
+ {
+ name: 'disables/js',
+ files: ['**/*.js', '**/*.mjs', '**/*.cjs'],
+ rules: {
+ '@typescript-eslint/explicit-module-boundary-types': 'off',
+ },
+ },
+ {
+ name: 'disables/dts',
+ files: ['**/*.d.ts'],
+ rules: {
+ '@typescript-eslint/triple-slash-reference': 'off',
+ },
+ },
+ {
+ name: 'disables/test',
+ files: ['**/__tests__/**/*.?([cm])[jt]s?(x)'],
+ rules: {
+ 'no-console': 'off',
+ '@typescript-eslint/ban-ts-comment': 'off',
+ },
+ },
+)
diff --git a/package.json b/package.json
index baee8835083747..0d798546dec1c3 100644
--- a/package.json
+++ b/package.json
@@ -41,7 +41,7 @@
},
"devDependencies": {
"@babel/types": "^7.24.6",
- "@eslint-types/typescript-eslint": "^7.5.0",
+ "@eslint/js": "^9.3.0",
"@rollup/plugin-typescript": "^11.1.6",
"@types/babel__core": "^7.20.5",
"@types/babel__preset-env": "^7.9.6",
@@ -70,6 +70,7 @@
"execa": "^9.1.0",
"feed": "^4.2.2",
"fs-extra": "^11.2.0",
+ "globals": "^15.3.0",
"lint-staged": "^15.2.5",
"npm-run-all2": "^6.2.0",
"picocolors": "^1.0.1",
@@ -82,6 +83,7 @@
"tslib": "^2.6.2",
"tsx": "^4.11.0",
"typescript": "^5.2.2",
+ "typescript-eslint": "^7.10.0",
"unbuild": "^2.0.0",
"vite": "workspace:*",
"vitest": "^1.6.0"
diff --git a/packages/vite/types/customEvent.d.ts b/packages/vite/types/customEvent.d.ts
index b816a4c6c22907..9202738f8227fb 100644
--- a/packages/vite/types/customEvent.d.ts
+++ b/packages/vite/types/customEvent.d.ts
@@ -23,6 +23,7 @@ export interface WebSocketConnectionPayload {
* This might be removed in the future if we didn't find reasonable use cases.
* If you find this useful, please open an issue with details so we can discuss and make it stable API.
*/
+ // eslint-disable-next-line n/no-unsupported-features/node-builtins
webSocket: WebSocket
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 963a41c76dbdb2..5bbd41413a4ec3 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -27,9 +27,9 @@ importers:
'@babel/types':
specifier: ^7.24.6
version: 7.24.6
- '@eslint-types/typescript-eslint':
- specifier: ^7.5.0
- version: 7.5.0
+ '@eslint/js':
+ specifier: ^9.3.0
+ version: 9.3.0
'@rollup/plugin-typescript':
specifier: ^11.1.6
version: 11.1.6(rollup@4.13.0)(tslib@2.6.2)(typescript@5.2.2)
@@ -114,6 +114,9 @@ importers:
fs-extra:
specifier: ^11.2.0
version: 11.2.0
+ globals:
+ specifier: ^15.3.0
+ version: 15.3.0
lint-staged:
specifier: ^15.2.5
version: 15.2.5
@@ -150,6 +153,9 @@ importers:
typescript:
specifier: ^5.2.2
version: 5.2.2
+ typescript-eslint:
+ specifier: ^7.10.0
+ version: 7.10.0(eslint@8.57.0)(typescript@5.2.2)
unbuild:
specifier: ^2.0.0
version: 2.0.0(typescript@5.2.2)
@@ -1736,14 +1742,6 @@ packages:
'@jridgewell/gen-mapping': 0.3.5
'@jridgewell/trace-mapping': 0.3.25
- /@babel/code-frame@7.24.2:
- resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/highlight': 7.24.2
- picocolors: 1.0.1
- dev: true
-
/@babel/code-frame@7.24.6:
resolution: {integrity: sha512-ZJhac6FkEd1yhG2AHOmfcXG4ceoLltoCVJjN5XsWN9BifBQr+cHJbWi0h68HZuSORq+3WtJ2z0hwF2NG1b5kcA==}
engines: {node: '>=6.9.0'}
@@ -1976,12 +1974,6 @@ packages:
resolution: {integrity: sha512-WdJjwMEkmBicq5T9fm/cHND3+UlFa2Yj8ALLgmoSQAJZysYbBjw+azChSGPN4DSPLXOcooGRvDwZWMcF/mLO2Q==}
engines: {node: '>=6.9.0'}
- /@babel/helper-validator-identifier@7.24.5:
- resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==}
- engines: {node: '>=6.9.0'}
- requiresBuild: true
- dev: true
-
/@babel/helper-validator-identifier@7.24.6:
resolution: {integrity: sha512-4yA7s865JHaqUdRbnaxarZREuPTHrjpDT+pXoAZ1yhyo6uFnIEpS8VMu16siFOHDpZNKYv5BObhsB//ycbICyw==}
engines: {node: '>=6.9.0'}
@@ -2006,20 +1998,10 @@ packages:
'@babel/template': 7.24.6
'@babel/types': 7.24.6
- /@babel/highlight@7.24.2:
- resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==}
- engines: {node: '>=6.9.0'}
- requiresBuild: true
- dependencies:
- '@babel/helper-validator-identifier': 7.24.5
- chalk: 2.4.2
- js-tokens: 4.0.0
- picocolors: 1.0.1
- dev: true
-
/@babel/highlight@7.24.6:
resolution: {integrity: sha512-2YnuOp4HAk2BsBrJJvYCbItHx0zWscI1C3zgWkz+wDyD9I7GIVrfnLyrR4Y1VR+7p+chAEcrgRQYZAGIKMV7vQ==}
engines: {node: '>=6.9.0'}
+ requiresBuild: true
dependencies:
'@babel/helper-validator-identifier': 7.24.6
chalk: 2.4.2
@@ -3864,10 +3846,6 @@ packages:
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
dev: true
- /@eslint-types/typescript-eslint@7.5.0:
- resolution: {integrity: sha512-zKvsPBDq6o0L4p2sRtq8fxOtGc+mm37aZSXLsiD4DIRl2kYUxKNO9CKDTAgmuMYUzih9J7lbLxAomreLrdAiVQ==}
- dev: true
-
/@eslint/eslintrc@2.1.4:
resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -3890,6 +3868,11 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
+ /@eslint/js@9.3.0:
+ resolution: {integrity: sha512-niBqk8iwv96+yuTwjM6bWg8ovzAPF9qkICsGtcoa5/dmqcEMfdwNAX7+/OHcJHc7wj7XqPxH98oAHytFYlw6Sw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ dev: true
+
/@fastify/busboy@2.1.0:
resolution: {integrity: sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==}
engines: {node: '>=14'}
@@ -6461,7 +6444,7 @@ packages:
eslint: 8.57.0
eslint-plugin-es-x: 7.5.0(eslint@8.57.0)
get-tsconfig: 4.7.3
- globals: 15.1.0
+ globals: 15.3.0
ignore: 5.3.1
minimatch: 9.0.4
semver: 7.6.2
@@ -7093,8 +7076,8 @@ packages:
type-fest: 0.20.2
dev: true
- /globals@15.1.0:
- resolution: {integrity: sha512-926gJqg+4mkxwYKiFvoomM4J0kWESfk3qfTvRL2/oc/tK/eTDBbrfcKnSa2KtfdxB5onoL7D3A3qIHQFpd4+UA==}
+ /globals@15.3.0:
+ resolution: {integrity: sha512-cCdyVjIUVTtX8ZsPkq1oCsOsLmGIswqnjZYMJJTGaNApj1yHtLSymKhwH51ttirREn75z3p4k051clwg7rvNKA==}
engines: {node: '>=18'}
dev: true
@@ -8688,7 +8671,7 @@ packages:
resolution: {integrity: sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==}
engines: {node: '>=18'}
dependencies:
- '@babel/code-frame': 7.24.2
+ '@babel/code-frame': 7.24.6
index-to-position: 0.1.2
type-fest: 4.18.1
dev: true
@@ -9401,7 +9384,7 @@ packages:
rollup: 3.29.4
typescript: 5.2.2
optionalDependencies:
- '@babel/code-frame': 7.24.2
+ '@babel/code-frame': 7.24.6
dev: true
/rollup-plugin-dts@6.1.1(rollup@4.13.0)(typescript@5.2.2):
@@ -9415,7 +9398,7 @@ packages:
rollup: 4.13.0
typescript: 5.2.2
optionalDependencies:
- '@babel/code-frame': 7.24.2
+ '@babel/code-frame': 7.24.6
dev: true
/rollup-plugin-esbuild@6.1.1(esbuild@0.20.1)(rollup@4.13.0):
@@ -10200,6 +10183,25 @@ packages:
resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==}
dev: false
+ /typescript-eslint@7.10.0(eslint@8.57.0)(typescript@5.2.2):
+ resolution: {integrity: sha512-thO8nyqptXdfWHQrMJJiJyftpW8aLmwRNs11xA8pSrXneoclFPstQZqXvDWuH1WNL4CHffqHvYUeCHTit6yfhQ==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+ peerDependencies:
+ eslint: ^8.56.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/eslint-plugin': 7.10.0(@typescript-eslint/parser@7.10.0)(eslint@8.57.0)(typescript@5.2.2)
+ '@typescript-eslint/parser': 7.10.0(eslint@8.57.0)(typescript@5.2.2)
+ '@typescript-eslint/utils': 7.10.0(eslint@8.57.0)(typescript@5.2.2)
+ eslint: 8.57.0
+ typescript: 5.2.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/typescript@5.2.2:
resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==}
engines: {node: '>=14.17'}