@absolutejs/absolute 0.19.0-beta.985 → 0.19.0-beta.986

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/build.js CHANGED
@@ -11880,6 +11880,12 @@ var findDefineConfigCall = (sf) => {
11880
11880
  }
11881
11881
  return null;
11882
11882
  }, resolveConfigPath = (projectRoot) => {
11883
+ const envOverride = process.env.ABSOLUTE_CONFIG;
11884
+ if (envOverride) {
11885
+ const resolved = isAbsolute3(envOverride) ? envOverride : join24(projectRoot, envOverride);
11886
+ if (existsSync19(resolved))
11887
+ return resolved;
11888
+ }
11883
11889
  const candidates = [
11884
11890
  join24(projectRoot, "absolute.config.ts"),
11885
11891
  join24(projectRoot, "absolute.config.mts"),
@@ -14724,7 +14730,19 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
14724
14730
  const detectedClassName = await traceAngularPhase("wrapper/detect-component-class", () => detectExportedComponentClass(original), { entry: resolvedEntry });
14725
14731
  const componentClassName = detectedClassName ?? `${toPascal(fileBase)}Component`;
14726
14732
  const usesLegacyAnimations = await traceAngularPhase("wrapper/detect-legacy-animations", () => usesLegacyAngularAnimations(resolvedEntry), { entry: resolvedEntry });
14727
- const serverContentHash = Bun.hash(original).toString(BASE_36_RADIX);
14733
+ const pageInjectionForHash = providersInjection?.pagesByFile.get(resolvedEntry);
14734
+ const providersHashInput = providersInjection ? (() => {
14735
+ let providersSourceContent = "";
14736
+ try {
14737
+ providersSourceContent = readFileSync16(providersInjection.appProvidersSource, "utf-8");
14738
+ } catch {}
14739
+ return JSON.stringify({
14740
+ basePath: pageInjectionForHash?.basePath ?? null,
14741
+ hasRoutes: pageInjectionForHash?.hasRoutes ?? false,
14742
+ source: providersSourceContent
14743
+ });
14744
+ })() : "no-providers";
14745
+ const serverContentHash = `${Bun.hash(original).toString(BASE_36_RADIX)}.${Bun.hash(providersHashInput).toString(BASE_36_RADIX)}`;
14728
14746
  const cachedWrapper = wrapperOutputCache.get(resolvedEntry);
14729
14747
  const clientFile = join27(indexesDir, jsName);
14730
14748
  if (hmr && cachedWrapper && cachedWrapper.serverHash === serverContentHash && existsSync22(clientFile) && (usesLegacyAnimations || !original.includes("__ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__")) && (!usesLegacyAnimations || original.includes("__ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__"))) {
@@ -14752,6 +14770,7 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
14752
14770
  `;
14753
14771
  }
14754
14772
  const pageInjection = providersInjection?.pagesByFile.get(resolvedEntry);
14773
+ rewritten = rewritten.replace(/\n\/\* __ABS_PROVIDERS_INJECTION_START \*\/[\s\S]*?\/\* __ABS_PROVIDERS_INJECTION_END \*\/\n?/g, "");
14755
14774
  if (providersInjection && pageInjection) {
14756
14775
  const compiledAppProvidersPath = (() => {
14757
14776
  const angularDirAbs = resolve21(outRoot);
@@ -14776,9 +14795,11 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
14776
14795
  fragments.push(`{ provide: __abs_APP_BASE_HREF, useValue: ${JSON.stringify(pageInjection.basePath)} }`);
14777
14796
  }
14778
14797
  rewritten += `
14798
+ /* __ABS_PROVIDERS_INJECTION_START */
14779
14799
  ${importLines.join(`
14780
14800
  `)}
14781
14801
  export const providers = [${fragments.join(", ")}];
14802
+ /* __ABS_PROVIDERS_INJECTION_END */
14782
14803
  `;
14783
14804
  }
14784
14805
  await traceAngularPhase("wrapper/write-server-output", () => fs5.writeFile(rawServerFile, rewritten, "utf-8"), { entry: resolvedEntry });
@@ -24587,9 +24608,10 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24587
24608
  const { runAngularHandlerScan: runAngularHandlerScan2 } = await Promise.resolve().then(() => (init_runAngularHandlerScan(), exports_runAngularHandlerScan));
24588
24609
  const { parseAngularProvidersImport: parseAngularProvidersImport2 } = await Promise.resolve().then(() => (init_parseAngularConfigImports(), exports_parseAngularConfigImports));
24589
24610
  const projectRoot = process.cwd();
24611
+ const resolvedAngularDir = resolve40(angularDir);
24590
24612
  const providersImport = parseAngularProvidersImport2(projectRoot);
24591
24613
  const providersInjection = providersImport ? (() => {
24592
- const scan = runAngularHandlerScan2(projectRoot, angularDir);
24614
+ const scan = runAngularHandlerScan2(projectRoot, resolvedAngularDir);
24593
24615
  const basePathByKey = new Map;
24594
24616
  for (const call of scan.calls) {
24595
24617
  basePathByKey.set(call.manifestKey, call.mountPath?.endsWith("/*") ? call.mountPath.slice(0, -1) : null);
@@ -24663,7 +24685,30 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24663
24685
  state.fileHashes.set(resolve40(file4), computeFileHash(file4));
24664
24686
  }
24665
24687
  const angularPagesPath = resolve40(angularDir, "pages");
24666
- const pageEntries = resolveAngularPageEntries(state, angularFiles, angularPagesPath);
24688
+ const initialPageEntries = resolveAngularPageEntries(state, angularFiles, angularPagesPath);
24689
+ const projectRoot = process.cwd();
24690
+ const { parseAngularProvidersImport: parseAngularProvidersImport2 } = await Promise.resolve().then(() => (init_parseAngularConfigImports(), exports_parseAngularConfigImports));
24691
+ const providersImport = parseAngularProvidersImport2(projectRoot);
24692
+ const editedProvidersChain = providersImport && angularFiles.some((file4) => resolve40(file4) === resolve40(providersImport.absolutePath) || resolve40(file4).startsWith(`${resolve40(angularDir)}/`));
24693
+ const pageEntries = editedProvidersChain && initialPageEntries.length === 0 ? (() => {
24694
+ const allPages = [];
24695
+ const { readdirSync: readdirSync7 } = __require("fs");
24696
+ const walk = (dir) => {
24697
+ for (const entry of readdirSync7(dir, {
24698
+ withFileTypes: true
24699
+ })) {
24700
+ const full = resolve40(dir, entry.name);
24701
+ if (entry.isDirectory())
24702
+ walk(full);
24703
+ else if (entry.isFile() && entry.name.endsWith(".ts"))
24704
+ allPages.push(full);
24705
+ }
24706
+ };
24707
+ try {
24708
+ walk(angularPagesPath);
24709
+ } catch {}
24710
+ return allPages;
24711
+ })() : initialPageEntries;
24667
24712
  const tierStart = performance.now();
24668
24713
  const verdict = await decideAngularTier(state, angularDir);
24669
24714
  const tierMs = (performance.now() - tierStart).toFixed(0);
@@ -26761,5 +26806,5 @@ export {
26761
26806
  build
26762
26807
  };
26763
26808
 
26764
- //# debugId=078CF7870DEFB49E64756E2164756E21
26809
+ //# debugId=4F18A2DD76FF7F8064756E2164756E21
26765
26810
  //# sourceMappingURL=build.js.map