@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/build.js CHANGED
@@ -43509,7 +43509,10 @@ __export(exports_compileAngular, {
43509
43509
  import { existsSync as existsSync16, readFileSync as readFileSync9, promises as fs2 } from "fs";
43510
43510
  import { join as join15, basename as basename6, sep as sep3, dirname as dirname10, resolve as resolve16, relative as relative9 } from "path";
43511
43511
  import ts2 from "typescript";
43512
- var readTsconfigPathAliases = () => {
43512
+ var traceAngularPhase = async (name, fn, metadata) => {
43513
+ const tracePhase = globalThis.__absoluteBuildTracePhase;
43514
+ return tracePhase ? tracePhase(`compile/angular/${name}`, fn, metadata) : await fn();
43515
+ }, readTsconfigPathAliases = () => {
43513
43516
  try {
43514
43517
  const configPath2 = resolve16(process.cwd(), "tsconfig.json");
43515
43518
  const config = ts2.readConfigFile(configPath2, ts2.sys.readFile).config;
@@ -43748,7 +43751,9 @@ ${registrations}
43748
43751
  return;
43749
43752
  const source = await readFileForAotTransform(resolvedPath, readFile4);
43750
43753
  const transformed = await inlineResources(source, dirname10(resolvedPath), stylePreprocessors);
43751
- transformedSources.set(resolvedPath, transformed.source);
43754
+ if (transformed.source !== source) {
43755
+ transformedSources.set(resolvedPath, transformed.source);
43756
+ }
43752
43757
  const imports = extractLocalImportSpecifiers(source, resolvedPath);
43753
43758
  await Promise.all(imports.map(async (specifier) => {
43754
43759
  const resolvedImport = resolveLocalTsImport(resolvedPath, specifier);
@@ -43759,18 +43764,20 @@ ${registrations}
43759
43764
  await Promise.all(inputPaths.map((inputPath) => transformFile(inputPath)));
43760
43765
  return transformedSources;
43761
43766
  }, compileAngularFiles = async (inputPaths, outDir, stylePreprocessors) => {
43762
- const islandMetadataByOutputPath = new Map(inputPaths.map((inputPath) => {
43767
+ const islandMetadataByOutputPath = await traceAngularPhase("aot/island-metadata", () => new Map(inputPaths.map((inputPath) => {
43763
43768
  const outputPath = resolve16(join15(outDir, relative9(process.cwd(), resolve16(inputPath)).replace(/\.[cm]?[tj]sx?$/, ".js")));
43764
43769
  return [
43765
43770
  outputPath,
43766
43771
  buildIslandMetadataExports(readFileSync9(inputPath, "utf-8"))
43767
43772
  ];
43768
- }));
43769
- const { readConfiguration, performCompilation, EmitFlags } = await import("@angular/compiler-cli");
43770
- const tsPath = __require.resolve("typescript");
43771
- const tsRootDir = dirname10(tsPath);
43772
- const tsLibDir = tsRootDir.endsWith("lib") ? tsRootDir : resolve16(tsRootDir, "lib");
43773
- const config = readConfiguration("./tsconfig.json");
43773
+ })), { entries: inputPaths.length });
43774
+ const { readConfiguration, performCompilation, EmitFlags } = await traceAngularPhase("aot/import-compiler-cli", () => import("@angular/compiler-cli"));
43775
+ const tsLibDir = await traceAngularPhase("aot/resolve-typescript-lib", () => {
43776
+ const tsPath = __require.resolve("typescript");
43777
+ const tsRootDir = dirname10(tsPath);
43778
+ return tsRootDir.endsWith("lib") ? tsRootDir : resolve16(tsRootDir, "lib");
43779
+ });
43780
+ const config = await traceAngularPhase("aot/read-configuration", () => readConfiguration("./tsconfig.json"));
43774
43781
  const options = {
43775
43782
  emitDecoratorMetadata: true,
43776
43783
  esModuleInterop: true,
@@ -43793,7 +43800,7 @@ ${registrations}
43793
43800
  options.incremental = false;
43794
43801
  options.tsBuildInfoFile = undefined;
43795
43802
  options.rootDir = process.cwd();
43796
- const host = ts2.createCompilerHost(options);
43803
+ const host = await traceAngularPhase("aot/create-compiler-host", () => ts2.createCompilerHost(options));
43797
43804
  const originalGetDefaultLibLocation = host.getDefaultLibLocation;
43798
43805
  host.getDefaultLibLocation = () => tsLibDir || (originalGetDefaultLibLocation ? originalGetDefaultLibLocation() : "");
43799
43806
  const originalGetDefaultLibFileName = host.getDefaultLibFileName;
@@ -43816,7 +43823,7 @@ ${registrations}
43816
43823
  emitted[relativePath] = text;
43817
43824
  };
43818
43825
  const originalReadFile = host.readFile;
43819
- const aotTransformedSources = await precomputeAotResourceTransforms(inputPaths, originalReadFile?.bind(host), stylePreprocessors);
43826
+ const aotTransformedSources = await traceAngularPhase("aot/precompute-resources", () => precomputeAotResourceTransforms(inputPaths, originalReadFile?.bind(host), stylePreprocessors), { entries: inputPaths.length });
43820
43827
  host.readFile = (fileName) => {
43821
43828
  const source = originalReadFile ? originalReadFile.call(host, fileName) : undefined;
43822
43829
  if (typeof source !== "string")
@@ -43829,50 +43836,54 @@ ${registrations}
43829
43836
  };
43830
43837
  const originalGetSourceFileForCompile = host.getSourceFile;
43831
43838
  host.getSourceFile = (fileName, languageVersion, onError2) => {
43832
- const source = host.readFile(fileName);
43833
- if (typeof source === "string") {
43839
+ const source = aotTransformedSources.get(resolve16(fileName));
43840
+ if (source) {
43834
43841
  return ts2.createSourceFile(fileName, source, languageVersion, true);
43835
43842
  }
43836
43843
  return originalGetSourceFileForCompile?.call(host, fileName, languageVersion, onError2);
43837
43844
  };
43838
43845
  let diagnostics;
43839
43846
  try {
43840
- ({ diagnostics } = performCompilation({
43847
+ ({ diagnostics } = await traceAngularPhase("aot/perform-compilation", () => performCompilation({
43841
43848
  emitFlags: EmitFlags.Default,
43842
43849
  host,
43843
43850
  options,
43844
43851
  rootNames: inputPaths
43845
- }));
43852
+ }), { entries: inputPaths.length }));
43846
43853
  } finally {
43847
43854
  host.readFile = originalReadFile;
43848
43855
  host.getSourceFile = originalGetSourceFileForCompile;
43849
43856
  }
43850
- throwOnCompilationErrors(diagnostics);
43851
- const rawEntries = Object.entries(emitted).filter(([fileName]) => fileName.endsWith(".js")).map(([fileName, content]) => ({
43852
- content,
43853
- target: join15(outDir, fileName)
43854
- }));
43855
- const outputFiles = new Set(rawEntries.map(({ target }) => resolve16(target)));
43856
- const entries = rawEntries.map(({ content, target }) => {
43857
- let processedContent = content.replace(/from\s+(['"])(\.\.?\/[^'"]+)(\1)/g, (match, quote, path2) => {
43858
- const rewritten = rewriteRelativeJsSpecifier(target, path2, outputFiles);
43859
- if (rewritten !== path2) {
43860
- return `from ${quote}${rewritten}${quote}`;
43861
- }
43862
- return match;
43863
- });
43864
- 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");
43865
- processedContent = processedContent.replace(/import\s*{\s*([^}]*)\bInjectFlags\b([^}]*)\s*}\s*from\s*['"]@angular\/core['"]/g, (match, before, after) => {
43866
- const cleaned = (before + after).replace(/,\s*,/g, ",").replace(/^\s*,\s*/, "").replace(/,\s*$/, "");
43867
- return cleaned ? `import { ${cleaned}, InternalInjectFlags } from '@angular/core'` : `import { InternalInjectFlags } from '@angular/core'`;
43857
+ await traceAngularPhase("aot/check-diagnostics", () => throwOnCompilationErrors(diagnostics));
43858
+ const entries = await traceAngularPhase("aot/postprocess-emitted-js", () => {
43859
+ const rawEntries = Object.entries(emitted).filter(([fileName]) => fileName.endsWith(".js")).map(([fileName, content]) => ({
43860
+ content,
43861
+ target: join15(outDir, fileName)
43862
+ }));
43863
+ const outputFiles = new Set(rawEntries.map(({ target }) => resolve16(target)));
43864
+ return rawEntries.map(({ content, target }) => {
43865
+ let processedContent = content.replace(/from\s+(['"])(\.\.?\/[^'"]+)(\1)/g, (match, quote, path2) => {
43866
+ const rewritten = rewriteRelativeJsSpecifier(target, path2, outputFiles);
43867
+ if (rewritten !== path2) {
43868
+ return `from ${quote}${rewritten}${quote}`;
43869
+ }
43870
+ return match;
43871
+ });
43872
+ 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");
43873
+ processedContent = processedContent.replace(/import\s*{\s*([^}]*)\bInjectFlags\b([^}]*)\s*}\s*from\s*['"]@angular\/core['"]/g, (match, before, after) => {
43874
+ const cleaned = (before + after).replace(/,\s*,/g, ",").replace(/^\s*,\s*/, "").replace(/,\s*$/, "");
43875
+ return cleaned ? `import { ${cleaned}, InternalInjectFlags } from '@angular/core'` : `import { InternalInjectFlags } from '@angular/core'`;
43876
+ });
43877
+ processedContent = processedContent.replace(/\b(?<!Internal)InjectFlags\b/g, "InternalInjectFlags");
43878
+ processedContent += islandMetadataByOutputPath.get(resolve16(target)) ?? "";
43879
+ return { content: processedContent, target };
43868
43880
  });
43869
- processedContent = processedContent.replace(/\b(?<!Internal)InjectFlags\b/g, "InternalInjectFlags");
43870
- processedContent += islandMetadataByOutputPath.get(resolve16(target)) ?? "";
43871
- return { content: processedContent, target };
43872
43881
  });
43873
- await Promise.all(entries.map(({ target }) => fs2.mkdir(dirname10(target), { recursive: true })));
43874
- await Promise.all(entries.map(({ target, content }) => fs2.writeFile(target, content, "utf-8")));
43875
- return entries.map(({ target }) => target);
43882
+ await traceAngularPhase("aot/write-output", () => Promise.all(entries.map(async ({ target, content }) => {
43883
+ await fs2.mkdir(dirname10(target), { recursive: true });
43884
+ await fs2.writeFile(target, content, "utf-8");
43885
+ })), { outputs: entries.length });
43886
+ return await traceAngularPhase("aot/collect-output-paths", () => entries.map(({ target }) => target), { outputs: entries.length });
43876
43887
  }, compileAngularFile = async (inputPath, outDir, stylePreprocessors) => compileAngularFiles([inputPath], outDir, stylePreprocessors), jitContentCache, wrapperOutputCache, escapeTemplateContent = (content) => content.replace(/\\/g, "\\\\").replace(/`/g, "\\`").replace(/\$\{/g, "\\${"), findUncommentedMatch = (source, pattern) => {
43877
43888
  const re2 = new RegExp(pattern.source, pattern.flags.includes("g") ? pattern.flags : pattern.flags + "g");
43878
43889
  let match;
@@ -43961,31 +43972,31 @@ ${importLine}${source.slice(insertAt)}`;
43961
43972
  }
43962
43973
  return parts.join("");
43963
43974
  }, buildDeferSlotTemplateResolver = () => ` __absoluteDeferTemplateExpressionCache = new Map<string, string>();
43964
- __absoluteDeferResolveTemplateExpression(expression: string) {
43965
- const cached = this.__absoluteDeferTemplateExpressionCache.get(expression);
43966
- if (cached !== undefined) return cached;
43967
-
43968
- const scope = new Proxy(this, {
43969
- get: (_target, property) => {
43970
- const value = (this as Record<PropertyKey, unknown>)[property];
43971
- return typeof value === "function" ? value.bind(this) : value;
43972
- }
43973
- });
43974
- let value = '';
43975
- try {
43976
- const evaluate = new Function(
43977
- 'scope',
43978
- "with (scope) { return (" + expression + "); }"
43979
- );
43980
-
43981
- const resolvedValue = evaluate(scope);
43982
- value = resolvedValue == null ? '' : String(resolvedValue);
43983
- } catch (_error) {
43984
- value = '';
43985
- }
43986
- this.__absoluteDeferTemplateExpressionCache.set(expression, value);
43987
- return value;
43988
- }
43975
+ ` + ` __absoluteDeferResolveTemplateExpression(expression: string) {
43976
+ ` + ` const cached = this.__absoluteDeferTemplateExpressionCache.get(expression);
43977
+ ` + ` if (cached !== undefined) return cached;
43978
+ ` + `
43979
+ ` + ` const scope = new Proxy(this, {
43980
+ ` + ` get: (_target, property) => {
43981
+ ` + ` const value = (this as Record<PropertyKey, unknown>)[property];
43982
+ ` + ` return typeof value === "function" ? value.bind(this) : value;
43983
+ ` + ` }
43984
+ ` + ` });
43985
+ ` + ` let value = '';
43986
+ ` + ` try {
43987
+ ` + ` const evaluate = new Function(
43988
+ ` + ` 'scope',
43989
+ ` + ` "with (scope) { return (" + expression + "); }"
43990
+ ` + ` );
43991
+ ` + `
43992
+ ` + ` const resolvedValue = evaluate(scope);
43993
+ ` + ` value = resolvedValue == null ? '' : String(resolvedValue);
43994
+ ` + ` } catch (_error) {
43995
+ ` + ` value = '';
43996
+ ` + ` }
43997
+ ` + ` this.__absoluteDeferTemplateExpressionCache.set(expression, value);
43998
+ ` + ` return value;
43999
+ ` + ` }
43989
44000
 
43990
44001
  `, buildDeferSlotFields = (slots) => [
43991
44002
  buildDeferSlotTemplateResolver(),
@@ -43999,8 +44010,8 @@ ${slot.resolvedBindings.map((binding) => ` "${binding.key}": this.__absoluteDef
43999
44010
  ` : ` __absoluteDeferData${index} = () => ({});
44000
44011
  `;
44001
44012
  return `${htmlField + dataField} __absoluteDeferResolvePayload${index} = () => new Promise<any>((resolve) => {
44002
- setTimeout(() => resolve({ kind: 'angular-defer', state: 'resolved', html: this.__absoluteDeferHtml${index}(), data: this.__absoluteDeferData${index}() }), ${slot.delayMs});
44003
- });
44013
+ ` + ` setTimeout(() => resolve({ kind: 'angular-defer', state: 'resolved', html: this.__absoluteDeferHtml${index}(), data: this.__absoluteDeferData${index}() }), ${slot.delayMs});
44014
+ ` + ` });
44004
44015
  `;
44005
44016
  })
44006
44017
  ].join(`
@@ -44280,14 +44291,16 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
44280
44291
  }
44281
44292
  const compiledRoot = compiledParent;
44282
44293
  const indexesDir = join15(compiledParent, "indexes");
44283
- await fs2.mkdir(indexesDir, { recursive: true });
44284
- const aotOutputs = hmr ? [] : await compileAngularFiles(entryPoints.map((entry) => resolve16(entry)), compiledRoot, stylePreprocessors);
44285
- const usesLegacyAngularAnimations = createLegacyAngularAnimationUsageResolver(outRoot);
44294
+ await traceAngularPhase("setup/create-indexes-dir", () => fs2.mkdir(indexesDir, { recursive: true }));
44295
+ const aotOutputs = hmr ? [] : await traceAngularPhase("aot/compile-files", () => compileAngularFiles(entryPoints.map((entry) => resolve16(entry)), compiledRoot, stylePreprocessors), { entries: entryPoints.length });
44296
+ const usesLegacyAngularAnimations = await traceAngularPhase("setup/legacy-animation-resolver", () => createLegacyAngularAnimationUsageResolver(outRoot));
44286
44297
  const compileTasks = entryPoints.map(async (entry) => {
44287
44298
  const resolvedEntry = resolve16(entry);
44288
44299
  const relativeEntry = relative9(outRoot, resolvedEntry).replace(/\.[tj]s$/, ".js");
44289
44300
  const compileEntry = () => compileAngularFileJIT(resolvedEntry, compiledRoot, outRoot, stylePreprocessors);
44290
- let outputs = hmr ? await compileEntry() : aotOutputs;
44301
+ let outputs = hmr ? await traceAngularPhase("jit/compile-entry", compileEntry, {
44302
+ entry: resolvedEntry
44303
+ }) : aotOutputs;
44291
44304
  const fileBase = basename6(resolvedEntry).replace(/\.[tj]s$/, "");
44292
44305
  const jsName = `${fileBase}.js`;
44293
44306
  const compiledFallbackPaths = [
@@ -44309,13 +44322,13 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
44309
44322
  }
44310
44323
  return candidate;
44311
44324
  };
44312
- let rawServerFile = resolveRawServerFile(outputs);
44325
+ let rawServerFile = await traceAngularPhase("wrapper/resolve-server-output", () => resolveRawServerFile(outputs), { entry: resolvedEntry });
44313
44326
  if (!rawServerFile) {
44314
- rawServerFile = resolveRawServerFile([]);
44327
+ rawServerFile = await traceAngularPhase("wrapper/resolve-server-output-fallback", () => resolveRawServerFile([]), { entry: resolvedEntry });
44315
44328
  }
44316
44329
  if (rawServerFile && !existsSync16(rawServerFile)) {
44317
44330
  outputs = hmr ? await compileEntry() : aotOutputs;
44318
- rawServerFile = resolveRawServerFile(outputs);
44331
+ rawServerFile = await traceAngularPhase("wrapper/resolve-server-output-retry", () => resolveRawServerFile(outputs), { entry: resolvedEntry });
44319
44332
  }
44320
44333
  if (!rawServerFile || !existsSync16(rawServerFile)) {
44321
44334
  throw new Error(`Compiled output not found for ${entry}. Looking for: ${jsName}. Available: ${[
@@ -44323,7 +44336,7 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
44323
44336
  ...compiledFallbackPaths
44324
44337
  ].join(", ")}`);
44325
44338
  }
44326
- const original = await fs2.readFile(rawServerFile, "utf-8");
44339
+ const original = await traceAngularPhase("wrapper/read-server-output", () => fs2.readFile(rawServerFile, "utf-8"), { entry: resolvedEntry });
44327
44340
  const detectExportedComponentClass = (source, fallback) => {
44328
44341
  const defaultMatch = source.match(/export\s+default\s+([A-Za-z_$][\w$]*)\s*;/);
44329
44342
  if (defaultMatch)
@@ -44333,8 +44346,8 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
44333
44346
  return exportClassMatch[1];
44334
44347
  return fallback;
44335
44348
  };
44336
- const componentClassName = detectExportedComponentClass(original, `${toPascal(fileBase)}Component`);
44337
- const usesLegacyAnimations = await usesLegacyAngularAnimations(resolvedEntry);
44349
+ const componentClassName = await traceAngularPhase("wrapper/detect-component-class", () => detectExportedComponentClass(original, `${toPascal(fileBase)}Component`), { entry: resolvedEntry });
44350
+ const usesLegacyAnimations = await traceAngularPhase("wrapper/detect-legacy-animations", () => usesLegacyAngularAnimations(resolvedEntry), { entry: resolvedEntry });
44338
44351
  const serverContentHash = Bun.hash(original).toString(BASE_36_RADIX);
44339
44352
  const cachedWrapper = wrapperOutputCache.get(resolvedEntry);
44340
44353
  const clientFile = join15(indexesDir, jsName);
@@ -44378,7 +44391,7 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
44378
44391
  `);
44379
44392
  await fs2.writeFile(ssrDepsFile, ssrDepsContent, "utf-8");
44380
44393
  }
44381
- await fs2.writeFile(rawServerFile, rewritten, "utf-8");
44394
+ await traceAngularPhase("wrapper/write-server-output", () => fs2.writeFile(rawServerFile, rewritten, "utf-8"), { entry: resolvedEntry });
44382
44395
  const relativePath = relative9(indexesDir, rawServerFile).replace(/\\/g, "/");
44383
44396
  const normalizedImportPath = relativePath.startsWith(".") ? relativePath : `./${relativePath}`;
44384
44397
  const hmrPreamble = hmr ? `window.__HMR_FRAMEWORK__ = "angular";
@@ -44557,7 +44570,7 @@ if (pageHasRawStreamingSlots) {
44557
44570
  `.trim();
44558
44571
  const indexHash = Bun.hash(hydration).toString(BASE_36_RADIX);
44559
44572
  const indexUnchanged = cachedWrapper?.indexHash === indexHash;
44560
- await fs2.writeFile(clientFile, hydration, "utf-8");
44573
+ await traceAngularPhase("wrapper/write-client-index", () => fs2.writeFile(clientFile, hydration, "utf-8"), { entry: resolvedEntry });
44561
44574
  wrapperOutputCache.set(resolvedEntry, {
44562
44575
  indexHash,
44563
44576
  serverHash: serverContentHash
@@ -44568,9 +44581,11 @@ if (pageHasRawStreamingSlots) {
44568
44581
  serverPath: rawServerFile
44569
44582
  };
44570
44583
  });
44571
- const results = await Promise.all(compileTasks);
44572
- const serverPaths = results.map((r) => r.serverPath);
44573
- const clientPaths = results.map((r) => r.clientPath);
44584
+ const results = await traceAngularPhase("wrapper/process-entries", () => Promise.all(compileTasks), { entries: entryPoints.length });
44585
+ const { clientPaths, serverPaths } = await traceAngularPhase("wrapper/collect-paths", () => ({
44586
+ clientPaths: results.map((r) => r.clientPath),
44587
+ serverPaths: results.map((r) => r.serverPath)
44588
+ }), { entries: results.length });
44574
44589
  return {
44575
44590
  allIndexesUnchanged: hmr && results.every((r) => r.indexUnchanged),
44576
44591
  clientPaths,
@@ -45436,6 +45451,15 @@ ${content.slice(firstUseIdx)}`;
45436
45451
  const traceEnabled = isBuildTraceEnabled();
45437
45452
  const traceEvents = [];
45438
45453
  let traceFrameworkNames = [];
45454
+ const traceGlobal = globalThis;
45455
+ const previousTracePhase = traceGlobal.__absoluteBuildTracePhase;
45456
+ const restoreTracePhase = () => {
45457
+ if (previousTracePhase) {
45458
+ traceGlobal.__absoluteBuildTracePhase = previousTracePhase;
45459
+ } else {
45460
+ delete traceGlobal.__absoluteBuildTracePhase;
45461
+ }
45462
+ };
45439
45463
  const tracePhase = async (name, fn, metadata) => {
45440
45464
  if (!traceEnabled)
45441
45465
  return await fn();
@@ -45464,9 +45488,14 @@ ${content.slice(firstUseIdx)}`;
45464
45488
  throw error;
45465
45489
  }
45466
45490
  };
45491
+ if (traceEnabled) {
45492
+ traceGlobal.__absoluteBuildTracePhase = tracePhase;
45493
+ }
45467
45494
  const writeBuildTrace = (buildPath2) => {
45468
- if (!traceEnabled)
45495
+ if (!traceEnabled) {
45496
+ restoreTracePhase();
45469
45497
  return;
45498
+ }
45470
45499
  const traceDir = join20(buildPath2, ".absolute-trace");
45471
45500
  const timestamp = new Date().toISOString().replace(/[:.]/g, "-");
45472
45501
  mkdirSync10(traceDir, { recursive: true });
@@ -45478,6 +45507,7 @@ ${content.slice(firstUseIdx)}`;
45478
45507
  totalDurationMs: performance.now() - buildStart,
45479
45508
  version: 1
45480
45509
  }, null, 2));
45510
+ restoreTracePhase();
45481
45511
  };
45482
45512
  await tracePhase("absolute/version", () => resolveAbsoluteVersion());
45483
45513
  const isIncremental = incrementalFiles && incrementalFiles.length > 0;
@@ -50185,5 +50215,5 @@ export {
50185
50215
  build
50186
50216
  };
50187
50217
 
50188
- //# debugId=144672485F2A6C2364756E2164756E21
50218
+ //# debugId=ECE7852F36128E8064756E2164756E21
50189
50219
  //# sourceMappingURL=build.js.map