@absolutejs/absolute 0.19.0-beta.801 → 0.19.0-beta.803

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.
Files changed (47) hide show
  1. package/dist/angular/index.js +5 -5
  2. package/dist/angular/server.js +5 -5
  3. package/dist/build.js +5 -5
  4. package/dist/{chunk-kvq01j35.js → chunk-0r32762k.js} +13 -3
  5. package/dist/{chunk-kvq01j35.js.map → chunk-0r32762k.js.map} +3 -3
  6. package/dist/chunk-26qn7py4.js +20 -0
  7. package/dist/{chunk-73brtyw5.js.map → chunk-26qn7py4.js.map} +1 -1
  8. package/dist/{chunk-9eab59st.js → chunk-8zz4g25g.js} +10 -9
  9. package/dist/chunk-8zz4g25g.js.map +14 -0
  10. package/dist/{chunk-hhqh49fz.js → chunk-by7t1d3r.js} +5 -5
  11. package/dist/chunk-by7t1d3r.js.map +10 -0
  12. package/dist/{chunk-1x82dcw0.js → chunk-ccz4x8vr.js} +3 -3
  13. package/dist/{chunk-jmfv960b.js → chunk-hf5fjykx.js} +11 -11
  14. package/dist/{chunk-jmfv960b.js.map → chunk-hf5fjykx.js.map} +3 -3
  15. package/dist/{chunk-ey5hs6x6.js → chunk-k6km9xnz.js} +46 -3
  16. package/dist/{chunk-ey5hs6x6.js.map → chunk-k6km9xnz.js.map} +3 -3
  17. package/dist/{chunk-cs95jp8a.js → chunk-pevt15h0.js} +5 -5
  18. package/dist/{chunk-8xf58ka4.js → chunk-r0w678ve.js} +2 -2
  19. package/dist/{chunk-86vpx6hc.js → chunk-r3j3td07.js} +32 -13
  20. package/dist/{chunk-86vpx6hc.js.map → chunk-r3j3td07.js.map} +4 -4
  21. package/dist/{chunk-aaa985m2.js → chunk-r8dzkm4s.js} +2 -2
  22. package/dist/{chunk-2g15ak0e.js → chunk-tcssehtt.js} +6 -6
  23. package/dist/{chunk-77cqkarb.js → chunk-vjhxm8n2.js} +8 -4
  24. package/dist/{chunk-77cqkarb.js.map → chunk-vjhxm8n2.js.map} +1 -1
  25. package/dist/{chunk-t81a331y.js → chunk-y84qnsd3.js} +8 -3
  26. package/dist/chunk-y84qnsd3.js.map +10 -0
  27. package/dist/{chunk-azqk45e4.js → chunk-z6c8qcmw.js} +2 -2
  28. package/dist/client/index.js +4 -4
  29. package/dist/index.js +6 -6
  30. package/dist/islands/index.js +1 -1
  31. package/dist/react/index.js +1 -1
  32. package/dist/src/angular/resolveAngularPackage.d.ts +10 -0
  33. package/dist/src/build/buildAngularVendor.d.ts +14 -0
  34. package/dist/src/core/devVendorPaths.d.ts +2 -0
  35. package/dist/svelte/index.js +1 -1
  36. package/dist/vue/index.js +1 -1
  37. package/package.json +1 -1
  38. package/dist/chunk-73brtyw5.js +0 -16
  39. package/dist/chunk-9eab59st.js.map +0 -14
  40. package/dist/chunk-hhqh49fz.js.map +0 -10
  41. package/dist/chunk-t81a331y.js.map +0 -10
  42. /package/dist/{chunk-1x82dcw0.js.map → chunk-ccz4x8vr.js.map} +0 -0
  43. /package/dist/{chunk-cs95jp8a.js.map → chunk-pevt15h0.js.map} +0 -0
  44. /package/dist/{chunk-8xf58ka4.js.map → chunk-r0w678ve.js.map} +0 -0
  45. /package/dist/{chunk-aaa985m2.js.map → chunk-r8dzkm4s.js.map} +0 -0
  46. /package/dist/{chunk-2g15ak0e.js.map → chunk-tcssehtt.js.map} +0 -0
  47. /package/dist/{chunk-azqk45e4.js.map → chunk-z6c8qcmw.js.map} +0 -0
