@angular/build 21.0.0 → 21.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +4 -4
- package/src/builders/application/options.js +3 -1
- package/src/builders/application/options.js.map +1 -1
- package/src/builders/dev-server/vite/index.js +1 -3
- package/src/builders/dev-server/vite/index.js.map +1 -1
- package/src/builders/dev-server/vite/server.js +1 -6
- package/src/builders/dev-server/vite/server.js.map +1 -1
- package/src/builders/unit-test/options.d.ts +2 -2
- package/src/builders/unit-test/options.js +3 -2
- package/src/builders/unit-test/options.js.map +1 -1
- package/src/builders/unit-test/runners/vitest/browser-provider.js +16 -9
- package/src/builders/unit-test/runners/vitest/browser-provider.js.map +1 -1
- package/src/builders/unit-test/runners/vitest/plugins.js +55 -25
- package/src/builders/unit-test/runners/vitest/plugins.js.map +1 -1
- package/src/builders/unit-test/test-discovery.d.ts +10 -0
- package/src/builders/unit-test/test-discovery.js +28 -5
- package/src/builders/unit-test/test-discovery.js.map +1 -1
- package/src/private.d.ts +1 -0
- package/src/private.js +3 -1
- package/src/private.js.map +1 -1
- package/src/tools/angular/angular-host.d.ts +1 -1
- package/src/tools/angular/compilation/angular-compilation.d.ts +1 -1
- package/src/tools/angular/compilation/aot-compilation.d.ts +1 -1
- package/src/tools/angular/compilation/hmr-candidates.d.ts +1 -1
- package/src/tools/angular/compilation/jit-compilation.d.ts +1 -1
- package/src/tools/angular/compilation/noop-compilation.d.ts +1 -1
- package/src/tools/vite/middlewares/assets-middleware.js +1 -1
- package/src/tools/vite/middlewares/assets-middleware.js.map +1 -1
- package/src/tools/vite/middlewares/ssr-middleware.js +2 -6
- package/src/tools/vite/middlewares/ssr-middleware.js.map +1 -1
- package/src/tools/vite/plugins/ssr-ssl-plugin.js +10 -0
- package/src/tools/vite/plugins/ssr-ssl-plugin.js.map +1 -1
- package/src/utils/check-port.js +1 -1
- package/src/utils/check-port.js.map +1 -1
- package/src/utils/normalize-cache.js +1 -1
- package/src/utils/project-metadata.js +1 -1
- package/src/utils/project-metadata.js.map +1 -1
- package/src/utils/server-rendering/launch-server.js +1 -3
- package/src/utils/server-rendering/launch-server.js.map +1 -1
- package/src/utils/server-rendering/manifest.js +1 -1
- package/src/utils/server-rendering/manifest.js.map +1 -1
- package/src/utils/server-rendering/prerender.js +7 -16
- package/src/utils/server-rendering/prerender.js.map +1 -1
- package/src/utils/url.d.ts +74 -1
- package/src/utils/url.js +111 -7
- package/src/utils/url.js.map +1 -1
|
@@ -12,6 +12,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
exports.findTests = findTests;
|
|
14
14
|
exports.getTestEntrypoints = getTestEntrypoints;
|
|
15
|
+
exports.generateNameFromPath = generateNameFromPath;
|
|
16
|
+
const node_crypto_1 = require("node:crypto");
|
|
15
17
|
const node_fs_1 = require("node:fs");
|
|
16
18
|
const node_os_1 = __importDefault(require("node:os"));
|
|
17
19
|
const node_path_1 = require("node:path");
|
|
@@ -22,6 +24,8 @@ const path_1 = require("../../utils/path");
|
|
|
22
24
|
* For example, `.spec` in `app.component.spec.ts`.
|
|
23
25
|
*/
|
|
24
26
|
const TEST_FILE_INFIXES = ['.spec', '.test'];
|
|
27
|
+
/** Maximum length for a generated test entrypoint name. */
|
|
28
|
+
const MAX_FILENAME_LENGTH = 128;
|
|
25
29
|
/**
|
|
26
30
|
* Finds all test files in the project. This function implements a special handling
|
|
27
31
|
* for static paths (non-globs) to improve developer experience. For example, if a
|
|
@@ -61,7 +65,7 @@ async function findTests(include, exclude, workspaceRoot, projectSourceRoot) {
|
|
|
61
65
|
ignore: ['**/node_modules/**', ...normalizedExcludes],
|
|
62
66
|
});
|
|
63
67
|
for (const match of globMatches) {
|
|
64
|
-
resolvedTestFiles.add(match);
|
|
68
|
+
resolvedTestFiles.add((0, path_1.toPosixPath)(match));
|
|
65
69
|
}
|
|
66
70
|
}
|
|
67
71
|
// 3. Combine and de-duplicate results
|
|
@@ -127,7 +131,26 @@ function generateNameFromPath(testFile, roots, removeTestExtension) {
|
|
|
127
131
|
const char = relativePath[i];
|
|
128
132
|
result += char === '/' || char === '\\' ? '-' : char;
|
|
129
133
|
}
|
|
130
|
-
return result;
|
|
134
|
+
return truncateName(result, relativePath);
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Truncates a generated name if it exceeds the maximum allowed filename length.
|
|
138
|
+
* If truncation occurs, the name will be shortened by replacing a middle segment
|
|
139
|
+
* with an 8-character SHA256 hash of the original full path to maintain uniqueness.
|
|
140
|
+
*
|
|
141
|
+
* @param name The generated name to potentially truncate.
|
|
142
|
+
* @param originalPath The original full path from which the name was derived. Used for hashing.
|
|
143
|
+
* @returns The original name if within limits, or a truncated name with a hash.
|
|
144
|
+
*/
|
|
145
|
+
function truncateName(name, originalPath) {
|
|
146
|
+
if (name.length <= MAX_FILENAME_LENGTH) {
|
|
147
|
+
return name;
|
|
148
|
+
}
|
|
149
|
+
const hash = (0, node_crypto_1.createHash)('sha256').update(originalPath).digest('hex').substring(0, 8);
|
|
150
|
+
const availableLength = MAX_FILENAME_LENGTH - hash.length - 2; // 2 for '-' separators
|
|
151
|
+
const prefixLength = Math.floor(availableLength / 2);
|
|
152
|
+
const suffixLength = availableLength - prefixLength;
|
|
153
|
+
return `${name.substring(0, prefixLength)}-${hash}-${name.substring(name.length - suffixLength)}`;
|
|
131
154
|
}
|
|
132
155
|
/**
|
|
133
156
|
* Whether the current operating system's filesystem is case-insensitive.
|
|
@@ -218,13 +241,13 @@ async function resolveStaticPattern(pattern, projectSourceRoot) {
|
|
|
218
241
|
for (const infix of TEST_FILE_INFIXES) {
|
|
219
242
|
const potentialSpec = (0, node_path_1.join)((0, node_path_1.dirname)(fullPath), `${baseName}${infix}${fileExt}`);
|
|
220
243
|
if (await exists(potentialSpec)) {
|
|
221
|
-
return { resolved: [potentialSpec], unresolved: [] };
|
|
244
|
+
return { resolved: [(0, path_1.toPosixPath)(potentialSpec)], unresolved: [] };
|
|
222
245
|
}
|
|
223
246
|
}
|
|
224
247
|
if (await exists(fullPath)) {
|
|
225
|
-
return { resolved: [fullPath], unresolved: [] };
|
|
248
|
+
return { resolved: [(0, path_1.toPosixPath)(fullPath)], unresolved: [] };
|
|
226
249
|
}
|
|
227
|
-
return { resolved: [], unresolved: [pattern] };
|
|
250
|
+
return { resolved: [], unresolved: [(0, path_1.toPosixPath)(pattern)] };
|
|
228
251
|
}
|
|
229
252
|
/** Checks if a path exists and is a directory. */
|
|
230
253
|
async function isDirectory(path) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-discovery.js","sourceRoot":"","sources":["test-discovery.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;
|
|
1
|
+
{"version":3,"file":"test-discovery.js","sourceRoot":"","sources":["test-discovery.ts"],"names":[],"mappings":"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"}
|
package/src/private.d.ts
CHANGED
|
@@ -35,6 +35,7 @@ export declare function createCompilerPlugin(pluginOptions: CompilerPluginOption
|
|
|
35
35
|
inlineStyleLanguage: string;
|
|
36
36
|
}): import('esbuild').Plugin;
|
|
37
37
|
export type { AngularCompilation } from './tools/angular/compilation';
|
|
38
|
+
export { DiagnosticModes } from './tools/angular/compilation';
|
|
38
39
|
export { createAngularCompilation };
|
|
39
40
|
export { ComponentStylesheetBundler } from './tools/esbuild/angular/component-stylesheets';
|
|
40
41
|
export * from './utils/bundle-calculator';
|
package/src/private.js
CHANGED
|
@@ -21,7 +21,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
21
21
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
22
22
|
};
|
|
23
23
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
-
exports.loadPostcssConfiguration = exports.generateSearchDirectories = exports.findTailwindConfiguration = exports.getTestEntrypoints = exports.findTests = exports.assertCompatibleAngularVersion = exports.getSupportedBrowsers = exports.generateBuildStatsTable = exports.augmentAppWithServiceWorker = exports.purgeStaleBuildCache = exports.createTranslationLoader = exports.loadProxyConfiguration = exports.InlineCriticalCssProcessor = exports.IndexHtmlGenerator = exports.loadTranslations = exports.createI18nOptions = exports.deleteOutputDir = exports.checkPort = exports.ComponentStylesheetBundler = exports.createAngularCompilation = exports.JavaScriptTransformer = exports.createJitResourceTransformer = exports.LmdbCacheStore = exports.Cache = exports.SourceFileCache = exports.SassWorkerImplementation = exports.transformSupportedBrowsersToTargets = exports.emitFilesToDisk = exports.serveWithVite = exports.ResultKind = exports.buildApplicationInternal = void 0;
|
|
24
|
+
exports.loadPostcssConfiguration = exports.generateSearchDirectories = exports.findTailwindConfiguration = exports.getTestEntrypoints = exports.findTests = exports.assertCompatibleAngularVersion = exports.getSupportedBrowsers = exports.generateBuildStatsTable = exports.augmentAppWithServiceWorker = exports.purgeStaleBuildCache = exports.createTranslationLoader = exports.loadProxyConfiguration = exports.InlineCriticalCssProcessor = exports.IndexHtmlGenerator = exports.loadTranslations = exports.createI18nOptions = exports.deleteOutputDir = exports.checkPort = exports.ComponentStylesheetBundler = exports.createAngularCompilation = exports.DiagnosticModes = exports.JavaScriptTransformer = exports.createJitResourceTransformer = exports.LmdbCacheStore = exports.Cache = exports.SourceFileCache = exports.SassWorkerImplementation = exports.transformSupportedBrowsersToTargets = exports.emitFilesToDisk = exports.serveWithVite = exports.ResultKind = exports.buildApplicationInternal = void 0;
|
|
25
25
|
exports.createCompilerPlugin = createCompilerPlugin;
|
|
26
26
|
/**
|
|
27
27
|
* @fileoverview
|
|
@@ -63,6 +63,8 @@ function createCompilerPlugin(pluginOptions, styleOptions) {
|
|
|
63
63
|
? new compilation_1.NoopCompilation()
|
|
64
64
|
: () => (0, compilation_1.createAngularCompilation)(!!pluginOptions.jit, !!pluginOptions.browserOnlyBuild), new component_stylesheets_1.ComponentStylesheetBundler(styleOptions, styleOptions.inlineStyleLanguage, pluginOptions.incremental));
|
|
65
65
|
}
|
|
66
|
+
var compilation_2 = require("./tools/angular/compilation");
|
|
67
|
+
Object.defineProperty(exports, "DiagnosticModes", { enumerable: true, get: function () { return compilation_2.DiagnosticModes; } });
|
|
66
68
|
var component_stylesheets_2 = require("./tools/esbuild/angular/component-stylesheets");
|
|
67
69
|
Object.defineProperty(exports, "ComponentStylesheetBundler", { enumerable: true, get: function () { return component_stylesheets_2.ComponentStylesheetBundler; } });
|
|
68
70
|
// Utilities
|
package/src/private.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"private.js","sourceRoot":"","sources":["private.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;AAoCH,oDAkBC;AApDD;;;;;GAKG;AAEH,6DAAwF;
|
|
1
|
+
{"version":3,"file":"private.js","sourceRoot":"","sources":["private.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;AAoCH,oDAkBC;AApDD;;;;;GAKG;AAEH,6DAAwF;AAiD/E,yGAjDiB,sCAAwB,OAiDjB;AAhDjC,6EAGiD;AACjD,yFAA2F;AAG3F,WAAW;AACX,sDAAkE;AAAzD,uHAAA,wBAAwB,OAAA;AAEjC,0DAA0F;AAAnD,qGAAA,UAAU,OAAA;AACjD,mDAA2D;AAAlD,qGAAA,aAAa,OAAA;AAEtB,QAAQ;AACR,wDAAsC;AAEtC,+CAAwD;AAA/C,wGAAA,eAAe,OAAA;AACxB,+CAA4E;AAAnE,4HAAA,mCAAmC,OAAA;AAC5C,0DAAqE;AAA5D,wHAAA,wBAAwB,OAAA;AAEjC,+EAA4E;AAAnE,oHAAA,eAAe,OAAA;AACxB,+CAA8C;AAArC,8FAAA,KAAK,OAAA;AACd,qEAAkE;AAAzD,kHAAA,cAAc,OAAA;AACvB,kGAAqG;AAA5F,wIAAA,4BAA4B,OAAA;AACrC,iFAA+E;AAAtE,+HAAA,qBAAqB,OAAA;AAE9B,SAAgB,oBAAoB,CAClC,aAGC,EACD,YAAuE;IAEvE,OAAO,IAAA,sCAA4B,EACjC,aAAa,EACb,aAAa,CAAC,yBAAyB;QACrC,CAAC,CAAC,IAAI,6BAAe,EAAE;QACvB,CAAC,CAAC,GAAG,EAAE,CAAC,IAAA,sCAAwB,EAAC,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,aAAa,CAAC,gBAAgB,CAAC,EACzF,IAAI,kDAA0B,CAC5B,YAAY,EACZ,YAAY,CAAC,mBAAmB,EAChC,aAAa,CAAC,WAAW,CAC1B,CACF,CAAC;AACJ,CAAC;AAGD,2DAA8D;AAArD,8GAAA,eAAe,OAAA;AAExB,uFAA2F;AAAlF,mIAAA,0BAA0B,OAAA;AAEnC,YAAY;AACZ,4DAA0C;AAC1C,iDAA+C;AAAtC,uGAAA,SAAS,OAAA;AAClB,+DAA4D;AAAnD,oHAAA,eAAe,OAAA;AACxB,qDAA6F;AAAlE,iHAAA,iBAAiB,OAAA;AAAE,gHAAA,gBAAgB,OAAA;AAC9D,gFAKiD;AAJ/C,0HAAA,kBAAkB,OAAA;AAMpB,8EAIgD;AAF9C,iIAAA,0BAA0B,OAAA;AAG5B,+DAAmE;AAA1D,2HAAA,sBAAsB,OAAA;AAC/B,+DAA4F;AAA3D,4HAAA,uBAAuB,OAAA;AACxD,mDAA2D;AAAlD,mHAAA,oBAAoB,OAAA;AAC7B,yDAAqE;AAA5D,6HAAA,2BAA2B,OAAA;AACpC,mDAAgF;AAArD,sHAAA,uBAAuB,OAAA;AAClD,iEAAkE;AAAzD,0HAAA,oBAAoB,OAAA;AAC7B,2CAAiE;AAAxD,yHAAA,8BAA8B,OAAA;AACvC,0DAA4E;AAAnE,uGAAA,SAAS,OAAA;AAAE,gHAAA,kBAAkB,OAAA;AACtC,uEAIuC;AAHrC,kIAAA,yBAAyB,OAAA;AACzB,kIAAA,yBAAyB,OAAA;AACzB,iIAAA,wBAAwB,OAAA"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
6
|
* found in the LICENSE file at https://angular.dev/license
|
|
7
7
|
*/
|
|
8
|
-
import type ng from '@angular/compiler-cli';
|
|
8
|
+
import type * as ng from '@angular/compiler-cli';
|
|
9
9
|
import type ts from 'typescript';
|
|
10
10
|
export type AngularCompilerOptions = ng.CompilerOptions;
|
|
11
11
|
export type AngularCompilerHost = ng.CompilerHost;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
6
|
* found in the LICENSE file at https://angular.dev/license
|
|
7
7
|
*/
|
|
8
|
-
import type ng from '@angular/compiler-cli';
|
|
8
|
+
import type * as ng from '@angular/compiler-cli';
|
|
9
9
|
import type { PartialMessage } from 'esbuild';
|
|
10
10
|
import type ts from 'typescript';
|
|
11
11
|
import type { AngularHostOptions } from '../angular-host';
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
6
|
* found in the LICENSE file at https://angular.dev/license
|
|
7
7
|
*/
|
|
8
|
-
import type ng from '@angular/compiler-cli';
|
|
8
|
+
import type * as ng from '@angular/compiler-cli';
|
|
9
9
|
import ts from 'typescript';
|
|
10
10
|
import { AngularHostOptions } from '../angular-host';
|
|
11
11
|
import { AngularCompilation, DiagnosticModes, EmitFileResult } from './angular-compilation';
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
6
|
* found in the LICENSE file at https://angular.dev/license
|
|
7
7
|
*/
|
|
8
|
-
import type ng from '@angular/compiler-cli';
|
|
8
|
+
import type * as ng from '@angular/compiler-cli';
|
|
9
9
|
import ts from 'typescript';
|
|
10
10
|
/**
|
|
11
11
|
* Analyzes one or more modified files for changes to determine if any
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
6
|
* found in the LICENSE file at https://angular.dev/license
|
|
7
7
|
*/
|
|
8
|
-
import type ng from '@angular/compiler-cli';
|
|
8
|
+
import type * as ng from '@angular/compiler-cli';
|
|
9
9
|
import ts from 'typescript';
|
|
10
10
|
import { AngularHostOptions } from '../angular-host';
|
|
11
11
|
import { AngularCompilation, DiagnosticModes, EmitFileResult } from './angular-compilation';
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
6
|
* found in the LICENSE file at https://angular.dev/license
|
|
7
7
|
*/
|
|
8
|
-
import type ng from '@angular/compiler-cli';
|
|
8
|
+
import type * as ng from '@angular/compiler-cli';
|
|
9
9
|
import type ts from 'typescript';
|
|
10
10
|
import { AngularHostOptions } from '../angular-host';
|
|
11
11
|
import { AngularCompilation } from './angular-compilation';
|
|
@@ -25,7 +25,7 @@ function createAngularAssetsMiddleware(server, assets, outputFiles, componentSty
|
|
|
25
25
|
// The base of the URL is unused but required to parse the URL.
|
|
26
26
|
const pathname = (0, utils_1.pathnameWithoutBasePath)(req.url, server.config.base);
|
|
27
27
|
const extension = (0, node_path_1.extname)(pathname);
|
|
28
|
-
const pathnameHasTrailingSlash = pathname
|
|
28
|
+
const pathnameHasTrailingSlash = pathname.at(-1) === '/';
|
|
29
29
|
// Rewrite all build assets to a vite raw fs URL
|
|
30
30
|
const asset = assets.get(pathname);
|
|
31
31
|
if (asset) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assets-middleware.js","sourceRoot":"","sources":["assets-middleware.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAoBH,sEA+KC;AAiBD,kEAwCC;AA1PD,mCAAkD;AAClD,6CAAyC;AACzC,qCAAuC;AAEvC,yCAAoC;AAGpC,oCAAkG;AAQlG,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AAC1D,MAAM,YAAY,GAAG,iBAAiB,CAAC;AAEvC,SAAgB,6BAA6B,CAC3C,MAAqB,EACrB,MAA2B,EAC3B,WAAqC,EACrC,eAAkD,EAClD,gBAAoE;IAEpE,OAAO,SAAS,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI;QACpD,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;YAC/C,OAAO;QACT,CAAC;QAED,8BAA8B;QAC9B,+DAA+D;QAC/D,MAAM,QAAQ,GAAG,IAAA,+BAAuB,EAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtE,MAAM,SAAS,GAAG,IAAA,mBAAO,EAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,wBAAwB,GAAG,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"assets-middleware.js","sourceRoot":"","sources":["assets-middleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,9 +53,7 @@ function createAngularSsrInternalMiddleware(server, indexHtmlTransformer) {
|
|
|
53
53
|
// Load the compiler because `@angular/ssr/node` depends on `@angular/` packages,
|
|
54
54
|
// which must be processed by the runtime linker, even if they are not used.
|
|
55
55
|
await Promise.resolve().then(() => __importStar(require('@angular/compiler')));
|
|
56
|
-
const { writeResponseToNodeResponse, createWebRequestFromNodeRequest } = (await Promise.resolve(`${
|
|
57
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
58
|
-
'@angular/ssr/node'}`).then(s => __importStar(require(s))));
|
|
56
|
+
const { writeResponseToNodeResponse, createWebRequestFromNodeRequest } = (await Promise.resolve(`${'@angular/ssr/node'}`).then(s => __importStar(require(s))));
|
|
59
57
|
const { ɵgetOrCreateAngularServerApp } = (await server.ssrLoadModule('/main.server.mjs'));
|
|
60
58
|
const angularServerApp = ɵgetOrCreateAngularServerApp({
|
|
61
59
|
allowStaticRouteRender: true,
|
|
@@ -86,9 +84,7 @@ async function createAngularSsrExternalMiddleware(server, indexHtmlTransformer)
|
|
|
86
84
|
// Load the compiler because `@angular/ssr/node` depends on `@angular/` packages,
|
|
87
85
|
// which must be processed by the runtime linker, even if they are not used.
|
|
88
86
|
await Promise.resolve().then(() => __importStar(require('@angular/compiler')));
|
|
89
|
-
const { createWebRequestFromNodeRequest, writeResponseToNodeResponse } = (await Promise.resolve(`${
|
|
90
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
91
|
-
'@angular/ssr/node'}`).then(s => __importStar(require(s))));
|
|
87
|
+
const { createWebRequestFromNodeRequest, writeResponseToNodeResponse } = (await Promise.resolve(`${'@angular/ssr/node'}`).then(s => __importStar(require(s))));
|
|
92
88
|
return function angularSsrExternalMiddleware(req, res, next) {
|
|
93
89
|
(async () => {
|
|
94
90
|
const { reqHandler, AngularAppEngine } = (await server.ssrLoadModule('./server.mjs'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssr-middleware.js","sourceRoot":"","sources":["ssr-middleware.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaH,
|
|
1
|
+
{"version":3,"file":"ssr-middleware.js","sourceRoot":"","sources":["ssr-middleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -51,6 +51,16 @@ function createAngularServerSideSSLPlugin() {
|
|
|
51
51
|
if (!ssr || !https?.cert) {
|
|
52
52
|
return;
|
|
53
53
|
}
|
|
54
|
+
if (httpServer && 'ALPNProtocols' in httpServer) {
|
|
55
|
+
// Force Vite to use HTTP/1.1 when SSR and SSL are enabled.
|
|
56
|
+
// This is required because the Express server used for SSR does not support HTTP/2.
|
|
57
|
+
// See: https://github.com/vitejs/vite/blob/46d3077f2b63771cc50230bc907c48f5773c00fb/packages/vite/src/node/http.ts#L126
|
|
58
|
+
// We directly set the `ALPNProtocols` on the HTTP server to override the default behavior.
|
|
59
|
+
// Passing `ALPNProtocols` in the TLS options would cause Node.js to automatically include `h2`.
|
|
60
|
+
// Additionally, using `ALPNCallback` is not an option as it is mutually exclusive with `ALPNProtocols`.
|
|
61
|
+
// See: https://github.com/nodejs/node/blob/b8b4350ed3b73d225eb9e628d69151df56eaf298/lib/internal/http2/core.js#L3351
|
|
62
|
+
httpServer.ALPNProtocols = ['http/1.1'];
|
|
63
|
+
}
|
|
54
64
|
// TODO(alanagius): Replace `undici` with `tls.setDefaultCACertificates` once we only support Node.js 22.18.0+ and 24.5.0+.
|
|
55
65
|
// See: https://nodejs.org/api/tls.html#tlssetdefaultcacertificatescerts
|
|
56
66
|
const { getGlobalDispatcher, setGlobalDispatcher, Agent } = await Promise.resolve().then(() => __importStar(require('undici')));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssr-ssl-plugin.js","sourceRoot":"","sources":["ssr-ssl-plugin.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKH,
|
|
1
|
+
{"version":3,"file":"ssr-ssl-plugin.js","sourceRoot":"","sources":["ssr-ssl-plugin.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKH,4EA8CC;AAjDD,uCAA4C;AAG5C,SAAgB,gCAAgC;IAC9C,OAAO;QACL,IAAI,EAAE,wBAAwB;QAC9B,KAAK,EAAE,OAAO;QACd,KAAK,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE;YAC1C,MAAM,EACJ,GAAG,EACH,MAAM,EAAE,EAAE,KAAK,EAAE,GAClB,GAAG,MAAM,CAAC;YAEX,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;gBACzB,OAAO;YACT,CAAC;YAED,IAAI,UAAU,IAAI,eAAe,IAAI,UAAU,EAAE,CAAC;gBAChD,2DAA2D;gBAC3D,oFAAoF;gBACpF,wHAAwH;gBAExH,2FAA2F;gBAC3F,gGAAgG;gBAChG,wGAAwG;gBACxG,qHAAqH;gBACrH,UAAU,CAAC,aAAa,GAAG,CAAC,UAAU,CAAC,CAAC;YAC1C,CAAC;YAED,2HAA2H;YAC3H,wEAAwE;YACxE,MAAM,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,KAAK,EAAE,GAAG,wDAAa,QAAQ,GAAC,CAAC;YACnF,MAAM,kBAAkB,GAAG,mBAAmB,EAAE,CAAC;YACjD,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;YACvB,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAEzD,mBAAmB,CACjB,IAAI,KAAK,CAAC;gBACR,OAAO,EAAE;oBACP,EAAE,EAAE,CAAC,GAAG,2BAAgB,EAAE,GAAG,YAAY,CAAC;iBAC3C;aACF,CAAC,CACH,CAAC;YAEF,UAAU,EAAE,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBAC3B,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/src/utils/check-port.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-port.js","sourceRoot":"","sources":["check-port.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUH,8BAkDC;AA1DD,8DAAiC;AACjC,uCAAwC;AACxC,+BAA8B;AAE9B,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO,IAAI,KAAK,CAAC,QAAQ,IAAI,+DAA+D,CAAC,CAAC;AAChG,CAAC;AAEM,KAAK,UAAU,SAAS,CAAC,IAAY,EAAE,IAAY;IACxD,6FAA6F;IAC7F,6CAA6C;IAC7C,oBAAoB;IACpB,cAAc;IACd,IAAI;IAEJ,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC7C,MAAM,MAAM,GAAG,IAAA,uBAAY,GAAE,CAAC;QAE9B,MAAM;aACH,IAAI,CAAC,OAAO,EAAE,CAAC,GAA0B,EAAE,EAAE;YAC5C,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC9B,MAAM,CAAC,GAAG,CAAC,CAAC;gBAEZ,OAAO;YACT,CAAC;YAED,IAAI,CAAC,WAAK,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"check-port.js","sourceRoot":"","sources":["check-port.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUH,8BAkDC;AA1DD,8DAAiC;AACjC,uCAAwC;AACxC,+BAA8B;AAE9B,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO,IAAI,KAAK,CAAC,QAAQ,IAAI,+DAA+D,CAAC,CAAC;AAChG,CAAC;AAEM,KAAK,UAAU,SAAS,CAAC,IAAY,EAAE,IAAY;IACxD,6FAA6F;IAC7F,6CAA6C;IAC7C,oBAAoB;IACpB,cAAc;IACd,IAAI;IAEJ,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC7C,MAAM,MAAM,GAAG,IAAA,uBAAY,GAAE,CAAC;QAE9B,MAAM;aACH,IAAI,CAAC,OAAO,EAAE,CAAC,GAA0B,EAAE,EAAE;YAC5C,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC9B,MAAM,CAAC,GAAG,CAAC,CAAC;gBAEZ,OAAO;YACT,CAAC;YAED,IAAI,CAAC,IAAA,WAAK,GAAE,EAAE,CAAC;gBACb,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;gBAE/B,OAAO;YACT,CAAC;YAED,kDAAO,mBAAmB,IACvB,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAC7B,OAAO,CAAC;gBACN,OAAO,EAAE,QAAQ,IAAI,8DAA8D;gBACnF,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;aACtB,CAAC,CACH;iBACA,IAAI,CACH,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EACnF,GAAG,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CACrC,CAAC;QACN,CAAC,CAAC;aACD,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;YACtB,4DAA4D;YAC5D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;YACjC,IAAA,qBAAM,EACJ,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EACtC,uDAAuD,CACxD,CAAC;YAEF,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC,CAAC;aACD,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
10
10
|
exports.normalizeCacheOptions = normalizeCacheOptions;
|
|
11
11
|
const node_path_1 = require("node:path");
|
|
12
12
|
/** Version placeholder is replaced during the build process with actual package version */
|
|
13
|
-
const VERSION = '21.0.
|
|
13
|
+
const VERSION = '21.0.2';
|
|
14
14
|
function hasCacheMetadata(value) {
|
|
15
15
|
return (!!value &&
|
|
16
16
|
typeof value === 'object' &&
|
|
@@ -17,7 +17,7 @@ const node_path_1 = require("node:path");
|
|
|
17
17
|
* @returns A normalized path string.
|
|
18
18
|
*/
|
|
19
19
|
function normalizeDirectoryPath(path) {
|
|
20
|
-
const last = path
|
|
20
|
+
const last = path.at(-1);
|
|
21
21
|
if (last === '/' || last === '\\') {
|
|
22
22
|
return path.slice(0, -1);
|
|
23
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-metadata.js","sourceRoot":"","sources":["project-metadata.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAUH,wDAOC;AAED,kDAWC;AA5BD,yCAAiC;AAEjC;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAC,IAAY;IACjD,MAAM,IAAI,GAAG,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"project-metadata.js","sourceRoot":"","sources":["project-metadata.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAUH,wDAOC;AAED,kDAWC;AA5BD,yCAAiC;AAEjC;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAC,IAAY;IACjD,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,mBAAmB,CACjC,aAAqB,EACrB,eAAuD;IAEvD,MAAM,WAAW,GAAG,sBAAsB,CAAC,IAAA,gBAAI,EAAC,aAAa,EAAE,eAAe,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5F,MAAM,aAAa,GAAG,eAAe,CAAC,UAAU,CAAC;IACjD,MAAM,iBAAiB,GAAG,sBAAsB,CAC9C,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,IAAA,gBAAI,EAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAA,gBAAI,EAAC,aAAa,EAAE,aAAa,CAAC,CAC5F,CAAC;IAEF,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;AAC5C,CAAC"}
|
|
@@ -57,9 +57,7 @@ exports.DEFAULT_URL = new URL('http://ng-localhost/');
|
|
|
57
57
|
*/
|
|
58
58
|
async function launchServer() {
|
|
59
59
|
const { reqHandler } = await (0, load_esm_from_memory_1.loadEsmModuleFromMemory)('./server.mjs');
|
|
60
|
-
const { createWebRequestFromNodeRequest, writeResponseToNodeResponse } = (await Promise.resolve(`${
|
|
61
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
62
|
-
'@angular/ssr/node'}`).then(s => __importStar(require(s))));
|
|
60
|
+
const { createWebRequestFromNodeRequest, writeResponseToNodeResponse } = (await Promise.resolve(`${'@angular/ssr/node'}`).then(s => __importStar(require(s))));
|
|
63
61
|
if (!(0, utils_1.isSsrNodeRequestHandler)(reqHandler) && !(0, utils_1.isSsrRequestHandler)(reqHandler)) {
|
|
64
62
|
return exports.DEFAULT_URL;
|
|
65
63
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launch-server.js","sourceRoot":"","sources":["launch-server.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcH,
|
|
1
|
+
{"version":3,"file":"launch-server.js","sourceRoot":"","sources":["launch-server.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcH,oCA2CC;AAvDD,8DAAiC;AACjC,yCAAyC;AACzC,iEAAiE;AACjE,mCAAuE;AAE1D,QAAA,WAAW,GAAG,IAAI,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAE3D;;;;GAIG;AACI,KAAK,UAAU,YAAY;IAChC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,8CAAuB,EAAC,cAAc,CAAC,CAAC;IACrE,MAAM,EAAE,+BAA+B,EAAE,2BAA2B,EAAE,GAAG,CAAC,yBACxE,mBAA6B,uCAC9B,CAAkF,CAAC;IAEpF,IAAI,CAAC,IAAA,+BAAuB,EAAC,UAAU,CAAC,IAAI,CAAC,IAAA,2BAAmB,EAAC,UAAU,CAAC,EAAE,CAAC;QAC7E,OAAO,mBAAW,CAAC;IACrB,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,wBAAY,EAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACvC,CAAC,KAAK,IAAI,EAAE;YACV,iBAAiB;YACjB,IAAI,IAAA,+BAAuB,EAAC,UAAU,CAAC,EAAE,CAAC;gBACxC,MAAM,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE;oBAC/B,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,8BAA8B,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;gBAClE,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,+BAA+B,CAAC,GAAG,CAAC,CAAC,CAAC;gBACtE,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,2BAA2B,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBACjD,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;oBACrB,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;QACH,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACf,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YACrB,GAAG,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;YAClC,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,EAAE,CAAC;IAEf,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAE7E,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IACvC,IAAA,qBAAM,EAAC,aAAa,EAAE,mCAAmC,CAAC,CAAC;IAC3D,IAAA,qBAAM,EAAC,OAAO,aAAa,KAAK,QAAQ,EAAE,wCAAwC,CAAC,CAAC;IAEpF,OAAO,IAAI,GAAG,CAAC,oBAAoB,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC;AAC5D,CAAC"}
|
|
@@ -65,7 +65,7 @@ function generateAngularServerAppEngineManifest(i18nOptions, baseHref) {
|
|
|
65
65
|
}
|
|
66
66
|
// Remove trailing slash but retain leading slash.
|
|
67
67
|
let basePath = baseHref || '/';
|
|
68
|
-
if (basePath.length > 1 && basePath
|
|
68
|
+
if (basePath.length > 1 && basePath.at(-1) === '/') {
|
|
69
69
|
basePath = basePath.slice(0, -1);
|
|
70
70
|
}
|
|
71
71
|
const manifestContent = `
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["manifest.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAoDH,wFAsCC;AA8BD,4EAgEC;AArLD,yCAAoC;AACpC,qCAA2C;AAE3C,yEAAgG;AAChG,qDAA6D;AAC7D,gEAA8D;AAEjD,QAAA,4BAA4B,GAAG,0BAA0B,CAAC;AAC1D,QAAA,mCAAmC,GAAG,iCAAiC,CAAC;AAOrF,MAAM,2BAA2B,GAAG,iBAAiB,CAAC;AAEtD;;GAEG;AACH,MAAM,eAAe,GAA2B;IAC9C,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;CACb,CAAC;AAEF;;;;;;GAMG;AACH,SAAS,iBAAiB,CAAC,GAAW;IACpC,OAAO,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,sCAAsC,CACpD,WAA6D,EAC7D,QAA4B;IAE5B,MAAM,WAAW,GAA2B,EAAE,CAAC;IAC/C,MAAM,gBAAgB,GAA2B,EAAE,CAAC;IAEpD,IAAI,WAAW,CAAC,YAAY,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;QACxD,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,aAAa,EAAE,CAAC;YAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAChD,MAAM,UAAU,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,2BAA2B,EAAE,CAAC;YACnF,WAAW,CAAC,OAAO,CAAC,GAAG,mBAAmB,UAAU,IAAI,CAAC;YACzD,gBAAgB,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;QACrC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,WAAW,CAAC,EAAE,CAAC,GAAG,mBAAmB,2BAA2B,IAAI,CAAC;QACrE,gBAAgB,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;IAClD,CAAC;IAED,kDAAkD;IAClD,IAAI,QAAQ,GAAG,QAAQ,IAAI,GAAG,CAAC;IAC/B,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["manifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -51,7 +51,7 @@ async function prerenderPages(workspaceRoot, baseHref, appShellOptions, prerende
|
|
|
51
51
|
serverBundlesSourceMaps.clear();
|
|
52
52
|
const assetsReversed = {};
|
|
53
53
|
for (const { source, destination } of assets) {
|
|
54
|
-
assetsReversed[addLeadingSlash((0, path_1.toPosixPath)(destination))] = source;
|
|
54
|
+
assetsReversed[(0, url_1.addLeadingSlash)((0, path_1.toPosixPath)(destination))] = source;
|
|
55
55
|
}
|
|
56
56
|
// Get routes to prerender
|
|
57
57
|
const { errors: extractionErrors, serializedRouteTree: serializableRouteTreeNode, appShellRoute, } = await getAllRoutes(workspaceRoot, baseHref, outputFilesForWorker, assetsReversed, appShellOptions, prerenderOptions, sourcemap, outputMode).catch((err) => {
|
|
@@ -129,14 +129,14 @@ async function renderPages(baseHref, sourcemap, serializableRouteTreeNode, maxTh
|
|
|
129
129
|
});
|
|
130
130
|
try {
|
|
131
131
|
const renderingPromises = [];
|
|
132
|
-
const appShellRouteWithLeadingSlash = appShellRoute && addLeadingSlash(appShellRoute);
|
|
132
|
+
const appShellRouteWithLeadingSlash = appShellRoute && (0, url_1.addLeadingSlash)(appShellRoute);
|
|
133
133
|
const baseHrefPathnameWithLeadingSlash = new URL(baseHref, 'http://localhost').pathname;
|
|
134
134
|
for (const { route, redirectTo } of serializableRouteTreeNode) {
|
|
135
135
|
// Remove the base href from the file output path.
|
|
136
|
-
const routeWithoutBaseHref = addTrailingSlash(route).startsWith(baseHrefPathnameWithLeadingSlash)
|
|
137
|
-
? addLeadingSlash(route.slice(baseHrefPathnameWithLeadingSlash.length))
|
|
136
|
+
const routeWithoutBaseHref = (0, url_1.addTrailingSlash)(route).startsWith(baseHrefPathnameWithLeadingSlash)
|
|
137
|
+
? (0, url_1.addLeadingSlash)(route.slice(baseHrefPathnameWithLeadingSlash.length))
|
|
138
138
|
: route;
|
|
139
|
-
const outPath = node_path_1.posix.join(
|
|
139
|
+
const outPath = (0, url_1.stripLeadingSlash)(node_path_1.posix.join(routeWithoutBaseHref, 'index.html'));
|
|
140
140
|
if (typeof redirectTo === 'string') {
|
|
141
141
|
output[outPath] = { content: (0, utils_2.generateRedirectStaticPage)(redirectTo), appShellRoute: false };
|
|
142
142
|
continue;
|
|
@@ -172,7 +172,7 @@ async function getAllRoutes(workspaceRoot, baseHref, outputFilesForWorker, asset
|
|
|
172
172
|
const routes = [];
|
|
173
173
|
let appShellRoute;
|
|
174
174
|
if (appShellOptions) {
|
|
175
|
-
appShellRoute = (0, url_1.
|
|
175
|
+
appShellRoute = (0, url_1.joinUrlParts)(baseHref, appShellOptions.route);
|
|
176
176
|
routes.push({
|
|
177
177
|
renderMode: models_1.RouteRenderMode.Prerender,
|
|
178
178
|
route: appShellRoute,
|
|
@@ -183,7 +183,7 @@ async function getAllRoutes(workspaceRoot, baseHref, outputFilesForWorker, asset
|
|
|
183
183
|
for (const route of routesFromFile) {
|
|
184
184
|
routes.push({
|
|
185
185
|
renderMode: models_1.RouteRenderMode.Prerender,
|
|
186
|
-
route: (0, url_1.
|
|
186
|
+
route: (0, url_1.joinUrlParts)(baseHref, route.trim()),
|
|
187
187
|
});
|
|
188
188
|
}
|
|
189
189
|
}
|
|
@@ -233,13 +233,4 @@ async function getAllRoutes(workspaceRoot, baseHref, outputFilesForWorker, asset
|
|
|
233
233
|
void renderWorker.destroy();
|
|
234
234
|
}
|
|
235
235
|
}
|
|
236
|
-
function addLeadingSlash(value) {
|
|
237
|
-
return value[0] === '/' ? value : '/' + value;
|
|
238
|
-
}
|
|
239
|
-
function addTrailingSlash(url) {
|
|
240
|
-
return url[url.length - 1] === '/' ? url : `${url}/`;
|
|
241
|
-
}
|
|
242
|
-
function removeLeadingSlash(value) {
|
|
243
|
-
return value[0] === '/' ? value.slice(1) : value;
|
|
244
|
-
}
|
|
245
236
|
//# sourceMappingURL=prerender.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prerender.js","sourceRoot":"","sources":["prerender.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AA2CH,wCA+IC;AAxLD,+CAA4C;AAC5C,yCAA2C;AAE3C,8DAA+D;AAC/D,yEAA2F;AAE3F,oCAAyC;AACzC,kCAAsC;AACtC,
|
|
1
|
+
{"version":3,"file":"prerender.js","sourceRoot":"","sources":["prerender.ts"],"names":[],"mappings":"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"}
|
package/src/utils/url.d.ts
CHANGED
|
@@ -5,4 +5,77 @@
|
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
6
|
* found in the LICENSE file at https://angular.dev/license
|
|
7
7
|
*/
|
|
8
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Removes the trailing slash from a URL if it exists.
|
|
10
|
+
*
|
|
11
|
+
* @param url - The URL string from which to remove the trailing slash.
|
|
12
|
+
* @returns The URL string without a trailing slash.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```js
|
|
16
|
+
* stripTrailingSlash('path/'); // 'path'
|
|
17
|
+
* stripTrailingSlash('/path'); // '/path'
|
|
18
|
+
* stripTrailingSlash('/'); // '/'
|
|
19
|
+
* stripTrailingSlash(''); // ''
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare function stripTrailingSlash(url: string): string;
|
|
23
|
+
/**
|
|
24
|
+
* Removes the leading slash from a URL if it exists.
|
|
25
|
+
*
|
|
26
|
+
* @param url - The URL string from which to remove the leading slash.
|
|
27
|
+
* @returns The URL string without a leading slash.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```js
|
|
31
|
+
* stripLeadingSlash('/path'); // 'path'
|
|
32
|
+
* stripLeadingSlash('/path/'); // 'path/'
|
|
33
|
+
* stripLeadingSlash('/'); // '/'
|
|
34
|
+
* stripLeadingSlash(''); // ''
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export declare function stripLeadingSlash(url: string): string;
|
|
38
|
+
/**
|
|
39
|
+
* Adds a leading slash to a URL if it does not already have one.
|
|
40
|
+
*
|
|
41
|
+
* @param url - The URL string to which the leading slash will be added.
|
|
42
|
+
* @returns The URL string with a leading slash.
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```js
|
|
46
|
+
* addLeadingSlash('path'); // '/path'
|
|
47
|
+
* addLeadingSlash('/path'); // '/path'
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export declare function addLeadingSlash(url: string): string;
|
|
51
|
+
/**
|
|
52
|
+
* Adds a trailing slash to a URL if it does not already have one.
|
|
53
|
+
*
|
|
54
|
+
* @param url - The URL string to which the trailing slash will be added.
|
|
55
|
+
* @returns The URL string with a trailing slash.
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```js
|
|
59
|
+
* addTrailingSlash('path'); // 'path/'
|
|
60
|
+
* addTrailingSlash('path/'); // 'path/'
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
export declare function addTrailingSlash(url: string): string;
|
|
64
|
+
/**
|
|
65
|
+
* Joins URL parts into a single URL string.
|
|
66
|
+
*
|
|
67
|
+
* This function takes multiple URL segments, normalizes them by removing leading
|
|
68
|
+
* and trailing slashes where appropriate, and then joins them into a single URL.
|
|
69
|
+
*
|
|
70
|
+
* @param parts - The parts of the URL to join. Each part can be a string with or without slashes.
|
|
71
|
+
* @returns The joined URL string, with normalized slashes.
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```js
|
|
75
|
+
* joinUrlParts('path/', '/to/resource'); // '/path/to/resource'
|
|
76
|
+
* joinUrlParts('/path/', 'to/resource'); // '/path/to/resource'
|
|
77
|
+
* joinUrlParts('http://localhost/path/', 'to/resource'); // 'http://localhost/path/to/resource'
|
|
78
|
+
* joinUrlParts('', ''); // '/'
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
export declare function joinUrlParts(...parts: string[]): string;
|