8000 chore: control dependency import into `nuxt/app` · nuxt/nuxt@1adf3e3 · GitHub
[go: up one dir, main page]

Skip to content

Commit 1adf3e3

Browse files
committed
chore: control dependency import into nuxt/app
1 parent 3174adb commit 1adf3e3

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

eslint.config.mjs

+49
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,55 @@ export default createConfigForNuxt({
166166
'no-console': 'off',
167167
},
168168
},
169+
// manually specify dependencies for nuxt browser app
170+
{
171+
files: ['packages/nuxt/src/app/**', 'packages/nuxt/src/(components,head,imports,pages)/runtime/**'],
172+
name: 'local/client-packages',
173+
rules: {
174+
'@typescript-eslint/no-restricted-imports': ['error', {
175+
'patterns': [
176+
{
177+
allowTypeImports: true,
178+
group: [
179+
// disallow everything
180+
'[@a-z]*',
181+
// except certain dependencies
182+
...[
183+
// vue ecosystem
184+
'@unhead',
185+
'@vue',
186+
'@vue/shared',
187+
'vue/server-renderer',
188+
'vue',
189+
'vue-router',
190+
// other deps
191+
'devalue',
192+
'klona',
193+
// unjs ecosystem
194+
'defu',
195+
'ufo',
196+
'h3',
197+
'destr',
198+
'consola',
199+
'hookable',
200+
'unctx',
201+
'cookie-es',
202+
'perfect-debounce',
203+
'radix3',
204+
'ohash',
205+
'pathe',
206+
'uncrypto',
207+
// internal deps
208+
'nuxt/app',
209+
].map(r => `!${r}`),
210+
'!#[a-z]*/**', // aliases
211+
'!.*/**', // relative imports
212+
],
213+
},
214+
],
215+
}],
216+
},
217+
},
169218
{
170219
files: ['**/fixtures/**', '**/fixture/**'],
171220
name: 'local/disables/fixtures',

0 commit comments

Comments
 (0)
0