fix(vite): merge bundler config first before normalize · nitrojs/nitro@64df4cf

@@ -46,21 +46,26 @@ export const getBundlerConfig = async (

46464747

if (ctx._isRolldown) {

4848

// Rolldown

49-

const rolldownConfig: RolldownConfig = {

50-

transform: {

51-

inject: base.env.inject as Record<string, string>,

52-

},

53-

output: {

54-

codeSplitting: {

55-

groups: [

56-

{

57-

test: NODE_MODULES_RE,

58-

name: (id: string) => libChunkName(id),

59-

},

60-

],

49+

const rolldownConfig: RolldownConfig = defu(

50+

{

51+

transform: {

52+

inject: base.env.inject as Record<string, string>,

6153

},

62-

},

63-

} satisfies RolldownConfig;

54+

output: {

55+

codeSplitting: {

56+

groups: [

57+

{

58+

test: NODE_MODULES_RE,

59+

name: (id: string) => libChunkName(id),

60+

},

61+

],

62+

},

63+

},

64+

} satisfies RolldownConfig,

65+

nitro.options.rolldownConfig,

66+

nitro.options.rollupConfig as RolldownConfig, // Added for backward compatibility

67+

commonConfig satisfies RolldownConfig

68+

);

64696570

const outputConfig = rolldownConfig.output;

6671

if (

@@ -70,16 +75,7 @@ export const getBundlerConfig = async (

7075

delete outputConfig.codeSplitting;

7176

}

727773-

return {

74-

base,

75-

rollupConfig: undefined,

76-

rolldownConfig: defu(

77-

rolldownConfig,

78-

nitro.options.rolldownConfig,

79-

nitro.options.rollupConfig as RolldownConfig, // Added for backward compatibility

80-

commonConfig satisfies RolldownConfig

81-

),

82-

};

78+

return { base, rolldownConfig };

8379

} else {

8480

// Rollup

8581

const inject = (

@@ -89,20 +85,25 @@ export const getBundlerConfig = async (

8985

(await import("@rollup/plugin-alias")) as unknown as typeof import("@rollup/plugin-alias")

9086

).default;

918792-

const rollupConfig: RollupConfig = {

93-

plugins: [inject(base.env.inject), alias({ entries: base.aliases })],

94-

output: {

95-

sourcemapExcludeSources: true,

96-

generatedCode: {

97-

constBindings: true,

88+

const rollupConfig: RollupConfig = defu(

89+

{

90+

plugins: [inject(base.env.inject), alias({ entries: base.aliases })],

91+

output: {

92+

sourcemapExcludeSources: true,

93+

generatedCode: {

94+

constBindings: true,

95+

},

96+

manualChunks(id: string) {

97+

if (NODE_MODULES_RE.test(id)) {

98+

return libChunkName(id);

99+

}

100+

},

98101

},

99-

manualChunks(id: string) {

100-

if (NODE_MODULES_RE.test(id)) {

101-

return libChunkName(id);

102-

}

103-

},

104-

},

105-

} satisfies RollupConfig;

102+

} satisfies RollupConfig,

103+

nitro.options.rolldownConfig as RollupConfig, // Added for backward compatibility

104+

nitro.options.rollupConfig,

105+

commonConfig

106+

);

106107107108

const outputConfig = rollupConfig.output;

108109

if (

@@ -112,15 +113,6 @@ export const getBundlerConfig = async (

112113

delete outputConfig.manualChunks;

113114

}

114115115-

return {

116-

base,

117-

rolldownConfig: undefined,

118-

rollupConfig: defu(

119-

rollupConfig,

120-

nitro.options.rolldownConfig as RollupConfig, // Added for backward compatibility

121-

nitro.options.rollupConfig,

122-

commonConfig

123-

),

124-

};

116+

return { base, rollupConfig };

125117

}

126118

};