@absolutejs/absolute 0.19.0-beta.805 → 0.19.0-beta.807
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/dist/angular/index.js +5 -5
- package/dist/angular/server.js +5 -5
- package/dist/build.js +4 -4
- package/dist/{chunk-gxrsf71e.js → chunk-1rfh7hw9.js} +29 -15
- package/dist/chunk-1rfh7hw9.js.map +11 -0
- package/dist/{chunk-f8k0tb5z.js → chunk-1x4fxm57.js} +5 -5
- package/dist/{chunk-n5a5nxnt.js → chunk-3rea1gam.js} +20 -14
- package/dist/chunk-3rea1gam.js.map +28 -0
- package/dist/{chunk-pevt15h0.js → chunk-629x0yh4.js} +5 -5
- package/dist/{chunk-a0x4bf8d.js → chunk-92fsjfpp.js} +2 -14
- package/dist/{chunk-a0x4bf8d.js.map → chunk-92fsjfpp.js.map} +3 -3
- package/dist/{chunk-z6c8qcmw.js → chunk-9j59emg3.js} +2 -2
- package/dist/{chunk-r0w678ve.js → chunk-bgb8k1qs.js} +2 -2
- package/dist/{chunk-by7t1d3r.js → chunk-cm0g4q6w.js} +2 -2
- package/dist/{chunk-hf5fjykx.js → chunk-jpkjdgsk.js} +13 -53
- package/dist/chunk-jpkjdgsk.js.map +11 -0
- package/dist/{chunk-8zz4g25g.js → chunk-kwgh8rmg.js} +14 -17
- package/dist/chunk-kwgh8rmg.js.map +14 -0
- package/dist/{chunk-0r32762k.js → chunk-m97ze5hz.js} +3 -3
- package/dist/{chunk-0r32762k.js.map → chunk-m97ze5hz.js.map} +1 -1
- package/dist/{chunk-ccz4x8vr.js → chunk-p5zgj77m.js} +3 -3
- package/dist/chunk-pnscgw95.js +90 -0
- package/dist/chunk-pnscgw95.js.map +10 -0
- package/dist/{chunk-0fsxp5gc.js → chunk-r6e8pytx.js} +2 -2
- package/dist/client/index.js +4 -4
- package/dist/index.js +5 -6
- package/dist/index.js.map +2 -2
- package/dist/islands/index.js +1 -1
- package/dist/react/index.js +1 -1
- package/dist/src/angular/ssrRender.d.ts +1 -3
- package/dist/src/build/buildAngularVendor.d.ts +2 -2
- package/dist/src/index.d.ts +0 -1
- package/dist/svelte/index.js +1 -1
- package/dist/types/angular.d.ts +0 -6
- package/dist/vue/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-8zz4g25g.js.map +0 -14
- package/dist/chunk-gxrsf71e.js.map +0 -11
- package/dist/chunk-hf5fjykx.js.map +0 -11
- package/dist/chunk-n5a5nxnt.js.map +0 -28
- package/dist/chunk-r8dzkm4s.js +0 -194
- package/dist/chunk-r8dzkm4s.js.map +0 -11
- package/dist/src/angular/injectorPatch.d.ts +0 -1
- /package/dist/{chunk-f8k0tb5z.js.map → chunk-1x4fxm57.js.map} +0 -0
- /package/dist/{chunk-pevt15h0.js.map → chunk-629x0yh4.js.map} +0 -0
- /package/dist/{chunk-z6c8qcmw.js.map → chunk-9j59emg3.js.map} +0 -0
- /package/dist/{chunk-r0w678ve.js.map → chunk-bgb8k1qs.js.map} +0 -0
- /package/dist/{chunk-by7t1d3r.js.map → chunk-cm0g4q6w.js.map} +0 -0
- /package/dist/{chunk-ccz4x8vr.js.map → chunk-p5zgj77m.js.map} +0 -0
- /package/dist/{chunk-0fsxp5gc.js.map → chunk-r6e8pytx.js.map} +0 -0
package/dist/angular/index.js
CHANGED
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
} from "../chunk-5fhp1jap.js";
|
|
7
7
|
import {
|
|
8
8
|
handleAngularPageRequest
|
|
9
|
-
} from "../chunk-
|
|
9
|
+
} from "../chunk-kwgh8rmg.js";
|
|
10
10
|
import"../chunk-gd6wmknh.js";
|
|
11
11
|
import"../chunk-mtgf69xn.js";
|
|
12
12
|
import"../chunk-v5vmsxmy.js";
|
|
@@ -31,9 +31,9 @@ import {
|
|
|
31
31
|
import"../chunk-qxq2zcty.js";
|
|
32
32
|
import {
|
|
33
33
|
getCachedRouteData
|
|
34
|
-
} from "../chunk-
|
|
35
|
-
import"../chunk-
|
|
36
|
-
import"../chunk-
|
|
34
|
+
} from "../chunk-jpkjdgsk.js";
|
|
35
|
+
import"../chunk-m97ze5hz.js";
|
|
36
|
+
import"../chunk-pnscgw95.js";
|
|
37
37
|
import"../chunk-s6defjk2.js";
|
|
38
38
|
import"../chunk-p5504p14.js";
|
|
39
39
|
import {
|
|
@@ -45,7 +45,7 @@ import {
|
|
|
45
45
|
} from "../chunk-25v9t56f.js";
|
|
46
46
|
import {
|
|
47
47
|
renderIslandMarkup
|
|
48
|
-
} from "../chunk-
|
|
48
|
+
} from "../chunk-9j59emg3.js";
|
|
49
49
|
import"../chunk-9ve9jq72.js";
|
|
50
50
|
import"../chunk-7fw6x3js.js";
|
|
51
51
|
import"../chunk-mbazhahf.js";
|
package/dist/angular/server.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
handleAngularPageRequest
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-kwgh8rmg.js";
|
|
5
5
|
import"../chunk-gd6wmknh.js";
|
|
6
6
|
import"../chunk-mtgf69xn.js";
|
|
7
7
|
import"../chunk-v5vmsxmy.js";
|
|
@@ -22,9 +22,9 @@ import {
|
|
|
22
22
|
withPendingTask
|
|
23
23
|
} from "../chunk-6pdj08z3.js";
|
|
24
24
|
import"../chunk-qxq2zcty.js";
|
|
25
|
-
import"../chunk-
|
|
26
|
-
import"../chunk-
|
|
27
|
-
import"../chunk-
|
|
25
|
+
import"../chunk-jpkjdgsk.js";
|
|
26
|
+
import"../chunk-m97ze5hz.js";
|
|
27
|
+
import"../chunk-pnscgw95.js";
|
|
28
28
|
import"../chunk-s6defjk2.js";
|
|
29
29
|
import"../chunk-p5504p14.js";
|
|
30
30
|
import {
|
|
@@ -34,7 +34,7 @@ import {
|
|
|
34
34
|
RESPONSE_INIT,
|
|
35
35
|
buildAbsoluteHttpTransferCacheOptions
|
|
36
36
|
} from "../chunk-25v9t56f.js";
|
|
37
|
-
import"../chunk-
|
|
37
|
+
import"../chunk-9j59emg3.js";
|
|
38
38
|
import"../chunk-9ve9jq72.js";
|
|
39
39
|
import"../chunk-7fw6x3js.js";
|
|
40
40
|
import"../chunk-mbazhahf.js";
|
package/dist/build.js
CHANGED
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
import {
|
|
3
3
|
build,
|
|
4
4
|
devBuild
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-3rea1gam.js";
|
|
6
6
|
import"./chunk-vkrpm7kc.js";
|
|
7
7
|
import"./chunk-cg95827x.js";
|
|
8
8
|
import"./chunk-hcsmxw1v.js";
|
|
9
9
|
import"./chunk-3g91wb4f.js";
|
|
10
10
|
import"./chunk-4d39r92n.js";
|
|
11
11
|
import"./chunk-93sqk7be.js";
|
|
12
|
-
import"./chunk-
|
|
12
|
+
import"./chunk-1rfh7hw9.js";
|
|
13
13
|
import"./chunk-7kjj42xm.js";
|
|
14
14
|
import"./chunk-bxfghpma.js";
|
|
15
15
|
import"./chunk-cdxd7sy2.js";
|
|
@@ -20,7 +20,7 @@ import"./chunk-mtxzyxpg.js";
|
|
|
20
20
|
import"./chunk-hyjs4bqs.js";
|
|
21
21
|
import"./chunk-y84qnsd3.js";
|
|
22
22
|
import"./chunk-85n68sy6.js";
|
|
23
|
-
import"./chunk-
|
|
23
|
+
import"./chunk-bgb8k1qs.js";
|
|
24
24
|
import"./chunk-d7mwkzry.js";
|
|
25
25
|
import"./chunk-h5bbfn3n.js";
|
|
26
26
|
import"./chunk-11zpfqz6.js";
|
|
@@ -34,7 +34,7 @@ import"./chunk-gf0ygptk.js";
|
|
|
34
34
|
import"./chunk-851whwc7.js";
|
|
35
35
|
import"./chunk-s6defjk2.js";
|
|
36
36
|
import"./chunk-p5504p14.js";
|
|
37
|
-
import"./chunk-
|
|
37
|
+
import"./chunk-9j59emg3.js";
|
|
38
38
|
import"./chunk-9ve9jq72.js";
|
|
39
39
|
import"./chunk-7fw6x3js.js";
|
|
40
40
|
import"./chunk-mbazhahf.js";
|
|
@@ -90,17 +90,16 @@ var createAngularLinkerPlugin = (linkerJitMode) => ({
|
|
|
90
90
|
var angularLinkerPlugin = createAngularLinkerPlugin(false);
|
|
91
91
|
|
|
92
92
|
// src/build/buildAngularVendor.ts
|
|
93
|
-
var
|
|
93
|
+
var REQUIRED_ANGULAR_SPECIFIERS_BASE = [
|
|
94
94
|
"@angular/core",
|
|
95
|
-
"@angular/compiler",
|
|
96
95
|
"@angular/common",
|
|
97
96
|
"@angular/common/http",
|
|
98
97
|
"@angular/platform-browser"
|
|
99
98
|
];
|
|
99
|
+
var requiredAngularSpecifiers = (jitMode) => jitMode ? [...REQUIRED_ANGULAR_SPECIFIERS_BASE, "@angular/compiler"] : REQUIRED_ANGULAR_SPECIFIERS_BASE;
|
|
100
100
|
var SERVER_ONLY_ANGULAR_SPECIFIERS = new Set([
|
|
101
101
|
"@angular/platform-server",
|
|
102
|
-
"@angular/ssr"
|
|
103
|
-
"@angular/compiler-cli"
|
|
102
|
+
"@angular/ssr"
|
|
104
103
|
]);
|
|
105
104
|
var SCAN_SKIP_DIRS = new Set([
|
|
106
105
|
"node_modules",
|
|
@@ -146,6 +145,17 @@ var scanSourceImports = async (directories) => {
|
|
|
146
145
|
}
|
|
147
146
|
return { angular, transitiveRoots };
|
|
148
147
|
};
|
|
148
|
+
var PARTIAL_DECL_MARKERS = [
|
|
149
|
+
"\u0275\u0275ngDeclareDirective",
|
|
150
|
+
"\u0275\u0275ngDeclareComponent",
|
|
151
|
+
"\u0275\u0275ngDeclareFactory",
|
|
152
|
+
"\u0275\u0275ngDeclareInjectable",
|
|
153
|
+
"\u0275\u0275ngDeclareInjector",
|
|
154
|
+
"\u0275\u0275ngDeclareNgModule",
|
|
155
|
+
"\u0275\u0275ngDeclarePipe",
|
|
156
|
+
"\u0275\u0275ngDeclareClassMetadata"
|
|
157
|
+
];
|
|
158
|
+
var containsPartialDeclarations = (source) => PARTIAL_DECL_MARKERS.some((marker) => source.includes(marker));
|
|
149
159
|
var collectTransitiveAngularSpecs = async (roots, angularFound) => {
|
|
150
160
|
const { readFileSync: readFileSync2 } = await import("fs");
|
|
151
161
|
const transpiler = new Bun.Transpiler({ loader: "js" });
|
|
@@ -172,6 +182,9 @@ var collectTransitiveAngularSpecs = async (roots, angularFound) => {
|
|
|
172
182
|
} catch {
|
|
173
183
|
continue;
|
|
174
184
|
}
|
|
185
|
+
if (!isAngularBrowserSpecifier(spec) && containsPartialDeclarations(content)) {
|
|
186
|
+
angularFound.add(spec);
|
|
187
|
+
}
|
|
175
188
|
let imports;
|
|
176
189
|
try {
|
|
177
190
|
imports = transpiler.scanImports(content);
|
|
@@ -198,10 +211,11 @@ var collectTransitiveAngularSpecs = async (roots, angularFound) => {
|
|
|
198
211
|
}
|
|
199
212
|
};
|
|
200
213
|
var toSafeFileName = (specifier) => specifier.replace(/^@/, "").replace(/\//g, "_");
|
|
201
|
-
var resolveAngularSpecifiers = async (directories) => {
|
|
214
|
+
var resolveAngularSpecifiers = async (directories, linkerJitMode) => {
|
|
202
215
|
const { angular, transitiveRoots } = await scanSourceImports(directories);
|
|
203
|
-
for (const spec of
|
|
216
|
+
for (const spec of requiredAngularSpecifiers(linkerJitMode)) {
|
|
204
217
|
angular.add(spec);
|
|
218
|
+
}
|
|
205
219
|
await collectTransitiveAngularSpecs([...angular, ...transitiveRoots], angular);
|
|
206
220
|
return Array.from(angular).filter(isResolvable);
|
|
207
221
|
};
|
|
@@ -210,7 +224,7 @@ var buildAngularVendor = async (buildDir, directories = [], linkerJitMode = fals
|
|
|
210
224
|
mkdirSync2(vendorDir, { recursive: true });
|
|
211
225
|
const tmpDir = join2(buildDir, "_angular_vendor_tmp");
|
|
212
226
|
mkdirSync2(tmpDir, { recursive: true });
|
|
213
|
-
const specifiers = await resolveAngularSpecifiers(directories);
|
|
227
|
+
const specifiers = await resolveAngularSpecifiers(directories, linkerJitMode);
|
|
214
228
|
const entrypoints = await Promise.all(specifiers.map(async (specifier) => {
|
|
215
229
|
const safeName = toSafeFileName(specifier);
|
|
216
230
|
const entryPath = join2(tmpDir, `${safeName}.ts`);
|
|
@@ -235,15 +249,15 @@ var buildAngularVendor = async (buildDir, directories = [], linkerJitMode = fals
|
|
|
235
249
|
}
|
|
236
250
|
return specifiers;
|
|
237
251
|
};
|
|
238
|
-
var computeAngularVendorPaths = (specifiers =
|
|
252
|
+
var computeAngularVendorPaths = (specifiers = requiredAngularSpecifiers(true)) => {
|
|
239
253
|
const paths = {};
|
|
240
254
|
for (const specifier of specifiers) {
|
|
241
255
|
paths[specifier] = `/angular/vendor/${toSafeFileName(specifier)}.js`;
|
|
242
256
|
}
|
|
243
257
|
return paths;
|
|
244
258
|
};
|
|
245
|
-
var computeAngularVendorPathsAsync = async (directories = []) => {
|
|
246
|
-
const specifiers = await resolveAngularSpecifiers(directories);
|
|
259
|
+
var computeAngularVendorPathsAsync = async (directories = [], linkerJitMode = true) => {
|
|
260
|
+
const specifiers = await resolveAngularSpecifiers(directories, linkerJitMode);
|
|
247
261
|
return computeAngularVendorPaths(specifiers);
|
|
248
262
|
};
|
|
249
263
|
var buildAngularServerVendor = async (buildDir, directories = [], linkerJitMode = false) => {
|
|
@@ -251,7 +265,7 @@ var buildAngularServerVendor = async (buildDir, directories = [], linkerJitMode
|
|
|
251
265
|
mkdirSync2(vendorDir, { recursive: true });
|
|
252
266
|
const tmpDir = join2(buildDir, "_angular_server_vendor_tmp");
|
|
253
267
|
mkdirSync2(tmpDir, { recursive: true });
|
|
254
|
-
const browserSpecs = await resolveAngularSpecifiers(directories);
|
|
268
|
+
const browserSpecs = await resolveAngularSpecifiers(directories, linkerJitMode);
|
|
255
269
|
const allSpecs = new Set(browserSpecs);
|
|
256
270
|
for (const spec of SERVER_ONLY_ANGULAR_SPECIFIERS) {
|
|
257
271
|
if (isResolvable(spec))
|
|
@@ -289,8 +303,8 @@ var computeAngularServerVendorPaths = (buildDir, specifiers) => {
|
|
|
289
303
|
}
|
|
290
304
|
return paths;
|
|
291
305
|
};
|
|
292
|
-
var computeAngularServerVendorPathsAsync = async (buildDir, directories = []) => {
|
|
293
|
-
const browserSpecs = await resolveAngularSpecifiers(directories);
|
|
306
|
+
var computeAngularServerVendorPathsAsync = async (buildDir, directories = [], linkerJitMode = true) => {
|
|
307
|
+
const browserSpecs = await resolveAngularSpecifiers(directories, linkerJitMode);
|
|
294
308
|
const allSpecs = new Set(browserSpecs);
|
|
295
309
|
for (const spec of SERVER_ONLY_ANGULAR_SPECIFIERS) {
|
|
296
310
|
if (isResolvable(spec))
|
|
@@ -301,5 +315,5 @@ var computeAngularServerVendorPathsAsync = async (buildDir, directories = []) =>
|
|
|
301
315
|
|
|
302
316
|
export { createAngularLinkerPlugin, buildAngularVendor, computeAngularVendorPaths, computeAngularVendorPathsAsync, buildAngularServerVendor, computeAngularServerVendorPaths, computeAngularServerVendorPathsAsync };
|
|
303
317
|
|
|
304
|
-
//# debugId=
|
|
305
|
-
//# sourceMappingURL=chunk-
|
|
318
|
+
//# debugId=E1E3E54B85574B7C64756E2164756E21
|
|
319
|
+
//# sourceMappingURL=chunk-1rfh7hw9.js.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/build/buildAngularVendor.ts", "../src/build/angularLinkerPlugin.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"import { mkdirSync } from 'node:fs';\nimport { join } from 'node:path';\nimport { rm } from 'node:fs/promises';\nimport { build as bunBuild, Glob } from 'bun';\nimport { createAngularLinkerPlugin } from './angularLinkerPlugin';\nimport { generateVendorEntrySource } from './vendorEntrySource';\n\n/** Always-vendored Angular packages.\n * Required for any Angular page even if not imported in user code: the runtime\n * needs them to bootstrap. Server-only packages (@angular/platform-server) are\n * excluded. Additional @angular/* packages are auto-discovered from source.\n *\n * `@angular/compiler` is included only when the vendor is built in JIT mode\n * (dev). In AOT mode (prod) every `ɵɵngDeclare*` has been linked at vendor\n * build time, so the compiler isn't needed at runtime and is dropped to keep\n * the prod artifact slim. */\nconst REQUIRED_ANGULAR_SPECIFIERS_BASE = [\n\t'@angular/core',\n\t'@angular/common',\n\t'@angular/common/http',\n\t'@angular/platform-browser'\n];\nconst requiredAngularSpecifiers = (jitMode: boolean) =>\n\tjitMode\n\t\t? [...REQUIRED_ANGULAR_SPECIFIERS_BASE, '@angular/compiler']\n\t\t: REQUIRED_ANGULAR_SPECIFIERS_BASE;\n\n/** Server-only Angular packages — needed for SSR runtime, not for the\n * browser. `@angular/compiler-cli` is intentionally omitted: it's a\n * build-time package (it ships the linker and the AOT compiler) and has\n * no runtime role, so vendoring it would just bloat the artifact. */\nconst SERVER_ONLY_ANGULAR_SPECIFIERS = new Set([\n\t'@angular/platform-server',\n\t'@angular/ssr'\n]);\n\nconst SCAN_SKIP_DIRS = new Set([\n\t'node_modules',\n\t'build',\n\t'dist',\n\t'.absolutejs',\n\t'generated'\n]);\n\nconst isResolvable = (specifier: string) => {\n\ttry {\n\t\tBun.resolveSync(specifier, process.cwd());\n\n\t\treturn true;\n\t} catch {\n\t\treturn false;\n\t}\n};\n\nconst isBareSpecifier = (spec: string) =>\n\t!spec.startsWith('.') && !spec.startsWith('/') && !spec.startsWith('@src/');\n\nconst isAngularBrowserSpecifier = (spec: string) =>\n\tspec.startsWith('@angular/') && !SERVER_ONLY_ANGULAR_SPECIFIERS.has(spec);\n\n/** Scan user source for any imports — both @angular/* (kept) and other bare\n * specs (returned as transitive scan seeds). Finding angular subpaths only\n * reachable through deps (e.g. `@angular/core/rxjs-interop` from\n * `@angular/fire/compat/auth`) requires walking through non-angular roots. */\nconst scanSourceImports = async (directories: string[]) => {\n\tconst angular = new Set<string>();\n\tconst transitiveRoots = new Set<string>();\n\tconst transpiler = new Bun.Transpiler({ loader: 'tsx' });\n\tconst glob = new Glob('**/*.{ts,tsx,js,jsx}');\n\n\tfor (const dir of directories) {\n\t\ttry {\n\t\t\tfor await (const file of glob.scan({ absolute: true, cwd: dir })) {\n\t\t\t\tconst rel = file.slice(dir.length + 1);\n\t\t\t\tconst [first] = rel.split('/');\n\t\t\t\tif (first && SCAN_SKIP_DIRS.has(first)) continue;\n\t\t\t\ttry {\n\t\t\t\t\tconst content = await Bun.file(file).text();\n\t\t\t\t\tfor (const imp of transpiler.scanImports(content)) {\n\t\t\t\t\t\tif (isAngularBrowserSpecifier(imp.path)) {\n\t\t\t\t\t\t\tangular.add(imp.path);\n\t\t\t\t\t\t} else if (isBareSpecifier(imp.path)) {\n\t\t\t\t\t\t\ttransitiveRoots.add(imp.path);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} catch {\n\t\t\t\t\t// unreadable file, skip\n\t\t\t\t}\n\t\t\t}\n\t\t} catch {\n\t\t\t// missing dir, skip\n\t\t}\n\t}\n\n\treturn { angular, transitiveRoots };\n};\n\n/** Marker substrings emitted by Angular's partial-AOT compiler into any\n * package that ships `ɵɵngDeclare*` declarations. The presence of any\n * one of these means the file needs the linker before it can run, which\n * in turn means the package belongs in the Angular vendor — even if it's\n * not under `@angular/*` (e.g. `@ngx-translate/core`, `@ng-bootstrap`,\n * community Material extensions, etc.). Mirrors `declarationFunctions`\n * in `@angular/compiler-cli/linker`. */\nconst PARTIAL_DECL_MARKERS = [\n\t'ɵɵngDeclareDirective',\n\t'ɵɵngDeclareComponent',\n\t'ɵɵngDeclareFactory',\n\t'ɵɵngDeclareInjectable',\n\t'ɵɵngDeclareInjector',\n\t'ɵɵngDeclareNgModule',\n\t'ɵɵngDeclarePipe',\n\t'ɵɵngDeclareClassMetadata'\n];\n\nconst containsPartialDeclarations = (source: string) =>\n\tPARTIAL_DECL_MARKERS.some((marker) => source.includes(marker));\n\n/** Walk through transitive deps and harvest any @angular/* subpaths reachable\n * via non-angular packages (e.g. firebase imports `@angular/core/rxjs-interop`\n * through @angular/fire). Also harvests any non-@angular package whose\n * shipped code contains partial AOT declarations — those need the linker\n * too, so they belong in the Angular vendor pipeline. */\nconst collectTransitiveAngularSpecs = async (\n\troots: Iterable<string>,\n\tangularFound: Set<string>\n) => {\n\tconst { readFileSync } = await import('node:fs');\n\tconst transpiler = new Bun.Transpiler({ loader: 'js' });\n\tconst visited = new Set<string>();\n\tconst frontier: string[] = [];\n\tfor (const r of roots) frontier.push(r);\n\n\tconst MAX_PASSES = 5;\n\tfor (let pass = 0; pass < MAX_PASSES; pass++) {\n\t\tconst next: string[] = [];\n\t\tfor (const spec of frontier) {\n\t\t\tif (visited.has(spec)) continue;\n\t\t\tvisited.add(spec);\n\t\t\tlet resolved: string;\n\t\t\ttry {\n\t\t\t\tresolved = Bun.resolveSync(spec, process.cwd());\n\t\t\t} catch {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tlet content: string;\n\t\t\ttry {\n\t\t\t\tcontent = readFileSync(resolved, 'utf-8');\n\t\t\t} catch {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\t// If this file ships partial AOT declarations, the *package* it\n\t\t\t// belongs to needs the linker — add the spec used to import it.\n\t\t\t// Skip if it's already an @angular/* spec (covered separately).\n\t\t\tif (\n\t\t\t\t!isAngularBrowserSpecifier(spec) &&\n\t\t\t\tcontainsPartialDeclarations(content)\n\t\t\t) {\n\t\t\t\tangularFound.add(spec);\n\t\t\t}\n\t\t\tlet imports;\n\t\t\ttry {\n\t\t\t\timports = transpiler.scanImports(content);\n\t\t\t} catch {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tfor (const imp of imports) {\n\t\t\t\tconst child = imp.path;\n\t\t\t\tif (!isBareSpecifier(child)) continue;\n\t\t\t\tif (visited.has(child)) continue;\n\t\t\t\tif (isAngularBrowserSpecifier(child)) {\n\t\t\t\t\tangularFound.add(child);\n\t\t\t\t}\n\t\t\t\tnext.push(child);\n\t\t\t}\n\t\t}\n\t\tif (next.length === 0) break;\n\t\tfrontier.length = 0;\n\t\tfor (const s of next) frontier.push(s);\n\t}\n};\n\n/** Convert a bare specifier to a safe filename:\n * @angular/common/http → angular_common_http */\nconst toSafeFileName = (specifier: string) =>\n\tspecifier.replace(/^@/, '').replace(/\\//g, '_');\n\nconst resolveAngularSpecifiers = async (\n\tdirectories: string[],\n\tlinkerJitMode: boolean\n) => {\n\tconst { angular, transitiveRoots } = await scanSourceImports(directories);\n\tfor (const spec of requiredAngularSpecifiers(linkerJitMode)) {\n\t\tangular.add(spec);\n\t}\n\tawait collectTransitiveAngularSpecs(\n\t\t[...angular, ...transitiveRoots],\n\t\tangular\n\t);\n\n\treturn Array.from(angular).filter(isResolvable);\n};\n\n/** Build vendor bundles for every @angular/* package the project imports.\n * `linkerJitMode` controls whether NgModule definitions retain their\n * declarations/exports — required when consumer (user) components are\n * runtime-compiled by `@angular/compiler` (dev/HMR via compileAngularFileJIT).\n * Production AOT builds set this to false to match AOT'd user components.\n *\n * `depVendorSpecifiers` are non-framework packages that are also vendored\n * separately (by `buildDepVendor`). They MUST be externalized here too —\n * otherwise transitive imports like `@angular/fire/compat/auth` →\n * `firebase/compat/auth` get bundled twice, creating duplicate\n * @firebase/app-compat instances. The angular-vendor copy registers\n * `firebase.auth.*` on its own firebase singleton, leaving the user's\n * `import firebase from 'firebase/compat/app'` with `firebase.auth` undefined.\n * Externalizing forces both pipelines to share the same /vendor chunks. */\nexport const buildAngularVendor = async (\n\tbuildDir: string,\n\tdirectories: string[] = [],\n\tlinkerJitMode = false,\n\tdepVendorSpecifiers: string[] = []\n) => {\n\tconst vendorDir = join(buildDir, 'angular', 'vendor');\n\tmkdirSync(vendorDir, { recursive: true });\n\n\tconst tmpDir = join(buildDir, '_angular_vendor_tmp');\n\tmkdirSync(tmpDir, { recursive: true });\n\n\tconst specifiers = await resolveAngularSpecifiers(\n\t\tdirectories,\n\t\tlinkerJitMode\n\t);\n\n\t// Angular packages are proper ESM. `export *` re-exports only NAMED exports\n\t// per ECMA spec, so we use the namespace-default-fallback pattern that's\n\t// safe regardless of whether the package has a default export.\n\tconst entrypoints = await Promise.all(\n\t\tspecifiers.map(async (specifier) => {\n\t\t\tconst safeName = toSafeFileName(specifier);\n\t\t\tconst entryPath = join(tmpDir, `${safeName}.ts`);\n\t\t\tawait Bun.write(entryPath, generateVendorEntrySource(specifier));\n\n\t\t\treturn entryPath;\n\t\t})\n\t);\n\n\tconst result = await bunBuild({\n\t\tentrypoints,\n\t\texternal: depVendorSpecifiers,\n\t\tformat: 'esm',\n\t\tminify: false,\n\t\tnaming: '[name].[ext]',\n\t\toutdir: vendorDir,\n\t\tplugins: [createAngularLinkerPlugin(linkerJitMode)],\n\t\tsplitting: true,\n\t\ttarget: 'browser',\n\t\tthrow: false\n\t});\n\n\tawait rm(tmpDir, { force: true, recursive: true });\n\n\tif (!result.success) {\n\t\tconsole.warn('⚠️ Angular vendor build had errors:', result.logs);\n\t}\n\n\treturn specifiers;\n};\nexport const computeAngularVendorPaths = (\n\tspecifiers: string[] = requiredAngularSpecifiers(true)\n) => {\n\tconst paths: Record<string, string> = {};\n\tfor (const specifier of specifiers) {\n\t\tpaths[specifier] = `/angular/vendor/${toSafeFileName(specifier)}.js`;\n\t}\n\n\treturn paths;\n};\n\n/** Async variant that scans source + transitive deps before producing the\n * vendor path map. Use this when the page-bundle build needs the full set of\n * angular specs in its rewrite map (otherwise transitively-discovered subpaths\n * like `@angular/core/rxjs-interop` end up as bare specifiers in the output). */\nexport const computeAngularVendorPathsAsync = async (\n\tdirectories: string[] = [],\n\tlinkerJitMode = true\n) => {\n\tconst specifiers = await resolveAngularSpecifiers(\n\t\tdirectories,\n\t\tlinkerJitMode\n\t);\n\n\treturn computeAngularVendorPaths(specifiers);\n};\n\n/** Server-side counterpart to `buildAngularVendor`. Outputs fully-linked\n * Bun-target ESM bundles for every @angular/* package the project uses,\n * *plus* `@angular/platform-server` and `@angular/ssr` (excluded from the\n * browser vendor). The server bundle and `getAngularDeps()` import from\n * these paths so SSR shares one Angular runtime instance with the page\n * bundles — eliminates the dual-package hazard that produces NG0201.\n *\n * After this build, `@angular/compiler` is no longer required at runtime\n * for AOT-mode builds: every partial `ɵɵngDeclare*` has been linked into\n * final ɵdir/ɵcmp/ɵfac definitions in the vendor output. */\nexport const buildAngularServerVendor = async (\n\tbuildDir: string,\n\tdirectories: string[] = [],\n\tlinkerJitMode = false\n) => {\n\tconst vendorDir = join(buildDir, 'angular', 'vendor', 'server');\n\tmkdirSync(vendorDir, { recursive: true });\n\n\tconst tmpDir = join(buildDir, '_angular_server_vendor_tmp');\n\tmkdirSync(tmpDir, { recursive: true });\n\n\tconst browserSpecs = await resolveAngularSpecifiers(\n\t\tdirectories,\n\t\tlinkerJitMode\n\t);\n\tconst allSpecs = new Set(browserSpecs);\n\tfor (const spec of SERVER_ONLY_ANGULAR_SPECIFIERS) {\n\t\tif (isResolvable(spec)) allSpecs.add(spec);\n\t}\n\tconst specifiers = Array.from(allSpecs);\n\n\tconst entrypoints = await Promise.all(\n\t\tspecifiers.map(async (specifier) => {\n\t\t\tconst safeName = toSafeFileName(specifier);\n\t\t\tconst entryPath = join(tmpDir, `${safeName}.ts`);\n\t\t\tawait Bun.write(entryPath, generateVendorEntrySource(specifier));\n\n\t\t\treturn entryPath;\n\t\t})\n\t);\n\n\tconst result = await bunBuild({\n\t\tentrypoints,\n\t\tformat: 'esm',\n\t\tminify: false,\n\t\tnaming: '[name].[ext]',\n\t\toutdir: vendorDir,\n\t\tplugins: [createAngularLinkerPlugin(linkerJitMode)],\n\t\tsplitting: true,\n\t\ttarget: 'bun',\n\t\tthrow: false\n\t});\n\n\tawait rm(tmpDir, { force: true, recursive: true });\n\n\tif (!result.success) {\n\t\tconsole.warn(\n\t\t\t'⚠️ Angular server vendor build had errors:',\n\t\t\tresult.logs\n\t\t);\n\t}\n\n\treturn specifiers;\n};\n\n/** Absolute filesystem paths to server vendor files, for `rewriteImports`\n * on server-side bundles and for runtime resolution in `getAngularDeps`. */\nexport const computeAngularServerVendorPaths = (\n\tbuildDir: string,\n\tspecifiers: string[]\n) => {\n\tconst paths: Record<string, string> = {};\n\tconst vendorDir = join(buildDir, 'angular', 'vendor', 'server');\n\tfor (const specifier of specifiers) {\n\t\tpaths[specifier] = join(vendorDir, `${toSafeFileName(specifier)}.js`);\n\t}\n\n\treturn paths;\n};\n\n/** Async server-vendor path map: scans source + transitive deps, then\n * produces absolute filesystem paths for every @angular/* spec the project\n * uses (plus the always-vendored server-only specs). Mirrors\n * `computeAngularVendorPathsAsync` but for server-side rewriting. */\nexport const computeAngularServerVendorPathsAsync = async (\n\tbuildDir: string,\n\tdirectories: string[] = [],\n\tlinkerJitMode = true\n) => {\n\tconst browserSpecs = await resolveAngularSpecifiers(\n\t\tdirectories,\n\t\tlinkerJitMode\n\t);\n\tconst allSpecs = new Set(browserSpecs);\n\tfor (const spec of SERVER_ONLY_ANGULAR_SPECIFIERS) {\n\t\tif (isResolvable(spec)) allSpecs.add(spec);\n\t}\n\n\treturn computeAngularServerVendorPaths(buildDir, Array.from(allSpecs));\n};\n",
|
|
6
|
+
"import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';\nimport { dirname, join, relative, resolve } from 'node:path';\nimport { createHash } from 'node:crypto';\nimport type { BunPlugin } from 'bun';\n\nconst CACHE_ROOT = resolve('.absolutejs', 'cache', 'angular-linker');\n\n/**\n * Bun bundler plugin that runs the Angular Linker on partially compiled\n * Angular libraries at build time. Converts ɵɵngDeclare* declarations\n * into fully linked code.\n *\n * The `linkerJitMode` flag controls whether NgModule definitions retain\n * `declarations`/`exports` (JIT-mode, required when consumer code is\n * runtime-compiled) or strip them (AOT-mode, smaller output but only\n * correct when consumer components have ɵcmp.dependencies baked in by\n * the Angular compiler-cli).\n *\n * In AbsoluteJS dev/HMR, user components are TypeScript-transpiled via\n * `compileAngularFileJIT` and rely on @angular/compiler at runtime —\n * that runtime JIT path reads `NgModule.ɵmod.declarations` to find\n * directives like FormGroupDirective. Linking vendor code in AOT mode\n * (the default) silently breaks dev because declarations get stripped\n * and runtime JIT then can't resolve `[formGroup]`, `[ngIf]`, etc. So\n * dev/HMR builds must use `linkerJitMode: true`. Production AOT builds\n * use `linkerJitMode: false` (matches AOT'd user components).\n *\n * Cache key includes mode so dev and prod artifacts don't collide.\n */\nexport const createAngularLinkerPlugin = (\n\tlinkerJitMode: boolean\n): BunPlugin => ({\n\tname: 'angular-linker',\n\tsetup(bld) {\n\t\tlet needsLinking: ((path: string, source: string) => boolean) | undefined;\n\t\tlet babelTransform: ((source: string, options: Record<string, unknown>) => { code?: string } | null) | undefined;\n\t\tlet linkerPlugin: unknown;\n\n\t\tconst cacheDir = join(CACHE_ROOT, linkerJitMode ? 'jit' : 'aot');\n\n\t\tbld.onLoad(\n\t\t\t{ filter: /[\\\\/]@angular[\\\\/].*\\.m?js$/ },\n\t\t\tasync (args) => {\n\t\t\t\tconst source = await Bun.file(args.path).text();\n\n\t\t\t\tif (!needsLinking) {\n\t\t\t\t\tconst specifier = '@angular/compiler-cli/linker';\n\t\t\t\t\tconst mod = await import(specifier);\n\t\t\t\t\t({ needsLinking } = mod);\n\t\t\t\t}\n\n\t\t\t\tconst checkLink = needsLinking;\n\t\t\t\tif (!checkLink || !checkLink(args.path, source)) {\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\n\t\t\t\tconst hash = createHash('md5')\n\t\t\t\t\t.update(source)\n\t\t\t\t\t.digest('hex');\n\t\t\t\tconst cachePath = join(cacheDir, `${hash}.js`);\n\n\t\t\t\tif (existsSync(cachePath)) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tcontents: readFileSync(cachePath, 'utf-8'),\n\t\t\t\t\t\tloader: 'js'\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tif (!babelTransform) {\n\t\t\t\t\tconst babelSpecifier = '@babel/core';\n\t\t\t\t\tconst babel = await import(babelSpecifier);\n\t\t\t\t\tbabelTransform = babel.transformSync;\n\t\t\t\t}\n\t\t\t\tif (!linkerPlugin) {\n\t\t\t\t\tconst linkerSpecifier = '@angular/compiler-cli/linker/babel';\n\t\t\t\t\tconst mod = await import(linkerSpecifier);\n\t\t\t\t\tlinkerPlugin = mod.createEs2015LinkerPlugin({\n\t\t\t\t\t\tfileSystem: {\n\t\t\t\t\t\t\tdirname,\n\t\t\t\t\t\t\texists: existsSync,\n\t\t\t\t\t\t\treadFile: readFileSync,\n\t\t\t\t\t\t\trelative,\n\t\t\t\t\t\t\tresolve\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlinkerJitMode,\n\t\t\t\t\t\tlogger: {\n\t\t\t\t\t\t\terror: console.error,\n\t\t\t\t\t\t\tlevel: 1,\n\t\t\t\t\t\t\twarn: console.warn,\n\t\t\t\t\t\t\tdebug: () => { /* noop */ },\n\t\t\t\t\t\t\tinfo: () => { /* noop */ }\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tconst transform = babelTransform;\n\t\t\t\tif (!transform) {\n\t\t\t\t\treturn { contents: source, loader: 'js' };\n\t\t\t\t}\n\n\t\t\t\tconst result = transform(source, {\n\t\t\t\t\tcompact: false,\n\t\t\t\t\tfilename: args.path,\n\t\t\t\t\tfilenameRelative: args.path,\n\t\t\t\t\tplugins: [linkerPlugin],\n\t\t\t\t\tsourceMaps: false\n\t\t\t\t});\n\n\t\t\t\tconst linked = result?.code ?? source;\n\n\t\t\t\tmkdirSync(cacheDir, { recursive: true });\n\t\t\t\twriteFileSync(cachePath, linked, 'utf-8');\n\n\t\t\t\treturn { contents: linked, loader: 'js' };\n\t\t\t}\n\t\t);\n\t}\n});\n\n/** Default AOT-mode plugin instance — keep for callers that don't need\n * to choose. Production AOT builds and any callsite that AOT-compiles\n * user components alongside vendor should use this. */\nexport const angularLinkerPlugin: BunPlugin = createAngularLinkerPlugin(false);\n"
|
|
7
|
+
],
|
|
8
|
+
"mappings": "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",
|
|
9
|
+
"debugId": "E1E3E54B85574B7C64756E2164756E21",
|
|
10
|
+
"names": []
|
|
11
|
+
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
devBuild
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-3rea1gam.js";
|
|
5
5
|
import"./chunk-vkrpm7kc.js";
|
|
6
6
|
import"./chunk-cg95827x.js";
|
|
7
7
|
import"./chunk-hcsmxw1v.js";
|
|
8
8
|
import"./chunk-3g91wb4f.js";
|
|
9
9
|
import"./chunk-4d39r92n.js";
|
|
10
10
|
import"./chunk-93sqk7be.js";
|
|
11
|
-
import"./chunk-
|
|
11
|
+
import"./chunk-1rfh7hw9.js";
|
|
12
12
|
import"./chunk-7kjj42xm.js";
|
|
13
13
|
import"./chunk-bxfghpma.js";
|
|
14
14
|
import"./chunk-cdxd7sy2.js";
|
|
@@ -19,7 +19,7 @@ import"./chunk-mtxzyxpg.js";
|
|
|
19
19
|
import"./chunk-hyjs4bqs.js";
|
|
20
20
|
import"./chunk-y84qnsd3.js";
|
|
21
21
|
import"./chunk-85n68sy6.js";
|
|
22
|
-
import"./chunk-
|
|
22
|
+
import"./chunk-bgb8k1qs.js";
|
|
23
23
|
import"./chunk-d7mwkzry.js";
|
|
24
24
|
import"./chunk-h5bbfn3n.js";
|
|
25
25
|
import"./chunk-11zpfqz6.js";
|
|
@@ -33,7 +33,7 @@ import"./chunk-gf0ygptk.js";
|
|
|
33
33
|
import"./chunk-851whwc7.js";
|
|
34
34
|
import"./chunk-s6defjk2.js";
|
|
35
35
|
import"./chunk-p5504p14.js";
|
|
36
|
-
import"./chunk-
|
|
36
|
+
import"./chunk-9j59emg3.js";
|
|
37
37
|
import"./chunk-9ve9jq72.js";
|
|
38
38
|
import"./chunk-7fw6x3js.js";
|
|
39
39
|
import"./chunk-mbazhahf.js";
|
|
@@ -48,4 +48,4 @@ export {
|
|
|
48
48
|
};
|
|
49
49
|
|
|
50
50
|
//# debugId=168CA101CFD7E28A64756E2164756E21
|
|
51
|
-
//# sourceMappingURL=chunk-
|
|
51
|
+
//# sourceMappingURL=chunk-1x4fxm57.js.map
|
|
@@ -32,7 +32,7 @@ import {
|
|
|
32
32
|
computeAngularVendorPaths,
|
|
33
33
|
computeAngularVendorPathsAsync,
|
|
34
34
|
createAngularLinkerPlugin
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-1rfh7hw9.js";
|
|
36
36
|
import {
|
|
37
37
|
buildVueVendor,
|
|
38
38
|
computeVueVendorPaths
|
|
@@ -80,7 +80,7 @@ import {
|
|
|
80
80
|
logStartupTimingBlock,
|
|
81
81
|
setCurrentPageIslandMetadata,
|
|
82
82
|
transformStaticPagesWithIslands
|
|
83
|
-
} from "./chunk-
|
|
83
|
+
} from "./chunk-bgb8k1qs.js";
|
|
84
84
|
import {
|
|
85
85
|
disposeTailwindCompiler,
|
|
86
86
|
incrementalTailwindBuild
|
|
@@ -1070,7 +1070,7 @@ var build = async ({
|
|
|
1070
1070
|
vueIndexPaths: [...emptyStringArray],
|
|
1071
1071
|
vueServerPaths: [...emptyStringArray]
|
|
1072
1072
|
},
|
|
1073
|
-
shouldCompileAngular ? tracePhase("compile/angular", () => import("./chunk-
|
|
1073
|
+
shouldCompileAngular ? tracePhase("compile/angular", () => import("./chunk-92fsjfpp.js").then((mod) => mod.compileAngular(angularEntries, angularDir, hmr, styleTransformConfig))) : {
|
|
1074
1074
|
clientPaths: [...emptyStringArray],
|
|
1075
1075
|
serverPaths: [...emptyStringArray]
|
|
1076
1076
|
},
|
|
@@ -1080,7 +1080,7 @@ var build = async ({
|
|
|
1080
1080
|
shouldCompileIslandVue ? tracePhase("compile/island-vue", () => import("./chunk-5f67rsed.js").then((mod) => mod.compileVue(islandVueSources, vueDir, hmr, styleTransformConfig))) : {
|
|
1081
1081
|
vueClientPaths: [...emptyStringArray]
|
|
1082
1082
|
},
|
|
1083
|
-
shouldCompileIslandAngular ? tracePhase("compile/island-angular", () => import("./chunk-
|
|
1083
|
+
shouldCompileIslandAngular ? tracePhase("compile/island-angular", () => import("./chunk-92fsjfpp.js").then((mod) => mod.compileAngular(islandAngularSources, angularDir, hmr, styleTransformConfig))) : {
|
|
1084
1084
|
clientPaths: [...emptyStringArray]
|
|
1085
1085
|
}
|
|
1086
1086
|
]);
|
|
@@ -1158,7 +1158,7 @@ var build = async ({
|
|
|
1158
1158
|
tracePhase("compile/convention-react", compileReactConventions),
|
|
1159
1159
|
svelteConventionSources.length > 0 && svelteDir ? tracePhase("compile/convention-svelte", () => import("./chunk-x09cskqd.js").then((mod) => mod.compileSvelte(svelteConventionSources, svelteDir, new Map, false, styleTransformConfig))) : { svelteServerPaths: emptyStringArray },
|
|
1160
1160
|
vueConventionSources.length > 0 && vueDir ? tracePhase("compile/convention-vue", () => import("./chunk-5f67rsed.js").then((mod) => mod.compileVue(vueConventionSources, vueDir, false, styleTransformConfig))) : { vueServerPaths: emptyStringArray },
|
|
1161
|
-
angularConventionSources.length > 0 && angularDir ? tracePhase("compile/convention-angular", () => import("./chunk-
|
|
1161
|
+
angularConventionSources.length > 0 && angularDir ? tracePhase("compile/convention-angular", () => import("./chunk-92fsjfpp.js").then((mod) => mod.compileAngular(angularConventionSources, angularDir, hmr, styleTransformConfig))) : { serverPaths: emptyStringArray }
|
|
1162
1162
|
]);
|
|
1163
1163
|
const bundleConventionFiles = async (framework, compiledPaths) => {
|
|
1164
1164
|
const destDir = join2(buildPath, "conventions", framework);
|
|
@@ -1282,13 +1282,13 @@ var build = async ({
|
|
|
1282
1282
|
}
|
|
1283
1283
|
let angularVendorPaths = getAngularVendorPaths();
|
|
1284
1284
|
if (!angularVendorPaths && hmr && angularDir) {
|
|
1285
|
-
const { computeAngularVendorPaths: computeAngularVendorPaths2 } = await import("./chunk-
|
|
1285
|
+
const { computeAngularVendorPaths: computeAngularVendorPaths2 } = await import("./chunk-r6e8pytx.js");
|
|
1286
1286
|
angularVendorPaths = computeAngularVendorPaths2(globalThis.__angularVendorSpecifiers);
|
|
1287
1287
|
setAngularVendorPaths(angularVendorPaths);
|
|
1288
1288
|
}
|
|
1289
1289
|
let angularServerVendorPaths = getAngularServerVendorPaths();
|
|
1290
1290
|
if (!angularServerVendorPaths && hmr && angularDir) {
|
|
1291
|
-
const { computeAngularServerVendorPaths: computeAngularServerVendorPaths2 } = await import("./chunk-
|
|
1291
|
+
const { computeAngularServerVendorPaths: computeAngularServerVendorPaths2 } = await import("./chunk-r6e8pytx.js");
|
|
1292
1292
|
angularServerVendorPaths = computeAngularServerVendorPaths2(buildPath, globalThis.__angularVendorSpecifiers ?? []);
|
|
1293
1293
|
setAngularServerVendorPaths(angularServerVendorPaths);
|
|
1294
1294
|
}
|
|
@@ -1306,10 +1306,10 @@ var build = async ({
|
|
|
1306
1306
|
buildAngularServerVendor: buildAngularServerVendor2,
|
|
1307
1307
|
computeAngularVendorPathsAsync: computeAngularVendorPathsAsync2,
|
|
1308
1308
|
computeAngularServerVendorPathsAsync: computeAngularServerVendorPathsAsync2
|
|
1309
|
-
} = await import("./chunk-
|
|
1309
|
+
} = await import("./chunk-r6e8pytx.js");
|
|
1310
1310
|
[angularVendorPaths, angularServerVendorPaths] = await Promise.all([
|
|
1311
|
-
computeAngularVendorPathsAsync2(angularSourceDirs),
|
|
1312
|
-
computeAngularServerVendorPathsAsync2(buildPath, angularSourceDirs)
|
|
1311
|
+
computeAngularVendorPathsAsync2(angularSourceDirs, false),
|
|
1312
|
+
computeAngularServerVendorPathsAsync2(buildPath, angularSourceDirs, false)
|
|
1313
1313
|
]);
|
|
1314
1314
|
setAngularVendorPaths(angularVendorPaths);
|
|
1315
1315
|
setAngularServerVendorPaths(angularServerVendorPaths);
|
|
@@ -2731,7 +2731,7 @@ var bundleAngularClient = async (state, clientPaths, buildDir) => {
|
|
|
2731
2731
|
const depVendorPaths = globalThis.__depVendorPaths ?? {};
|
|
2732
2732
|
let angVendorPaths = getAngularVendorPaths2();
|
|
2733
2733
|
if (!angVendorPaths) {
|
|
2734
|
-
const { computeAngularVendorPaths: computeAngularVendorPaths2 } = await import("./chunk-
|
|
2734
|
+
const { computeAngularVendorPaths: computeAngularVendorPaths2 } = await import("./chunk-r6e8pytx.js");
|
|
2735
2735
|
const { setAngularVendorPaths: setAngularVendorPaths2 } = await import("./chunk-vjhxm8n2.js");
|
|
2736
2736
|
angVendorPaths = computeAngularVendorPaths2(globalThis.__angularVendorSpecifiers);
|
|
2737
2737
|
setAngularVendorPaths2(angVendorPaths);
|
|
@@ -2794,8 +2794,14 @@ var broadcastAngularPageUpdates = (state, pagesToUpdate, manifest, startTime) =>
|
|
|
2794
2794
|
});
|
|
2795
2795
|
};
|
|
2796
2796
|
var compileAndBundleAngular = async (state, pageEntries, angularDir) => {
|
|
2797
|
-
const { compileAngular } = await import("./chunk-
|
|
2797
|
+
const { compileAngular } = await import("./chunk-92fsjfpp.js");
|
|
2798
2798
|
const { clientPaths, serverPaths } = await compileAngular(pageEntries, angularDir, true, getStyleTransformConfig(state.config));
|
|
2799
|
+
const { getAngularServerVendorPaths: getAngularServerVendorPaths2 } = await import("./chunk-vjhxm8n2.js");
|
|
2800
|
+
const angServerVendorPaths = getAngularServerVendorPaths2();
|
|
2801
|
+
if (serverPaths.length > 0 && angServerVendorPaths) {
|
|
2802
|
+
const { rewriteImports } = await import("./chunk-r7jmgqnw.js");
|
|
2803
|
+
await rewriteImports(serverPaths, angServerVendorPaths);
|
|
2804
|
+
}
|
|
2799
2805
|
serverPaths.forEach((serverPath) => {
|
|
2800
2806
|
const fileBase = basename4(serverPath, ".js");
|
|
2801
2807
|
state.manifest[toPascal(fileBase)] = resolve9(serverPath);
|
|
@@ -4393,5 +4399,5 @@ var devBuild = async (config) => {
|
|
|
4393
4399
|
|
|
4394
4400
|
export { build, devBuild };
|
|
4395
4401
|
|
|
4396
|
-
//# debugId=
|
|
4397
|
-
//# sourceMappingURL=chunk-
|
|
4402
|
+
//# debugId=3F7643AEA374B6C164756E2164756E21
|
|
4403
|
+
//# sourceMappingURL=chunk-3rea1gam.js.map
|