@absolutejs/absolute 0.19.0-beta.1124 → 0.19.0-beta.1126

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.
@@ -5991,8 +5991,7 @@ var provideDeterministicEnv = (options = {}) => {
5991
5991
  // src/angular/pageHandler.ts
5992
5992
  init_constants();
5993
5993
  import { AsyncLocalStorage as AsyncLocalStorage3 } from "async_hooks";
5994
- import { mkdir as mkdir4, symlink } from "fs/promises";
5995
- import { tmpdir } from "os";
5994
+ import { lstat, mkdir as mkdir4, readlink, symlink } from "fs/promises";
5996
5995
  import { basename as basename5, dirname as dirname6, join as join10, resolve as resolve8 } from "path";
5997
5996
  import { pathToFileURL as pathToFileURL2 } from "url";
5998
5997
 
@@ -6598,27 +6597,48 @@ var ensureAngularCompiler = () => {
6598
6597
  return compilerImportPromise;
6599
6598
  };
6600
6599
  var readAngularPageModule = (value) => isRecord5(value) ? value : null;
6601
- var resolveAngularSsrOutDir = () => process.env.ABSOLUTE_ANGULAR_SSR_OUTDIR ?? join10(tmpdir(), "absolutejs", "generated", "angular-ssr");
6600
+ var resolveAngularSsrOutDir = (projectRoot = process.cwd(), configuredOutDir = process.env.ABSOLUTE_ANGULAR_SSR_OUTDIR) => configuredOutDir ?? join10(projectRoot, ".absolutejs", "runtime", "angular-ssr");
6602
6601
  var createAngularRuntimeCacheBuster = () => `${Date.now().toString(BASE_36_RADIX)}.${Math.random().toString(BASE_36_RADIX).substring(2, RANDOM_ID_END_INDEX)}`;
6603
- var ensureAngularSsrNodeModules = async (outDir) => {
6602
+ var existingNodeModulesLinkMatches = async (nodeModulesLink, expectedTarget) => {
6603
+ try {
6604
+ const stats = await lstat(nodeModulesLink);
6605
+ if (!stats.isSymbolicLink()) {
6606
+ throw new Error(`Refusing non-symlink Angular SSR dependency path: ${nodeModulesLink}`);
6607
+ }
6608
+ const target = resolve8(dirname6(nodeModulesLink), await readlink(nodeModulesLink));
6609
+ if (target !== expectedTarget) {
6610
+ throw new Error(`Refusing Angular SSR dependency link outside this project: ${target}`);
6611
+ }
6612
+ return true;
6613
+ } catch (error) {
6614
+ if (error instanceof Error && "code" in error && error.code === "ENOENT") {
6615
+ return false;
6616
+ }
6617
+ throw error;
6618
+ }
6619
+ };
6620
+ var ensureAngularSsrNodeModules = async (outDir, projectRoot = process.cwd(), hasConfiguredOutDir = Boolean(process.env.ABSOLUTE_ANGULAR_SSR_OUTDIR)) => {
6604
6621
  const outRoot = resolve8(dirname6(dirname6(outDir)));
6605
6622
  const nodeModulesLink = join10(outRoot, "node_modules");
6606
- if (process.env.ABSOLUTE_ANGULAR_SSR_OUTDIR) {
6623
+ if (hasConfiguredOutDir) {
6607
6624
  return;
6608
6625
  }
6609
- if (nodeModulesLink === resolve8(process.cwd(), "node_modules")) {
6626
+ const expectedTarget = resolve8(projectRoot, "node_modules");
6627
+ if (nodeModulesLink === expectedTarget) {
6610
6628
  return;
6611
6629
  }
6612
- if (await Bun.file(nodeModulesLink).exists()) {
6630
+ if (await existingNodeModulesLinkMatches(nodeModulesLink, expectedTarget)) {
6613
6631
  return;
6614
6632
  }
6615
6633
  await mkdir4(outRoot, { recursive: true });
6616
6634
  try {
6617
- await symlink(resolve8(process.cwd(), "node_modules"), nodeModulesLink, "dir");
6635
+ await symlink(expectedTarget, nodeModulesLink, "dir");
6618
6636
  } catch (error) {
6619
- if (!(error instanceof Error) || !("code" in error) || error.code !== "EEXIST") {
6637
+ if (!(error instanceof Error) || !("code" in error))
6620
6638
  throw error;
6621
- }
6639
+ if (error.code !== "EEXIST")
6640
+ throw error;
6641
+ await existingNodeModulesLinkMatches(nodeModulesLink, expectedTarget);
6622
6642
  }
6623
6643
  };
6624
6644
  var resolveRuntimeAngularModulePath = async (pagePath) => {
@@ -6774,5 +6794,5 @@ export {
6774
6794
  ABSOLUTE_HTTP_TRANSFER_CACHE_SKIP_HEADER
6775
6795
  };
6776
6796
 
6777
- //# debugId=06E786013E4BD52664756E2164756E21
6797
+ //# debugId=22E3D3B0E93B940864756E2164756E21
6778
6798
  //# sourceMappingURL=server.js.map