Skip to content

Commit 194fb72

Browse files
committed
fix: fix webpack
1 parent 679d9db commit 194fb72

File tree

1 file changed

+23
-21
lines changed

1 file changed

+23
-21
lines changed

packages/bundler-webpack/src/config/handleResolve.ts

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -14,22 +14,26 @@ export const handleResolve = async ({
1414
isServer: boolean
1515
}): Promise<void> => {
1616
// aliases
17-
config.resolve.alias
18-
.set('@source', app.dir.source())
19-
.set('@temp', app.dir.temp())
20-
.set('@internal', app.dir.temp('internal'))
17+
const alias = {
18+
'@source': app.dir.source(),
19+
'@temp': app.dir.temp(),
20+
'@internal': app.dir.temp('internal'),
21+
}
2122

22-
// extensions
23-
config.merge({
24-
resolve: {
25-
extensionAlias: {
26-
'.js': ['.js', '.ts'],
27-
'.mjs': ['.mjs', '.mts'],
28-
},
29-
extensions: ['.js', '.jsx', '.ts', '.tsx', '.vue', '.json'],
30-
},
23+
// plugin hook: alias
24+
const aliasResult = await app.pluginApi.hooks.alias.process(app, isServer)
25+
26+
aliasResult.forEach((aliasObject) => {
27+
Object.assign(alias, aliasObject)
3128
})
3229

30+
// set aliases
31+
config.resolve.alias.merge(
32+
Object.fromEntries(
33+
Object.entries(alias).sort(([a], [b]) => b.length - a.length),
34+
),
35+
)
36+
3337
// extensions
3438
config.resolve.extensions.merge([
3539
'.js',
@@ -40,13 +44,11 @@ export const handleResolve = async ({
4044
'.json',
4145
])
4246

43-
// plugin hook: alias
44-
const aliasResult = await app.pluginApi.hooks.alias.process(app, isServer)
45-
46-
// set aliases
47-
aliasResult.forEach((aliasObject) => {
48-
Object.entries(aliasObject).forEach(([key, value]) => {
49-
config.resolve.alias.set(key, value)
50-
})
47+
// extensionAlias
48+
config.resolve.merge({
49+
extensionAlias: {
50+
'.js': ['.js', '.ts'],
51+
'.mjs': ['.mjs', '.mts'],
52+
},
5153
})
5254
}

0 commit comments

Comments
 (0)