Skip to content

Commit e4b7c02

Browse files
benmccannclydin
authored andcommitted
refactor(@angular-devkit/build-angular): prepare for Vite 5
1 parent efeae1e commit e4b7c02

File tree

1 file changed

+9
-2
lines changed
  • packages/angular_devkit/build_angular/src/builders/dev-server

1 file changed

+9
-2
lines changed

packages/angular_devkit/build_angular/src/builders/dev-server/vite-server.ts

+9-2
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import { readFile } from 'node:fs/promises';
1616
import { ServerResponse } from 'node:http';
1717
import type { AddressInfo } from 'node:net';
1818
import path from 'node:path';
19-
import { Connect, InlineConfig, ViteDevServer, createServer, normalizePath } from 'vite';
19+
import type { Connect, InlineConfig, ViteDevServer } from 'vite';
2020
import { JavaScriptTransformer } from '../../tools/esbuild/javascript-transformer';
2121
import { RenderOptions, renderPage } from '../../utils/server-rendering/render-page';
2222
import { buildEsbuildBrowser } from '../browser-esbuild';
@@ -63,6 +63,9 @@ export async function* serveWithVite(
6363
serverOptions.servePath = browserOptions.baseHref;
6464
}
6565

66+
// dynamically import Vite for ESM compatibility
67+
const { createServer, normalizePath } = await import('vite');
68+
6669
let server: ViteDevServer | undefined;
6770
let listeningAddress: AddressInfo | undefined;
6871
const generatedFiles = new Map<string, OutputFileRecord>();
@@ -74,7 +77,7 @@ export async function* serveWithVite(
7477
assert(result.outputFiles, 'Builder did not provide result files.');
7578

7679
// Analyze result files for changes
77-
analyzeResultFiles(result.outputFiles, generatedFiles);
80+
analyzeResultFiles(normalizePath, result.outputFiles, generatedFiles);
7881

7982
assetFiles.clear();
8083
if (result.assetFiles) {
@@ -136,6 +139,7 @@ export async function* serveWithVite(
136139
}
137140

138141
function analyzeResultFiles(
142+
normalizePath: (id: string) => string,
139143
resultFiles: OutputFile[],
140144
generatedFiles: Map<string, OutputFileRecord>,
141145
) {
@@ -203,6 +207,9 @@ export async function setupServer(
203207
true,
204208
);
205209

210+
// dynamically import Vite for ESM compatibility
211+
const { normalizePath } = await import('vite');
212+
206213
const configuration: InlineConfig = {
207214
configFile: false,
208215
envFile: false,

0 commit comments

Comments
 (0)