Skip to content

Commit 22ab38d

Browse files
committed
refactor(@angular/build): migrate to optimizeDeps.rolldownOptions in Vite config
Vite now uses Rolldown as the underlying engine to optimize dependencies, rendering `optimizeDeps.esbuildOptions` deprecated. This commit refactors the Vite dev-server config in `@angular/build` to use `optimizeDeps.rolldownOptions` instead. It also updates the custom dependency optimization plugin from the esbuild-specific format to a native Rolldown plugin using the `load` hook, and aligns browser target lowering by pushing `es2016` when Zone.js is present (since Rolldown lacks esbuild-style feature-support flags).
1 parent 7ef9ed2 commit 22ab38d

2 files changed

Lines changed: 6 additions & 7 deletions

File tree

packages/angular/build/src/builders/dev-server/vite/index.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -384,12 +384,17 @@ export async function* serveWithVite(
384384
const projectRoot = join(context.workspaceRoot, root as string);
385385
const browsers = getSupportedBrowsers(projectRoot, context.logger);
386386

387-
const target = transformSupportedBrowsersToTargets(browsers);
388387
// Needed for browser-esbuild as polyfills can be a string.
389388
const polyfills = Array.isArray((browserOptions.polyfills ??= []))
390389
? browserOptions.polyfills
391390
: [browserOptions.polyfills];
392391

392+
const target = transformSupportedBrowsersToTargets(browsers);
393+
if (!isZonelessApp(polyfills)) {
394+
// Rolldown doesn't have an option to support Zone.js/async-await, so we need to support es2016.
395+
target.push('es2016');
396+
}
397+
393398
let ssrMode: ServerSsrMode = ServerSsrMode.NoSsr;
394399
if (
395400
browserOptions.outputMode &&
@@ -418,7 +423,6 @@ export async function* serveWithVite(
418423
ssrMode,
419424
prebundleTransformer,
420425
target,
421-
isZonelessApp(polyfills),
422426
componentStyles,
423427
templateUpdates,
424428
browserOptions.loader as EsbuildLoaderOption | undefined,

packages/angular/build/src/builders/dev-server/vite/server.ts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,6 @@ function createSsrConfig(
9898
externalMetadata: DevServerExternalResultMetadata,
9999
serverOptions: NormalizedDevServerOptions,
100100
prebundleTransformer: JavaScriptTransformer,
101-
zoneless: boolean,
102101
target: string[],
103102
prebundleLoaderExtensions: EsbuildLoaderOption | undefined,
104103
thirdPartySourcemaps: boolean,
@@ -118,7 +117,6 @@ function createSsrConfig(
118117
include: externalMetadata.implicitServer,
119118
ssr: true,
120119
prebundleTransformer,
121-
zoneless,
122120
target,
123121
loader: prebundleLoaderExtensions,
124122
thirdPartySourcemaps,
@@ -136,7 +134,6 @@ export async function setupServer(
136134
ssrMode: ServerSsrMode,
137135
prebundleTransformer: JavaScriptTransformer,
138136
target: string[],
139-
zoneless: boolean,
140137
componentStyles: Map<string, ComponentStyleRecord>,
141138
templateUpdates: Map<string, string>,
142139
prebundleLoaderExtensions: EsbuildLoaderOption | undefined,
@@ -208,7 +205,6 @@ export async function setupServer(
208205
externalMetadata,
209206
serverOptions,
210207
prebundleTransformer,
211-
zoneless,
212208
target,
213209
prebundleLoaderExtensions,
214210
thirdPartySourcemaps,
@@ -247,7 +243,6 @@ export async function setupServer(
247243
ssr: false,
248244
prebundleTransformer,
249245
target,
250-
zoneless,
251246
loader: prebundleLoaderExtensions,
252247
thirdPartySourcemaps,
253248
define,

0 commit comments

Comments
 (0)