diff --git a/packages/module/src/modules/config/addons/globals.ts b/packages/module/src/modules/config/addons/globals.ts index 60b73058..d025926e 100644 --- a/packages/module/src/modules/config/addons/globals.ts +++ b/packages/module/src/modules/config/addons/globals.ts @@ -4,22 +4,32 @@ import type { Linter } from 'eslint' import type { ESLintConfigGenAddon } from '../../../types' export function createAddonGlobals(nuxt: Nuxt): ESLintConfigGenAddon { - let unimport: Unimport + let unimport: Unimport | undefined + let nitroUnimport: Unimport | undefined nuxt.hook('imports:context', (context) => { unimport = context }) + nuxt.hook('nitro:init', (nitro) => { + nitroUnimport = nitro.unimport + }) + return { name: 'nuxt:eslint:import-globals', async getConfigs() { + const imports = [ + ...await unimport?.getImports() || [], + ...await nitroUnimport?.getImports() || [], + ] + return { configs: [ - '// Set globals from imports registry\n' - + JSON.stringify({ + '// Set globals from imports registry', + JSON.stringify({ name: 'nuxt/import-globals', languageOptions: { - globals: Object.fromEntries((await unimport.getImports()).map(i => [i.as || i.name, 'readonly'])), + globals: Object.fromEntries(imports.map(i => [i.as || i.name, 'readonly'])), }, }), ], diff --git a/packages/module/src/types.ts b/packages/module/src/types.ts index df9ef94c..7930383e 100644 --- a/packages/module/src/types.ts +++ b/packages/module/src/types.ts @@ -123,7 +123,7 @@ export interface ESLintConfigGenAddonResult { */ imports?: Import[] /** - * Flat config items, should be stringified + * Flat config items, should be stringified lines */ configs?: string[] }