-
Notifications
You must be signed in to change notification settings - Fork 74
Open
Labels
Description
Environment
- Operating System:
Linux
- Node Version:
v22.14.0
- Nuxt Version:
4.1.0
- CLI Version:
3.28.0
- Nitro Version:
2.12.5
- Package Manager:
[email protected]
- Builder:
-
- User Config:
modules
,devtools
,app
,css
,runtimeConfig
,compatibilityDate
,nitro
,vite
,eslint
,i18n
,primevue
,tailwindcss
- Runtime Modules:
@nuxt/[email protected]
,@nuxtjs/[email protected]
,@primevue/[email protected]
,@pinia/[email protected]
,[email protected]
,[email protected]
,@nuxtjs/[email protected]
- Build Modules:
-
Package
@nuxt/eslint
Reproduction
.
Describe the bug
- Updated Pinia
- Nuxt4 (using https://nuxt.com/docs/4.x/getting-started/upgrade)
After a few changes, then everything is working fine.
Now I wanted to lint the project.
❯ eslint
Oops! Something went wrong! :(
ESLint: 9.34.0
TypeError [ERR_INVALID_MODULE_SPECIFIER]: Invalid module ".nuxt/eslint.config.mjs" is not a valid package name imported from <project>/eslint.config.mjs
at parsePackageName (node:internal/modules/package_json_reader:222:11)
at Object.getPackageJSONURL (node:internal/modules/package_json_reader:234:5)
at packageResolve (node:internal/modules/esm/resolve:768:81)
at moduleResolve (node:internal/modules/esm/resolve:854:18)
at defaultResolve (node:internal/modules/esm/resolve:984:11)
at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:685:12)
at #cachedDefaultResolve (node:internal/modules/esm/loader:634:25)
at ModuleLoader.resolve (node:internal/modules/esm/loader:617:38)
at ModuleLoader.getModuleJobForImport (node:internal/modules/esm/loader:273:38)
at ModuleJob._link (node:internal/modules/esm/module_job:135:49)
Additional context
// <root>/eslint.config.mjs
// @ts-check
import withNuxt from '.nuxt/eslint.config.mjs'
export default withNuxt(
// Your custom configs here
)
// <root>/.nuxt/eslint.config.mjs
// ESLint config generated by Nuxt
/// <reference path="./eslint-typegen.d.ts" />
/* eslint-disable */
// @ts-nocheck
import typegen from '../node_modules/eslint-typegen/dist/index.mjs';
import { createConfigForNuxt, defineFlatConfigs, resolveOptions } from '../node_modules/@nuxt/eslint-config/dist/flat.mjs';
import { fileURLToPath } from 'node:url';
const r = (...args) => fileURLToPath(new URL(...args, import.meta.url))
export { defineFlatConfigs }
export const options = resolveOptions({
features: {
"standalone": true,
"stylistic": true
},
dirs: {
pages: ["app/pages"],
composables: ["app/composables", "app/utils"],
components: ["app/components"],
componentsPrefixed: [],
layouts: ["app/layouts"],
plugins: ["app/plugins"],
middleware: ["app/middleware"],
modules: ["modules"],
servers: [],
root: [],
src: ["app"],
}
})
export const configs = createConfigForNuxt(options)
configs.append(
// Set globals from imports registry
{
name: 'nuxt/import-globals',
languageOptions: {
globals: Object.fromEntries([" ..... redacted ..... "].map(i => [i, 'readonly'])),
},
}
)
export function withNuxt(...customs) {
return configs
.clone()
.append(...customs)
.onResolved(configs => typegen(configs, { dtsPath: r("./eslint-typegen.d.ts"), augmentFlatConfigUtils: true }))
}
export default withNuxt
Logs
TJacoob