fix: add back externality for dev-bundler

This commit is contained in:
Daniel Roe 2025-01-16 16:18:48 +00:00
parent de8864a1d3
commit f98d8a6a46
No known key found for this signature in database
GPG Key ID: 3714AB03996F442B
3 changed files with 50 additions and 0 deletions

View File

@ -41,6 +41,7 @@
"defu": "^6.1.4", "defu": "^6.1.4",
"esbuild": "^0.24.2", "esbuild": "^0.24.2",
"escape-string-regexp": "^5.0.0", "escape-string-regexp": "^5.0.0",
"externality": "^1.0.2",
"get-port-please": "^3.1.2", "get-port-please": "^3.1.2",
"h3": "^1.13.1", "h3": "^1.13.1",
"jiti": "^2.4.2", "jiti": "^2.4.2",

View File

@ -0,0 +1,36 @@
import type { ExternalsOptions } from 'externality'
import { ExternalsDefaults, isExternal } from 'externality'
import type { ViteDevServer } from 'vite'
import escapeStringRegexp from 'escape-string-regexp'
import { withTrailingSlash } from 'ufo'
import type { Nuxt } from 'nuxt/schema'
import { resolve } from 'pathe'
import { toArray } from '.'
export function createIsExternal (viteServer: ViteDevServer, nuxt: Nuxt) {
const externalOpts: ExternalsOptions = {
inline: [
/virtual:/,
/\.ts$/,
...ExternalsDefaults.inline || [],
...(
viteServer.config.ssr.noExternal && viteServer.config.ssr.noExternal !== true
? toArray(viteServer.config.ssr.noExternal)
: []
),
],
external: [
'#shared',
new RegExp('^' + escapeStringRegexp(withTrailingSlash(resolve(nuxt.options.rootDir, nuxt.options.dir.shared)))),
...(viteServer.config.ssr.external as string[]) || [],
/node_modules/,
],
resolve: {
modules: nuxt.options.modulesDir,
type: 'module',
extensions: ['.ts', '.js', '.json', '.vue', '.mjs', '.jsx', '.tsx', '.wasm'],
},
}
return (id: string) => isExternal(id, nuxt.options.rootDir, externalOpts)
}

View File

@ -843,6 +843,9 @@ importers:
escape-string-regexp: escape-string-regexp:
specifier: ^5.0.0 specifier: ^5.0.0
version: 5.0.0 version: 5.0.0
externality:
specifier: ^1.0.2
version: 1.0.2
get-port-please: get-port-please:
specifier: ^3.1.2 specifier: ^3.1.2
version: 3.1.2 version: 3.1.2
@ -4452,6 +4455,9 @@ packages:
extend@3.0.2: extend@3.0.2:
resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
externality@1.0.2:
resolution: {integrity: sha512-LyExtJWKxtgVzmgtEHyQtLFpw1KFhQphF9nTG8TpAIVkiI/xQ3FJh75tRFLYl4hkn7BNIIdLJInuDAavX35pMw==}
fake-indexeddb@6.0.0: fake-indexeddb@6.0.0:
resolution: {integrity: sha512-YEboHE5VfopUclOck7LncgIqskAqnv4q0EWbYCaxKKjAvO93c+TJIaBuGy8CBFdbg9nKdpN3AuPRwVBJ4k7NrQ==} resolution: {integrity: sha512-YEboHE5VfopUclOck7LncgIqskAqnv4q0EWbYCaxKKjAvO93c+TJIaBuGy8CBFdbg9nKdpN3AuPRwVBJ4k7NrQ==}
engines: {node: '>=18'} engines: {node: '>=18'}
@ -12076,6 +12082,13 @@ snapshots:
extend@3.0.2: {} extend@3.0.2: {}
externality@1.0.2:
dependencies:
enhanced-resolve: 5.18.0
mlly: 1.7.4
pathe: 1.1.2
ufo: 1.5.4
fake-indexeddb@6.0.0: {} fake-indexeddb@6.0.0: {}
fast-deep-equal@3.1.3: {} fast-deep-equal@3.1.3: {}