@@ -2,10 +2,10 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/build/buildAngularVendor.ts", "../src/build/angularLinkerPlugin.ts"],
4
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. */\nconst REQUIRED_ANGULAR_SPECIFIERS = [\n\t'@angular/core',\n\t'@angular/compiler',\n\t'@angular/common',\n\t'@angular/common/http',\n\t'@angular/platform-browser'\n];\n\n/** Build-only / server-only specifiers that should never be browser-vendored. */\nconst SERVER_ONLY_ANGULAR_SPECIFIERS = new Set([\n\t'@angular/platform-server',\n\t'@angular/ssr',\n\t'@angular/compiler-cli'\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/** 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). Mirrors buildDepVendor's framework-root traversal. */\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\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 (directories: string[]) => {\n\tconst { angular, transitiveRoots } = await scanSourceImports(directories);\n\tfor (const spec of REQUIRED_ANGULAR_SPECIFIERS) angular.add(spec);\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(directories);\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[] = REQUIRED_ANGULAR_SPECIFIERS\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) => {\n\tconst specifiers = await resolveAngularSpecifiers(directories);\n\n\treturn computeAngularVendorPaths(specifiers);\n};\n",
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. */\nconst REQUIRED_ANGULAR_SPECIFIERS = [\n\t'@angular/core',\n\t'@angular/compiler',\n\t'@angular/common',\n\t'@angular/common/http',\n\t'@angular/platform-browser'\n];\n\n/** Build-only / server-only specifiers that should never be browser-vendored. */\nconst SERVER_ONLY_ANGULAR_SPECIFIERS = new Set([\n\t'@angular/platform-server',\n\t'@angular/ssr',\n\t'@angular/compiler-cli'\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/** 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). Mirrors buildDepVendor's framework-root traversal. */\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\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 (directories: string[]) => {\n\tconst { angular, transitiveRoots } = await scanSourceImports(directories);\n\tfor (const spec of REQUIRED_ANGULAR_SPECIFIERS) angular.add(spec);\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(directories);\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[] = REQUIRED_ANGULAR_SPECIFIERS\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) => {\n\tconst specifiers = await resolveAngularSpecifiers(directories);\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(directories);\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",
6
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
7
  ],
8
- "mappings": "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",
9
- "debugId": "6E97B8F47726EBE564756E2164756E21",
8
+ "mappings": "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",
9
+ "debugId": "6CE3FECB3EBBA3EB64756E2164756E21",
10
10
  "names": []
11
11
  }
@@ -3,10 +3,10 @@ import {
3
3
  getAngularIslandSelector,
4
4
  mountAngularIsland,
5
5
  renderAngularIslandToHtml
6
- } from "./chunk-1x82dcw0.js";
7
- import"./chunk-jmfv960b.js";
8
- import"./chunk-aaa985m2.js";
9
- import"./chunk-kvq01j35.js";
6
+ } from "./chunk-ccz4x8vr.js";
7
+ import"./chunk-hf5fjykx.js";
8
+ import"./chunk-r8dzkm4s.js";
9
+ import"./chunk-0r32762k.js";
10
10
  import"./chunk-p5504p14.js";
11
11
  import"./chunk-25v9t56f.js";
12
12
  import"./chunk-bmgqm774.js";
@@ -17,4 +17,4 @@ export {
17
17
  };
18
18
 
19
19
  //# debugId=C1AFCC34B998790A64756E2164756E21
20
- //# sourceMappingURL=chunk-cs95jp8a.js.map
20
+ //# sourceMappingURL=chunk-pevt15h0.js.map
@@ -19,7 +19,7 @@ import {
19
19
  } from "./chunk-gf0ygptk.js";
20
20
  import {
21
21
  renderIslandMarkup
22
- } from "./chunk-azqk45e4.js";
22
+ } from "./chunk-z6c8qcmw.js";
23
23
  import {
24
24
  getIslandBuildReference
25
25
  } from "./chunk-8kcfffry.js";
@@ -669,4 +669,4 @@ var setCurrentPageIslandMetadata = (metadata) => {
669
669
  export { isTailwindCandidate, compileTailwind, compileTailwindConfig, collectIslandFrameworkSources, generateIslandEntryPoints, loadIslandRegistryBuildInfo, extractStaticStreamingTags, transformCurrentStaticPageHtml, transformStaticPagesWithIslands, getPagesUsingIslandSource, loadPageIslandMetadata, setCurrentPageIslandMetadata, logStartupTimingBlock };
670
670
 
671
671
  //# debugId=EA2793B90D7FF16C64756E2164756E21
672
- //# sourceMappingURL=chunk-8xf58ka4.js.map
672
+ //# sourceMappingURL=chunk-r0w678ve.js.map
@@ -25,11 +25,13 @@ import {
25
25
  updateAssetPaths
26
26
  } from "./chunk-93sqk7be.js";
27
27
  import {
28
+ buildAngularServerVendor,
28
29
  buildAngularVendor,
30
+ computeAngularServerVendorPaths,
29
31
  computeAngularVendorPaths,
30
32
  computeAngularVendorPathsAsync,
31
33
  createAngularLinkerPlugin
32
- } from "./chunk-ey5hs6x6.js";
34
+ } from "./chunk-k6km9xnz.js";
33
35
  import {
34
36
  buildVueVendor,
35
37
  computeVueVendorPaths
@@ -51,15 +53,17 @@ import {
51
53
  normalizePath
52
54
  } from "./chunk-hyjs4bqs.js";
53
55
  import {
56
+ getAngularServerVendorPaths,
54
57
  getAngularVendorPaths,
55
58
  getDevVendorPaths,
56
59
  getSvelteVendorPaths,
57
60
  getVueVendorPaths,
61
+ setAngularServerVendorPaths,
58
62
  setAngularVendorPaths,
59
63
  setDevVendorPaths,
60
64
  setSvelteVendorPaths,
61
65
  setVueVendorPaths
62
- } from "./chunk-t81a331y.js";
66
+ } from "./chunk-y84qnsd3.js";
63
67
  import {
64
68
  buildReactVendor,
65
69
  computeVendorPaths
@@ -75,7 +79,7 @@ import {
75
79
  logStartupTimingBlock,
76
80
  setCurrentPageIslandMetadata,
77
81
  transformStaticPagesWithIslands
78
- } from "./chunk-8xf58ka4.js";
82
+ } from "./chunk-r0w678ve.js";
79
83
  import {
80
84
  disposeTailwindCompiler,
81
85
  incrementalTailwindBuild
@@ -1277,10 +1281,16 @@ var build = async ({
1277
1281
  }
1278
1282
  let angularVendorPaths = getAngularVendorPaths();
1279
1283
  if (!angularVendorPaths && hmr && angularDir) {
1280
- const { computeAngularVendorPaths: computeAngularVendorPaths2 } = await import("./chunk-73brtyw5.js");
1284
+ const { computeAngularVendorPaths: computeAngularVendorPaths2 } = await import("./chunk-26qn7py4.js");
1281
1285
  angularVendorPaths = computeAngularVendorPaths2(globalThis.__angularVendorSpecifiers);
1282
1286
  setAngularVendorPaths(angularVendorPaths);
1283
1287
  }
1288
+ let angularServerVendorPaths = getAngularServerVendorPaths();
1289
+ if (!angularServerVendorPaths && hmr && angularDir) {
1290
+ const { computeAngularServerVendorPaths: computeAngularServerVendorPaths2 } = await import("./chunk-26qn7py4.js");
1291
+ angularServerVendorPaths = computeAngularServerVendorPaths2(buildPath, globalThis.__angularVendorSpecifiers ?? []);
1292
+ setAngularServerVendorPaths(angularServerVendorPaths);
1293
+ }
1284
1294
  let vueVendorPaths = getVueVendorPaths();
1285
1295
  if (!vueVendorPaths && hmr && vueDir) {
1286
1296
  const { computeVueVendorPaths: computeVueVendorPaths2 } = await import("./chunk-6qjbrt0k.js");
@@ -1486,6 +1496,10 @@ var build = async ({
1486
1496
  const { rewriteImports } = await import("./chunk-r7jmgqnw.js");
1487
1497
  await tracePhase("postprocess/island-vendor-imports", () => rewriteImports(islandClientOutputs.map((artifact) => artifact.path), allIslandVendorPaths));
1488
1498
  }
1499
+ if (serverOutputs.length > 0 && angularServerVendorPaths && Object.keys(angularServerVendorPaths).length > 0) {
1500
+ const { rewriteImports } = await import("./chunk-r7jmgqnw.js");
1501
+ await tracePhase("postprocess/server-angular-vendor-imports", () => rewriteImports(serverOutputs.filter((artifact) => artifact.path.endsWith(".js")).map((artifact) => artifact.path), angularServerVendorPaths));
1502
+ }
1489
1503
  const cssLogs = [
1490
1504
  ...globalCssResult?.logs ?? [],
1491
1505
  ...vueCssResult?.logs ?? []
@@ -2684,13 +2698,13 @@ var updateServerManifestEntry = (state, artifact) => {
2684
2698
  var bundleAngularClient = async (state, clientPaths, buildDir) => {
2685
2699
  const { build: bunBuild3 } = await Promise.resolve(globalThis.Bun);
2686
2700
  const { generateManifest: generateManifest2 } = await import("./chunk-41bf6aqt.js");
2687
- const { getAngularVendorPaths: getAngularVendorPaths2 } = await import("./chunk-77cqkarb.js");
2701
+ const { getAngularVendorPaths: getAngularVendorPaths2 } = await import("./chunk-vjhxm8n2.js");
2688
2702
  const clientRoot = await computeClientRoot(state.resolvedPaths);
2689
2703
  const depVendorPaths = globalThis.__depVendorPaths ?? {};
2690
2704
  let angVendorPaths = getAngularVendorPaths2();
2691
2705
  if (!angVendorPaths) {
2692
- const { computeAngularVendorPaths: computeAngularVendorPaths2 } = await import("./chunk-73brtyw5.js");
2693
- const { setAngularVendorPaths: setAngularVendorPaths2 } = await import("./chunk-77cqkarb.js");
2706
+ const { computeAngularVendorPaths: computeAngularVendorPaths2 } = await import("./chunk-26qn7py4.js");
2707
+ const { setAngularVendorPaths: setAngularVendorPaths2 } = await import("./chunk-vjhxm8n2.js");
2694
2708
  angVendorPaths = computeAngularVendorPaths2(globalThis.__angularVendorSpecifiers);
2695
2709
  setAngularVendorPaths2(angVendorPaths);
2696
2710
  }
@@ -2825,7 +2839,7 @@ var collectReactEntries = (state, filesToRebuild, reactPagesPath, reactIndexesPa
2825
2839
  var bundleReactClient = async (state, reactEntries, reactIndexesPath, buildDir) => {
2826
2840
  const { build: bunBuild3 } = await Promise.resolve(globalThis.Bun);
2827
2841
  const { generateManifest: generateManifest2 } = await import("./chunk-41bf6aqt.js");
2828
- const { getDevVendorPaths: getDevVendorPaths2 } = await import("./chunk-77cqkarb.js");
2842
+ const { getDevVendorPaths: getDevVendorPaths2 } = await import("./chunk-vjhxm8n2.js");
2829
2843
  const { rewriteReactImports: rewriteReactImports2 } = await import("./chunk-6sccb4jr.js");
2830
2844
  const clientRoot = await computeClientRoot(state.resolvedPaths);
2831
2845
  const depVendorPaths = globalThis.__depVendorPaths ?? {};
@@ -2836,7 +2850,7 @@ var bundleReactClient = async (state, reactEntries, reactIndexesPath, buildDir)
2836
2850
  let vendorPaths = getDevVendorPaths2();
2837
2851
  if (!vendorPaths) {
2838
2852
  const { computeVendorPaths: computeVendorPaths2 } = await import("./chunk-z9nvhm6r.js");
2839
- const { setDevVendorPaths: setDevVendorPaths2 } = await import("./chunk-77cqkarb.js");
2853
+ const { setDevVendorPaths: setDevVendorPaths2 } = await import("./chunk-vjhxm8n2.js");
2840
2854
  vendorPaths = computeVendorPaths2();
2841
2855
  setDevVendorPaths2(vendorPaths);
2842
2856
  }
@@ -4195,7 +4209,7 @@ var resolveAbsoluteVersionFromCandidates = async (candidates) => {
4195
4209
  var loadVendorFiles = async (assetStore, vendorDir, framework) => {
4196
4210
  const emptyStringArray = [];
4197
4211
  const entries = await readdir(vendorDir).catch(() => emptyStringArray);
4198
- await Promise.all(entries.map(async (entry) => {
4212
+ await Promise.all(entries.filter((entry) => entry.endsWith(".js")).map(async (entry) => {
4199
4213
  const webPath = `/${framework}/vendor/${entry}`;
4200
4214
  const bytes = await Bun.file(resolve10(vendorDir, entry)).bytes();
4201
4215
  assetStore.set(webPath, bytes);
@@ -4217,6 +4231,7 @@ var devBuild = async (config) => {
4217
4231
  };
4218
4232
  let stepStartedAt = performance.now();
4219
4233
  const state = createHMRState(config);
4234
+ process.env.ABSOLUTE_BUILD_DIR ??= state.resolvedPaths.buildDir;
4220
4235
  recordStep("create HMR state", stepStartedAt);
4221
4236
  stepStartedAt = performance.now();
4222
4237
  const watchPaths = getWatchPaths(config, state.resolvedPaths);
@@ -4268,15 +4283,19 @@ var devBuild = async (config) => {
4268
4283
  const vueVendorDir = resolve10(state.resolvedPaths.buildDir, "vue", "vendor");
4269
4284
  const depVendorDir = resolve10(state.resolvedPaths.buildDir, "vendor");
4270
4285
  const { buildDepVendor } = await import("./chunk-gytkmthr.js");
4271
- const [, angularSpecs, , , depPaths] = await Promise.all([
4286
+ const [, angularSpecs, angularServerSpecs, , , depPaths] = await Promise.all([
4272
4287
  config.reactDirectory ? buildReactVendor(state.resolvedPaths.buildDir) : Promise.resolve(undefined),
4273
4288
  config.angularDirectory ? buildAngularVendor(state.resolvedPaths.buildDir, sourceDirs, true, Object.keys(globalThis.__depVendorPaths ?? {})) : Promise.resolve(undefined),
4289
+ config.angularDirectory ? buildAngularServerVendor(state.resolvedPaths.buildDir, sourceDirs, true) : Promise.resolve(undefined),
4274
4290
  config.svelteDirectory ? buildSvelteVendor(state.resolvedPaths.buildDir) : Promise.resolve(undefined),
4275
4291
  config.vueDirectory ? buildVueVendor(state.resolvedPaths.buildDir) : Promise.resolve(undefined),
4276
4292
  buildDepVendor(state.resolvedPaths.buildDir, sourceDirs)
4277
4293
  ]);
4278
4294
  if (angularSpecs)
4279
4295
  globalThis.__angularVendorSpecifiers = angularSpecs;
4296
+ if (angularServerSpecs) {
4297
+ setAngularServerVendorPaths(computeAngularServerVendorPaths(state.resolvedPaths.buildDir, angularServerSpecs));
4298
+ }
4280
4299
  globalThis.__depVendorPaths = depPaths;
4281
4300
  recordStep("build vendor bundles", stepStartedAt);
4282
4301
  stepStartedAt = performance.now();
@@ -4345,5 +4364,5 @@ var devBuild = async (config) => {
4345
4364
 
4346
4365
  export { build, devBuild };
4347
4366
 
4348
- //# debugId=408DBFF5E87FC4C064756E2164756E21
4349
- //# sourceMappingURL=chunk-86vpx6hc.js.map
4367
+ //# debugId=7A2CBDF7918510BB64756E2164756E21
4368
+ //# sourceMappingURL=chunk-r3j3td07.js.map