@@ -14,22 +14,26 @@ export const handleResolve = async ({
14
14
isServer : boolean
15
15
} ) : Promise < void > => {
16
16
// 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
+ }
21
22
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 )
31
28
} )
32
29
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
+
33
37
// extensions
34
38
config . resolve . extensions . merge ( [
35
39
'.js' ,
@@ -40,13 +44,11 @@ export const handleResolve = async ({
40
44
'.json' ,
41
45
] )
42
46
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
+ } ,
51
53
} )
52
54
}
0 commit comments