@absolutejs/absolute 0.19.0-beta.761 → 0.19.0-beta.763

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/index.js CHANGED
@@ -43701,7 +43701,10 @@ __export(exports_compileAngular, {
43701
43701
  import { existsSync as existsSync16, readFileSync as readFileSync10, promises as fs2 } from "fs";
43702
43702
  import { join as join15, basename as basename7, sep as sep3, dirname as dirname11, resolve as resolve19, relative as relative9 } from "path";
43703
43703
  import ts2 from "typescript";
43704
- var readTsconfigPathAliases = () => {
43704
+ var traceAngularPhase = async (name, fn, metadata2) => {
43705
+ const tracePhase = globalThis.__absoluteBuildTracePhase;
43706
+ return tracePhase ? tracePhase(`compile/angular/${name}`, fn, metadata2) : await fn();
43707
+ }, readTsconfigPathAliases = () => {
43705
43708
  try {
43706
43709
  const configPath2 = resolve19(process.cwd(), "tsconfig.json");
43707
43710
  const config = ts2.readConfigFile(configPath2, ts2.sys.readFile).config;
@@ -43940,7 +43943,9 @@ ${registrations}
43940
43943
  return;
43941
43944
  const source = await readFileForAotTransform(resolvedPath, readFile4);
43942
43945
  const transformed = await inlineResources(source, dirname11(resolvedPath), stylePreprocessors);
43943
- transformedSources.set(resolvedPath, transformed.source);
43946
+ if (transformed.source !== source) {
43947
+ transformedSources.set(resolvedPath, transformed.source);
43948
+ }
43944
43949
  const imports = extractLocalImportSpecifiers(source, resolvedPath);
43945
43950
  await Promise.all(imports.map(async (specifier) => {
43946
43951
  const resolvedImport = resolveLocalTsImport(resolvedPath, specifier);
@@ -43951,18 +43956,20 @@ ${registrations}
43951
43956
  await Promise.all(inputPaths.map((inputPath) => transformFile(inputPath)));
43952
43957
  return transformedSources;
43953
43958
  }, compileAngularFiles = async (inputPaths, outDir, stylePreprocessors) => {
43954
- const islandMetadataByOutputPath = new Map(inputPaths.map((inputPath) => {
43959
+ const islandMetadataByOutputPath = await traceAngularPhase("aot/island-metadata", () => new Map(inputPaths.map((inputPath) => {
43955
43960
  const outputPath = resolve19(join15(outDir, relative9(process.cwd(), resolve19(inputPath)).replace(/\.[cm]?[tj]sx?$/, ".js")));
43956
43961
  return [
43957
43962
  outputPath,
43958
43963
  buildIslandMetadataExports(readFileSync10(inputPath, "utf-8"))
43959
43964
  ];
43960
- }));
43961
- const { readConfiguration, performCompilation, EmitFlags } = await import("@angular/compiler-cli");
43962
- const tsPath = __require.resolve("typescript");
43963
- const tsRootDir = dirname11(tsPath);
43964
- const tsLibDir = tsRootDir.endsWith("lib") ? tsRootDir : resolve19(tsRootDir, "lib");
43965
- const config = readConfiguration("./tsconfig.json");
43965
+ })), { entries: inputPaths.length });
43966
+ const { readConfiguration, performCompilation, EmitFlags } = await traceAngularPhase("aot/import-compiler-cli", () => import("@angular/compiler-cli"));
43967
+ const tsLibDir = await traceAngularPhase("aot/resolve-typescript-lib", () => {
43968
+ const tsPath = __require.resolve("typescript");
43969
+ const tsRootDir = dirname11(tsPath);
43970
+ return tsRootDir.endsWith("lib") ? tsRootDir : resolve19(tsRootDir, "lib");
43971
+ });
43972
+ const config = await traceAngularPhase("aot/read-configuration", () => readConfiguration("./tsconfig.json"));
43966
43973
  const options = {
43967
43974
  emitDecoratorMetadata: true,
43968
43975
  esModuleInterop: true,
@@ -43985,7 +43992,7 @@ ${registrations}
43985
43992
  options.incremental = false;
43986
43993
  options.tsBuildInfoFile = undefined;
43987
43994
  options.rootDir = process.cwd();
43988
- const host = ts2.createCompilerHost(options);
43995
+ const host = await traceAngularPhase("aot/create-compiler-host", () => ts2.createCompilerHost(options));
43989
43996
  const originalGetDefaultLibLocation = host.getDefaultLibLocation;
43990
43997
  host.getDefaultLibLocation = () => tsLibDir || (originalGetDefaultLibLocation ? originalGetDefaultLibLocation() : "");
43991
43998
  const originalGetDefaultLibFileName = host.getDefaultLibFileName;
@@ -44008,7 +44015,7 @@ ${registrations}
44008
44015
  emitted[relativePath] = text;
44009
44016
  };
44010
44017
  const originalReadFile = host.readFile;
44011
- const aotTransformedSources = await precomputeAotResourceTransforms(inputPaths, originalReadFile?.bind(host), stylePreprocessors);
44018
+ const aotTransformedSources = await traceAngularPhase("aot/precompute-resources", () => precomputeAotResourceTransforms(inputPaths, originalReadFile?.bind(host), stylePreprocessors), { entries: inputPaths.length });
44012
44019
  host.readFile = (fileName) => {
44013
44020
  const source = originalReadFile ? originalReadFile.call(host, fileName) : undefined;
44014
44021
  if (typeof source !== "string")
@@ -44021,50 +44028,54 @@ ${registrations}
44021
44028
  };
44022
44029
  const originalGetSourceFileForCompile = host.getSourceFile;
44023
44030
  host.getSourceFile = (fileName, languageVersion, onError2) => {
44024
- const source = host.readFile(fileName);
44025
- if (typeof source === "string") {
44031
+ const source = aotTransformedSources.get(resolve19(fileName));
44032
+ if (source) {
44026
44033
  return ts2.createSourceFile(fileName, source, languageVersion, true);
44027
44034
  }
44028
44035
  return originalGetSourceFileForCompile?.call(host, fileName, languageVersion, onError2);
44029
44036
  };
44030
44037
  let diagnostics;
44031
44038
  try {
44032
- ({ diagnostics } = performCompilation({
44039
+ ({ diagnostics } = await traceAngularPhase("aot/perform-compilation", () => performCompilation({
44033
44040
  emitFlags: EmitFlags.Default,
44034
44041
  host,
44035
44042
  options,
44036
44043
  rootNames: inputPaths
44037
- }));
44044
+ }), { entries: inputPaths.length }));
44038
44045
  } finally {
44039
44046
  host.readFile = originalReadFile;
44040
44047
  host.getSourceFile = originalGetSourceFileForCompile;
44041
44048
  }
44042
- throwOnCompilationErrors(diagnostics);
44043
- const rawEntries = Object.entries(emitted).filter(([fileName]) => fileName.endsWith(".js")).map(([fileName, content]) => ({
44044
- content,
44045
- target: join15(outDir, fileName)
44046
- }));
44047
- const outputFiles = new Set(rawEntries.map(({ target }) => resolve19(target)));
44048
- const entries = rawEntries.map(({ content, target }) => {
44049
- let processedContent = content.replace(/from\s+(['"])(\.\.?\/[^'"]+)(\1)/g, (match, quote, path2) => {
44050
- const rewritten = rewriteRelativeJsSpecifier(target, path2, outputFiles);
44051
- if (rewritten !== path2) {
44052
- return `from ${quote}${rewritten}${quote}`;
44053
- }
44054
- return match;
44055
- });
44056
- processedContent = processedContent.replace(/\u0275\u0275domElementStart/g, "\u0275\u0275elementStart").replace(/\u0275\u0275domElementEnd/g, "\u0275\u0275elementEnd").replace(/\u0275\u0275domElement\(/g, "\u0275\u0275element(").replace(/\u0275\u0275domProperty/g, "\u0275\u0275property").replace(/\u0275\u0275domListener/g, "\u0275\u0275listener");
44057
- processedContent = processedContent.replace(/import\s*{\s*([^}]*)\bInjectFlags\b([^}]*)\s*}\s*from\s*['"]@angular\/core['"]/g, (match, before, after) => {
44058
- const cleaned = (before + after).replace(/,\s*,/g, ",").replace(/^\s*,\s*/, "").replace(/,\s*$/, "");
44059
- return cleaned ? `import { ${cleaned}, InternalInjectFlags } from '@angular/core'` : `import { InternalInjectFlags } from '@angular/core'`;
44049
+ await traceAngularPhase("aot/check-diagnostics", () => throwOnCompilationErrors(diagnostics));
44050
+ const entries = await traceAngularPhase("aot/postprocess-emitted-js", () => {
44051
+ const rawEntries = Object.entries(emitted).filter(([fileName]) => fileName.endsWith(".js")).map(([fileName, content]) => ({
44052
+ content,
44053
+ target: join15(outDir, fileName)
44054
+ }));
44055
+ const outputFiles = new Set(rawEntries.map(({ target }) => resolve19(target)));
44056
+ return rawEntries.map(({ content, target }) => {
44057
+ let processedContent = content.replace(/from\s+(['"])(\.\.?\/[^'"]+)(\1)/g, (match, quote, path2) => {
44058
+ const rewritten = rewriteRelativeJsSpecifier(target, path2, outputFiles);
44059
+ if (rewritten !== path2) {
44060
+ return `from ${quote}${rewritten}${quote}`;
44061
+ }
44062
+ return match;
44063
+ });
44064
+ processedContent = processedContent.replace(/\u0275\u0275domElementStart/g, "\u0275\u0275elementStart").replace(/\u0275\u0275domElementEnd/g, "\u0275\u0275elementEnd").replace(/\u0275\u0275domElement\(/g, "\u0275\u0275element(").replace(/\u0275\u0275domProperty/g, "\u0275\u0275property").replace(/\u0275\u0275domListener/g, "\u0275\u0275listener");
44065
+ processedContent = processedContent.replace(/import\s*{\s*([^}]*)\bInjectFlags\b([^}]*)\s*}\s*from\s*['"]@angular\/core['"]/g, (match, before, after) => {
44066
+ const cleaned = (before + after).replace(/,\s*,/g, ",").replace(/^\s*,\s*/, "").replace(/,\s*$/, "");
44067
+ return cleaned ? `import { ${cleaned}, InternalInjectFlags } from '@angular/core'` : `import { InternalInjectFlags } from '@angular/core'`;
44068
+ });
44069
+ processedContent = processedContent.replace(/\b(?<!Internal)InjectFlags\b/g, "InternalInjectFlags");
44070
+ processedContent += islandMetadataByOutputPath.get(resolve19(target)) ?? "";
44071
+ return { content: processedContent, target };
44060
44072
  });
44061
- processedContent = processedContent.replace(/\b(?<!Internal)InjectFlags\b/g, "InternalInjectFlags");
44062
- processedContent += islandMetadataByOutputPath.get(resolve19(target)) ?? "";
44063
- return { content: processedContent, target };
44064
44073
  });
44065
- await Promise.all(entries.map(({ target }) => fs2.mkdir(dirname11(target), { recursive: true })));
44066
- await Promise.all(entries.map(({ target, content }) => fs2.writeFile(target, content, "utf-8")));
44067
- return entries.map(({ target }) => target);
44074
+ await traceAngularPhase("aot/write-output", () => Promise.all(entries.map(async ({ target, content }) => {
44075
+ await fs2.mkdir(dirname11(target), { recursive: true });
44076
+ await fs2.writeFile(target, content, "utf-8");
44077
+ })), { outputs: entries.length });
44078
+ return await traceAngularPhase("aot/collect-output-paths", () => entries.map(({ target }) => target), { outputs: entries.length });
44068
44079
  }, compileAngularFile = async (inputPath, outDir, stylePreprocessors) => compileAngularFiles([inputPath], outDir, stylePreprocessors), jitContentCache, wrapperOutputCache, escapeTemplateContent = (content) => content.replace(/\\/g, "\\\\").replace(/`/g, "\\`").replace(/\$\{/g, "\\${"), findUncommentedMatch = (source, pattern) => {
44069
44080
  const re2 = new RegExp(pattern.source, pattern.flags.includes("g") ? pattern.flags : pattern.flags + "g");
44070
44081
  let match;
@@ -44153,31 +44164,31 @@ ${importLine}${source.slice(insertAt)}`;
44153
44164
  }
44154
44165
  return parts.join("");
44155
44166
  }, buildDeferSlotTemplateResolver = () => ` __absoluteDeferTemplateExpressionCache = new Map<string, string>();
44156
- __absoluteDeferResolveTemplateExpression(expression: string) {
44157
- const cached = this.__absoluteDeferTemplateExpressionCache.get(expression);
44158
- if (cached !== undefined) return cached;
44159
-
44160
- const scope = new Proxy(this, {
44161
- get: (_target, property) => {
44162
- const value = (this as Record<PropertyKey, unknown>)[property];
44163
- return typeof value === "function" ? value.bind(this) : value;
44164
- }
44165
- });
44166
- let value = '';
44167
- try {
44168
- const evaluate = new Function(
44169
- 'scope',
44170
- "with (scope) { return (" + expression + "); }"
44171
- );
44172
-
44173
- const resolvedValue = evaluate(scope);
44174
- value = resolvedValue == null ? '' : String(resolvedValue);
44175
- } catch (_error) {
44176
- value = '';
44177
- }
44178
- this.__absoluteDeferTemplateExpressionCache.set(expression, value);
44179
- return value;
44180
- }
44167
+ ` + ` __absoluteDeferResolveTemplateExpression(expression: string) {
44168
+ ` + ` const cached = this.__absoluteDeferTemplateExpressionCache.get(expression);
44169
+ ` + ` if (cached !== undefined) return cached;
44170
+ ` + `
44171
+ ` + ` const scope = new Proxy(this, {
44172
+ ` + ` get: (_target, property) => {
44173
+ ` + ` const value = (this as Record<PropertyKey, unknown>)[property];
44174
+ ` + ` return typeof value === "function" ? value.bind(this) : value;
44175
+ ` + ` }
44176
+ ` + ` });
44177
+ ` + ` let value = '';
44178
+ ` + ` try {
44179
+ ` + ` const evaluate = new Function(
44180
+ ` + ` 'scope',
44181
+ ` + ` "with (scope) { return (" + expression + "); }"
44182
+ ` + ` );
44183
+ ` + `
44184
+ ` + ` const resolvedValue = evaluate(scope);
44185
+ ` + ` value = resolvedValue == null ? '' : String(resolvedValue);
44186
+ ` + ` } catch (_error) {
44187
+ ` + ` value = '';
44188
+ ` + ` }
44189
+ ` + ` this.__absoluteDeferTemplateExpressionCache.set(expression, value);
44190
+ ` + ` return value;
44191
+ ` + ` }
44181
44192
 
44182
44193
  `, buildDeferSlotFields = (slots) => [
44183
44194
  buildDeferSlotTemplateResolver(),
@@ -44191,8 +44202,8 @@ ${slot.resolvedBindings.map((binding) => ` "${binding.key}": this.__absoluteDef
44191
44202
  ` : ` __absoluteDeferData${index} = () => ({});
44192
44203
  `;
44193
44204
  return `${htmlField + dataField} __absoluteDeferResolvePayload${index} = () => new Promise<any>((resolve) => {
44194
- setTimeout(() => resolve({ kind: 'angular-defer', state: 'resolved', html: this.__absoluteDeferHtml${index}(), data: this.__absoluteDeferData${index}() }), ${slot.delayMs});
44195
- });
44205
+ ` + ` setTimeout(() => resolve({ kind: 'angular-defer', state: 'resolved', html: this.__absoluteDeferHtml${index}(), data: this.__absoluteDeferData${index}() }), ${slot.delayMs});
44206
+ ` + ` });
44196
44207
  `;
44197
44208
  })
44198
44209
  ].join(`
@@ -44472,14 +44483,16 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
44472
44483
  }
44473
44484
  const compiledRoot = compiledParent;
44474
44485
  const indexesDir = join15(compiledParent, "indexes");
44475
- await fs2.mkdir(indexesDir, { recursive: true });
44476
- const aotOutputs = hmr ? [] : await compileAngularFiles(entryPoints.map((entry) => resolve19(entry)), compiledRoot, stylePreprocessors);
44477
- const usesLegacyAngularAnimations = createLegacyAngularAnimationUsageResolver(outRoot);
44486
+ await traceAngularPhase("setup/create-indexes-dir", () => fs2.mkdir(indexesDir, { recursive: true }));
44487
+ const aotOutputs = hmr ? [] : await traceAngularPhase("aot/compile-files", () => compileAngularFiles(entryPoints.map((entry) => resolve19(entry)), compiledRoot, stylePreprocessors), { entries: entryPoints.length });
44488
+ const usesLegacyAngularAnimations = await traceAngularPhase("setup/legacy-animation-resolver", () => createLegacyAngularAnimationUsageResolver(outRoot));
44478
44489
  const compileTasks = entryPoints.map(async (entry) => {
44479
44490
  const resolvedEntry = resolve19(entry);
44480
44491
  const relativeEntry = relative9(outRoot, resolvedEntry).replace(/\.[tj]s$/, ".js");
44481
44492
  const compileEntry = () => compileAngularFileJIT(resolvedEntry, compiledRoot, outRoot, stylePreprocessors);
44482
- let outputs = hmr ? await compileEntry() : aotOutputs;
44493
+ let outputs = hmr ? await traceAngularPhase("jit/compile-entry", compileEntry, {
44494
+ entry: resolvedEntry
44495
+ }) : aotOutputs;
44483
44496
  const fileBase = basename7(resolvedEntry).replace(/\.[tj]s$/, "");
44484
44497
  const jsName = `${fileBase}.js`;
44485
44498
  const compiledFallbackPaths = [
@@ -44501,13 +44514,13 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
44501
44514
  }
44502
44515
  return candidate;
44503
44516
  };
44504
- let rawServerFile = resolveRawServerFile(outputs);
44517
+ let rawServerFile = await traceAngularPhase("wrapper/resolve-server-output", () => resolveRawServerFile(outputs), { entry: resolvedEntry });
44505
44518
  if (!rawServerFile) {
44506
- rawServerFile = resolveRawServerFile([]);
44519
+ rawServerFile = await traceAngularPhase("wrapper/resolve-server-output-fallback", () => resolveRawServerFile([]), { entry: resolvedEntry });
44507
44520
  }
44508
44521
  if (rawServerFile && !existsSync16(rawServerFile)) {
44509
44522
  outputs = hmr ? await compileEntry() : aotOutputs;
44510
- rawServerFile = resolveRawServerFile(outputs);
44523
+ rawServerFile = await traceAngularPhase("wrapper/resolve-server-output-retry", () => resolveRawServerFile(outputs), { entry: resolvedEntry });
44511
44524
  }
44512
44525
  if (!rawServerFile || !existsSync16(rawServerFile)) {
44513
44526
  throw new Error(`Compiled output not found for ${entry}. Looking for: ${jsName}. Available: ${[
@@ -44515,7 +44528,7 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
44515
44528
  ...compiledFallbackPaths
44516
44529
  ].join(", ")}`);
44517
44530
  }
44518
- const original = await fs2.readFile(rawServerFile, "utf-8");
44531
+ const original = await traceAngularPhase("wrapper/read-server-output", () => fs2.readFile(rawServerFile, "utf-8"), { entry: resolvedEntry });
44519
44532
  const detectExportedComponentClass = (source, fallback) => {
44520
44533
  const defaultMatch = source.match(/export\s+default\s+([A-Za-z_$][\w$]*)\s*;/);
44521
44534
  if (defaultMatch)
@@ -44525,8 +44538,8 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
44525
44538
  return exportClassMatch[1];
44526
44539
  return fallback;
44527
44540
  };
44528
- const componentClassName = detectExportedComponentClass(original, `${toPascal(fileBase)}Component`);
44529
- const usesLegacyAnimations = await usesLegacyAngularAnimations(resolvedEntry);
44541
+ const componentClassName = await traceAngularPhase("wrapper/detect-component-class", () => detectExportedComponentClass(original, `${toPascal(fileBase)}Component`), { entry: resolvedEntry });
44542
+ const usesLegacyAnimations = await traceAngularPhase("wrapper/detect-legacy-animations", () => usesLegacyAngularAnimations(resolvedEntry), { entry: resolvedEntry });
44530
44543
  const serverContentHash = Bun.hash(original).toString(BASE_36_RADIX);
44531
44544
  const cachedWrapper = wrapperOutputCache.get(resolvedEntry);
44532
44545
  const clientFile = join15(indexesDir, jsName);
@@ -44570,7 +44583,7 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
44570
44583
  `);
44571
44584
  await fs2.writeFile(ssrDepsFile, ssrDepsContent, "utf-8");
44572
44585
  }
44573
- await fs2.writeFile(rawServerFile, rewritten, "utf-8");
44586
+ await traceAngularPhase("wrapper/write-server-output", () => fs2.writeFile(rawServerFile, rewritten, "utf-8"), { entry: resolvedEntry });
44574
44587
  const relativePath = relative9(indexesDir, rawServerFile).replace(/\\/g, "/");
44575
44588
  const normalizedImportPath = relativePath.startsWith(".") ? relativePath : `./${relativePath}`;
44576
44589
  const hmrPreamble = hmr ? `window.__HMR_FRAMEWORK__ = "angular";
@@ -44749,7 +44762,7 @@ if (pageHasRawStreamingSlots) {
44749
44762
  `.trim();
44750
44763
  const indexHash = Bun.hash(hydration).toString(BASE_36_RADIX);
44751
44764
  const indexUnchanged = cachedWrapper?.indexHash === indexHash;
44752
- await fs2.writeFile(clientFile, hydration, "utf-8");
44765
+ await traceAngularPhase("wrapper/write-client-index", () => fs2.writeFile(clientFile, hydration, "utf-8"), { entry: resolvedEntry });
44753
44766
  wrapperOutputCache.set(resolvedEntry, {
44754
44767
  indexHash,
44755
44768
  serverHash: serverContentHash
@@ -44760,9 +44773,11 @@ if (pageHasRawStreamingSlots) {
44760
44773
  serverPath: rawServerFile
44761
44774
  };
44762
44775
  });
44763
- const results = await Promise.all(compileTasks);
44764
- const serverPaths = results.map((r) => r.serverPath);
44765
- const clientPaths = results.map((r) => r.clientPath);
44776
+ const results = await traceAngularPhase("wrapper/process-entries", () => Promise.all(compileTasks), { entries: entryPoints.length });
44777
+ const { clientPaths, serverPaths } = await traceAngularPhase("wrapper/collect-paths", () => ({
44778
+ clientPaths: results.map((r) => r.clientPath),
44779
+ serverPaths: results.map((r) => r.serverPath)
44780
+ }), { entries: results.length });
44766
44781
  return {
44767
44782
  allIndexesUnchanged: hmr && results.every((r) => r.indexUnchanged),
44768
44783
  clientPaths,
@@ -45628,6 +45643,15 @@ ${content.slice(firstUseIdx)}`;
45628
45643
  const traceEnabled = isBuildTraceEnabled();
45629
45644
  const traceEvents = [];
45630
45645
  let traceFrameworkNames = [];
45646
+ const traceGlobal = globalThis;
45647
+ const previousTracePhase = traceGlobal.__absoluteBuildTracePhase;
45648
+ const restoreTracePhase = () => {
45649
+ if (previousTracePhase) {
45650
+ traceGlobal.__absoluteBuildTracePhase = previousTracePhase;
45651
+ } else {
45652
+ delete traceGlobal.__absoluteBuildTracePhase;
45653
+ }
45654
+ };
45631
45655
  const tracePhase = async (name, fn, metadata2) => {
45632
45656
  if (!traceEnabled)
45633
45657
  return await fn();
@@ -45656,9 +45680,14 @@ ${content.slice(firstUseIdx)}`;
45656
45680
  throw error;
45657
45681
  }
45658
45682
  };
45683
+ if (traceEnabled) {
45684
+ traceGlobal.__absoluteBuildTracePhase = tracePhase;
45685
+ }
45659
45686
  const writeBuildTrace = (buildPath2) => {
45660
- if (!traceEnabled)
45687
+ if (!traceEnabled) {
45688
+ restoreTracePhase();
45661
45689
  return;
45690
+ }
45662
45691
  const traceDir = join20(buildPath2, ".absolute-trace");
45663
45692
  const timestamp = new Date().toISOString().replace(/[:.]/g, "-");
45664
45693
  mkdirSync10(traceDir, { recursive: true });
@@ -45670,6 +45699,7 @@ ${content.slice(firstUseIdx)}`;
45670
45699
  totalDurationMs: performance.now() - buildStart,
45671
45700
  version: 1
45672
45701
  }, null, 2));
45702
+ restoreTracePhase();
45673
45703
  };
45674
45704
  await tracePhase("absolute/version", () => resolveAbsoluteVersion());
45675
45705
  const isIncremental = incrementalFiles && incrementalFiles.length > 0;
@@ -58645,5 +58675,5 @@ export {
58645
58675
  ANGULAR_INIT_TIMEOUT_MS
58646
58676
  };
58647
58677
 
58648
- //# debugId=4A926E99D028AB1864756E2164756E21
58678
+ //# debugId=2F07E1892FE8624964756E2164756E21
58649
58679
  //# sourceMappingURL=index.js.map