Skip to content

Commit

Permalink
fix(@angular-devkit/build-angular): fully downlevel async/await when …
Browse files Browse the repository at this point in the history
…using vite dev-server with caching enabled

Prior to this change, async/await in external packages were not being correctly downlevelled when using vite dev-server with cache enabled.t checkout

Closes angular#25985

(cherry picked from commit 968ee34)
  • Loading branch information
alan-agius4 committed Oct 10, 2023
1 parent b53d5ef commit b30b958
Showing 1 changed file with 17 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@ import type { AddressInfo } from 'node:net';
import path, { posix } from 'node:path';
import { Connect, InlineConfig, ViteDevServer, createServer, normalizePath } from 'vite';
import { JavaScriptTransformer } from '../../tools/esbuild/javascript-transformer';
import { getFeatureSupport, transformSupportedBrowsersToTargets } from '../../tools/esbuild/utils';
import { RenderOptions, renderPage } from '../../utils/server-rendering/render-page';
import { getSupportedBrowsers } from '../../utils/supported-browsers';
import { buildEsbuildBrowser } from '../browser-esbuild';
import { Schema as BrowserBuilderOptions } from '../browser-esbuild/schema';
import { loadProxyConfiguration } from './load-proxy-config';
Expand Down Expand Up @@ -88,6 +90,16 @@ export async function* serveWithVite(
if (server) {
handleUpdate(generatedFiles, server, serverOptions, context.logger);
} else {
const projectName = context.target?.project;
if (!projectName) {
throw new Error('The builder requires a target.');
}

const { root = '' } = await context.getProjectMetadata(projectName);
const projectRoot = path.join(context.workspaceRoot, root as string);
const browsers = getSupportedBrowsers(projectRoot, context.logger);
const target = transformSupportedBrowsersToTargets(browsers);

// Setup server and start listening
const serverConfiguration = await setupServer(
serverOptions,
Expand All @@ -96,6 +108,7 @@ export async function* serveWithVite(
browserOptions.preserveSymlinks,
browserOptions.externalDependencies,
!!browserOptions.ssr,
target,
);

server = await createServer(serverConfiguration);
Expand Down Expand Up @@ -237,6 +250,7 @@ export async function setupServer(
preserveSymlinks: boolean | undefined,
prebundleExclude: string[] | undefined,
ssr: boolean,
target: string[],
): Promise<InlineConfig> {
const proxy = await loadProxyConfiguration(
serverOptions.workspaceRoot,
Expand Down Expand Up @@ -494,6 +508,9 @@ export async function setupServer(
entries: [],
// Add an esbuild plugin to run the Angular linker on dependencies
esbuildOptions: {
// Set esbuild supported targets.
target,
supported: getFeatureSupport(target),
plugins: [
{
name: 'angular-vite-optimize-deps',
Expand Down

0 comments on commit b30b958

Please sign in to comment.