Skip to content

Commit

Permalink
feat: improve error messages for plugin conflicts, close #450, close #…
Browse files Browse the repository at this point in the history
  • Loading branch information
antfu committed Aug 19, 2024
1 parent e1471fc commit bc0559e
Show file tree
Hide file tree
Showing 5 changed files with 100 additions and 654 deletions.
2 changes: 1 addition & 1 deletion packages/eslint-config/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@
"@typescript-eslint/eslint-plugin": "^8.1.0",
"@typescript-eslint/parser": "^8.1.0",
"eslint-config-flat-gitignore": "^0.1.8",
"eslint-flat-config-utils": "^0.3.0",
"eslint-flat-config-utils": "^0.3.1",
"eslint-plugin-import-x": "^3.1.0",
"eslint-plugin-jsdoc": "^50.2.2",
"eslint-plugin-regexp": "^2.6.0",
Expand Down
10 changes: 10 additions & 0 deletions packages/eslint-config/src/flat/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,16 @@ export function createConfigForNuxt(
c.append(...userConfigs)
}

c
.setPluginConflictsError()
.setPluginConflictsError('import', [
'Different instances of plugin "{{pluginName}}" found in multiple configs:',
'{{configNames}}.',
'You might forget to set `standalone: false`.',
'Please refer to https://eslint.nuxt.com/packages/module#custom-config-presets.',
'',
].join('\n'))

return c
}

Expand Down
2 changes: 1 addition & 1 deletion packages/module/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@
"@nuxt/eslint-plugin": "workspace:*",
"@nuxt/kit": "^3.12.4",
"chokidar": "^3.6.0",
"eslint-flat-config-utils": "^0.3.0",
"eslint-flat-config-utils": "^0.3.1",
"eslint-typegen": "^0.3.1",
"find-up": "^7.0.0",
"get-port-please": "^3.1.2",
Expand Down
24 changes: 12 additions & 12 deletions packages/module/src/modules/config/generate.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,6 @@ export async function generateESLintConfig(options: ModuleOptions, nuxt: Nuxt, a
}

importLines.push(
{
from: 'eslint-flat-config-utils',
name: 'composer',
},
{
from: 'eslint-typegen',
name: 'default',
Expand All @@ -51,8 +47,6 @@ export async function generateESLintConfig(options: ModuleOptions, nuxt: Nuxt, a
dirs: getDirs(nuxt),
}

configItems.push(`// Nuxt Configs\ncreateConfigForNuxt(options)`)

for (const addon of addons) {
const resolved = await addon.getConfigs()
if (resolved?.imports)
Expand Down Expand Up @@ -83,14 +77,20 @@ export async function generateESLintConfig(options: ModuleOptions, nuxt: Nuxt, a
'',
'export { defineFlatConfigs }',
'',
`export const configs = composer()`,
'',
`export const options = resolveOptions(${JSON.stringify(basicOptions, null, 2)})`,
``,
`configs.append(`,
configItems.join(',\n\n'),
`)`,
'',
`export const configs = createConfigForNuxt(options)`,

...(configItems.length
? [
'',
`configs.append(`,
configItems.join(',\n\n'),
`)`,
'',
]
: []),

'export function withNuxt(...customs) {',
' return configs',
' .clone()',
Expand Down
Loading

0 comments on commit bc0559e

Please sign in to comment.