Skip to content

Commit

Permalink
fix(nuxt): don't exclude pnpm layers from nitro esbuild/imports (nuxt…
Browse files Browse the repository at this point in the history
  • Loading branch information
yassilah committed Feb 7, 2023
1 parent 1b888b4 commit e451a99
Showing 1 changed file with 15 additions and 6 deletions.
21 changes: 15 additions & 6 deletions packages/nuxt/src/core/nitro.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,18 @@ import { ImportProtectionPlugin } from './plugins/import-protection'
export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) {
// Resolve config
const _nitroConfig = ((nuxt.options as any).nitro || {}) as NitroConfig

const excludePaths = nuxt.options._layers
.flatMap(l => [
l.cwd.match(/(?<=\/)node_modules\/(.+)$/)?.[1],
l.cwd.match(/\.pnpm\/.+\/node_modules\/(.+)$/)?.[1]
])
.filter((dir): dir is string => Boolean(dir))
.map(dir => escapeRE(dir))
const excludePattern = excludePaths.length
? [new RegExp(`node_modules\\/(?!${excludePaths.join('|')})`)]
: [/node_modules/]

const nitroConfig: NitroConfig = defu(_nitroConfig, <NitroConfig>{
debug: nuxt.options.debug,
rootDir: nuxt.options.rootDir,
Expand All @@ -35,14 +47,11 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) {
name: 'publicAssetsURL',
from: resolve(distDir, 'core/runtime/nitro/paths')
}
]
],
exclude: [...excludePattern, /[\\/]\.git[\\/]/]
},
esbuild: {
options: {
exclude: [
new RegExp(`node_modules\\/(?!${nuxt.options._layers.map(l => l.cwd.match(/(?<=\/)node_modules\/(.+)$/)?.[1]).filter(Boolean).map(dir => escapeRE(dir!)).join('|')})`)
]
}
options: { exclude: excludePattern }
},
analyze: nuxt.options.build.analyze && {
template: 'treemap',
Expand Down

0 comments on commit e451a99

Please sign in to comment.