@absolutejs/absolute 0.20.0-beta.106 → 0.20.0-beta.108

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
@@ -17403,9 +17403,33 @@ var init_islandRegistryTransform = __esm(() => {
17403
17403
  ];
17404
17404
  });
17405
17405
 
17406
+ // src/build/vueModuleOutputPath.ts
17407
+ import { isAbsolute as isAbsolute5, join as join31, parse as parse2, relative as relative11, resolve as resolve25, sep as sep3 } from "path";
17408
+ var vueModuleOutputPath = (outputDir, sourcePath) => {
17409
+ const absolutePath = resolve25(sourcePath);
17410
+ const { root } = parse2(absolutePath);
17411
+ return join31(outputDir, "sources", encodeURIComponent(root), relative11(root, absolutePath).replace(/\.(vue|ts)$/, ".js"));
17412
+ }, vueModuleSourcePath = (outputDir, outputPath) => {
17413
+ const within = relative11(outputDir, outputPath);
17414
+ if (isAbsolute5(within) || within === ".." || within.startsWith(`..${sep3}`))
17415
+ return null;
17416
+ const [namespace, encodedRoot, ...parts] = within.split(sep3);
17417
+ if (namespace !== "sources" || !encodedRoot || !parts.length)
17418
+ return null;
17419
+ try {
17420
+ const root = decodeURIComponent(encodedRoot);
17421
+ if (parse2(root).root !== root || !isAbsolute5(root))
17422
+ return null;
17423
+ return join31(root, ...parts);
17424
+ } catch {
17425
+ return null;
17426
+ }
17427
+ };
17428
+ var init_vueModuleOutputPath = () => {};
17429
+
17406
17430
  // src/build/injectVueComposableTracking.ts
17407
17431
  import { existsSync as existsSync26, readFileSync as readFileSync21, writeFileSync as writeFileSync7 } from "fs";
17408
- import { basename as basename11, isAbsolute as isAbsolute5, relative as relative11, resolve as resolve25 } from "path";
17432
+ import { basename as basename11, isAbsolute as isAbsolute6, relative as relative12, resolve as resolve26 } from "path";
17409
17433
  var VUE_HMR_RUNTIME, USE_DECLARATION, MODULE_COMMENT, LINE_TERMINATOR, STATEMENT_OPENER, SOURCE_EXTENSIONS2, CHUNK_REFERENCE, isSharedChunkFile = (fileName) => fileName.startsWith("chunk-") && fileName.endsWith(".js"), collectModuleComments = (content) => Array.from(content.matchAll(MODULE_COMMENT), (match) => ({
17410
17434
  index: match.index,
17411
17435
  path: match[1] ?? ""
@@ -17507,20 +17531,23 @@ var VUE_HMR_RUNTIME, USE_DECLARATION, MODULE_COMMENT, LINE_TERMINATOR, STATEMENT
17507
17531
  return restore(`${wrapped.slice(0, insertAt)}${VUE_HMR_RUNTIME}
17508
17532
  ${wrapped.slice(insertAt)}`);
17509
17533
  }, isSharedChunkPath = (path2) => isSharedChunkFile(basename11(path2)), resolveVueComposableModuleId = (commentPath, options) => {
17510
- const absolutePath = resolve25(options.projectRoot, commentPath);
17534
+ const absolutePath = resolve26(options.projectRoot, commentPath);
17511
17535
  const { vueDir, generatedVueDir } = options;
17512
17536
  if (!vueDir || !generatedVueDir)
17513
17537
  return absolutePath;
17514
- const withinGenerated = relative11(generatedVueDir, absolutePath);
17515
- if (withinGenerated === "" || withinGenerated.startsWith("..") || isAbsolute5(withinGenerated)) {
17538
+ const withinGenerated = relative12(generatedVueDir, absolutePath);
17539
+ if (withinGenerated === "" || withinGenerated.startsWith("..") || isAbsolute6(withinGenerated)) {
17516
17540
  return absolutePath;
17517
17541
  }
17518
- const fromClientDir = relative11(resolve25(generatedVueDir, "client"), absolutePath);
17519
- const stem = resolve25(vueDir, fromClientDir).replace(/\.[cm]?js$/, "");
17542
+ const sourcePath = vueModuleSourcePath(resolve26(generatedVueDir, "client"), absolutePath);
17543
+ if (!sourcePath)
17544
+ return absolutePath;
17545
+ const stem = sourcePath.replace(/\.[cm]?js$/, "");
17520
17546
  const existing = SOURCE_EXTENSIONS2.map((extension) => `${stem}${extension}`).find((candidate) => existsSync26(candidate));
17521
17547
  return existing ?? `${stem}.ts`;
17522
17548
  };
17523
17549
  var init_injectVueComposableTracking = __esm(() => {
17550
+ init_vueModuleOutputPath();
17524
17551
  init_constants();
17525
17552
  init_maskLiterals();
17526
17553
  VUE_HMR_RUNTIME = [
@@ -17558,7 +17585,7 @@ __export(exports_hmrInjectionPlugin, {
17558
17585
  createAngularHmrInjectionPlugin: () => createAngularHmrInjectionPlugin
17559
17586
  });
17560
17587
  import { readFile as readFile7 } from "fs/promises";
17561
- import { relative as relative12, resolve as resolve26 } from "path";
17588
+ import { relative as relative13, resolve as resolve27 } from "path";
17562
17589
  var ENTITY_DECORATOR_RE, IMPORT_RE, TOP_LEVEL_DECL_RE, extractAllTopLevelNames = (jsSource) => {
17563
17590
  const names = new Set;
17564
17591
  IMPORT_RE.lastIndex = 0;
@@ -17737,7 +17764,7 @@ var ENTITY_DECORATOR_RE, IMPORT_RE, TOP_LEVEL_DECL_RE, extractAllTopLevelNames =
17737
17764
  }
17738
17765
  `, applyAngularHmrInjection = (jsSource, componentJsAbsPath, params) => {
17739
17766
  const { generatedAngularRoot, userAngularRoot, projectRoot } = params;
17740
- const normalizedGenRoot = resolve26(generatedAngularRoot).replace(/\\/g, "/");
17767
+ const normalizedGenRoot = resolve27(generatedAngularRoot).replace(/\\/g, "/");
17741
17768
  const normalizedPath = componentJsAbsPath.replace(/\\/g, "/");
17742
17769
  if (!normalizedPath.startsWith(`${normalizedGenRoot}/`))
17743
17770
  return;
@@ -17754,9 +17781,9 @@ var ENTITY_DECORATOR_RE, IMPORT_RE, TOP_LEVEL_DECL_RE, extractAllTopLevelNames =
17754
17781
  }
17755
17782
  if (classNames.length === 0)
17756
17783
  return;
17757
- const relFromGenRoot = relative12(generatedAngularRoot, componentJsAbsPath).replace(/\\/g, "/");
17758
- const userTsPath = resolve26(userAngularRoot, relFromGenRoot.replace(/\.js$/, ".ts"));
17759
- const projectRel = relative12(projectRoot, userTsPath).replace(/\\/g, "/");
17784
+ const relFromGenRoot = relative13(generatedAngularRoot, componentJsAbsPath).replace(/\\/g, "/");
17785
+ const userTsPath = resolve27(userAngularRoot, relFromGenRoot.replace(/\.js$/, ".ts"));
17786
+ const projectRel = relative13(projectRoot, userTsPath).replace(/\\/g, "/");
17760
17787
  const tail = classNames.map((className) => {
17761
17788
  const id = `${projectRel}@${className}`;
17762
17789
  return buildHmrTail(className, JSON.stringify(id));
@@ -17790,17 +17817,17 @@ var init_hmrInjectionPlugin = __esm(() => {
17790
17817
 
17791
17818
  // src/utils/cleanStaleOutputs.ts
17792
17819
  import { rm as rm4 } from "fs/promises";
17793
- import { resolve as resolve27 } from "path";
17820
+ import { resolve as resolve28 } from "path";
17794
17821
  var {Glob: Glob5 } = globalThis.Bun;
17795
17822
  var HASHED_FILE_PATTERN, ROOT_CHUNK_PATTERN, isContentAddressedOutput = (relativePath) => HASHED_FILE_PATTERN.test(relativePath) || ROOT_CHUNK_PATTERN.test(relativePath), cleanStaleOutputs = async (buildPath, currentOutputPaths) => {
17796
- const currentPaths = new Set(currentOutputPaths.map((path2) => resolve27(path2)));
17823
+ const currentPaths = new Set(currentOutputPaths.map((path2) => resolve28(path2)));
17797
17824
  const glob = new Glob5("**/*");
17798
17825
  const removals = [];
17799
- for (const relative13 of glob.scanSync({ cwd: buildPath })) {
17800
- const absolute = resolve27(buildPath, relative13);
17826
+ for (const relative14 of glob.scanSync({ cwd: buildPath })) {
17827
+ const absolute = resolve28(buildPath, relative14);
17801
17828
  if (currentPaths.has(absolute))
17802
17829
  continue;
17803
- if (!isContentAddressedOutput(relative13))
17830
+ if (!isContentAddressedOutput(relative14))
17804
17831
  continue;
17805
17832
  removals.push(rm4(absolute, { force: true }));
17806
17833
  }
@@ -17817,13 +17844,13 @@ __export(exports_generatedDir, {
17817
17844
  getFrameworkGeneratedDir: () => getFrameworkGeneratedDir,
17818
17845
  getGeneratedRoot: () => getGeneratedRoot
17819
17846
  });
17820
- import { join as join31 } from "path";
17821
- var GENERATED_DIR_NAME = "generated", ABSOLUTE_CACHE_DIR_NAME = ".absolutejs", getFrameworkGeneratedDir = (framework, projectRoot = process.cwd()) => join31(getGeneratedRoot(projectRoot), framework), getGeneratedRoot = (projectRoot = process.cwd()) => join31(projectRoot, ABSOLUTE_CACHE_DIR_NAME, GENERATED_DIR_NAME);
17847
+ import { join as join32 } from "path";
17848
+ var GENERATED_DIR_NAME = "generated", ABSOLUTE_CACHE_DIR_NAME = ".absolutejs", getFrameworkGeneratedDir = (framework, projectRoot = process.cwd()) => join32(getGeneratedRoot(projectRoot), framework), getGeneratedRoot = (projectRoot = process.cwd()) => join32(projectRoot, ABSOLUTE_CACHE_DIR_NAME, GENERATED_DIR_NAME);
17822
17849
  var init_generatedDir = () => {};
17823
17850
 
17824
17851
  // src/utils/cleanup.ts
17825
17852
  import { lstat, rm as rm5 } from "fs/promises";
17826
- import { join as join32 } from "path";
17853
+ import { join as join33 } from "path";
17827
17854
  var isNotFoundError = (error) => error instanceof Error && ("code" in error) && Reflect.get(error, "code") === "ENOENT", removeIfExists = async (path2) => {
17828
17855
  try {
17829
17856
  await lstat(path2);
@@ -17840,9 +17867,9 @@ var isNotFoundError = (error) => error instanceof Error && ("code" in error) &&
17840
17867
  }
17841
17868
  if (!frameworkDir)
17842
17869
  return Promise.all(tasks);
17843
- tasks.push(removeIfExists(join32(frameworkDir, "generated")));
17870
+ tasks.push(removeIfExists(join33(frameworkDir, "generated")));
17844
17871
  if (framework === "angular") {
17845
- tasks.push(removeIfExists(join32(frameworkDir, "compiled")), removeIfExists(join32(frameworkDir, "indexes")));
17872
+ tasks.push(removeIfExists(join33(frameworkDir, "compiled")), removeIfExists(join33(frameworkDir, "indexes")));
17846
17873
  }
17847
17874
  return Promise.all(tasks);
17848
17875
  }, cleanup = async ({
@@ -17889,7 +17916,7 @@ var init_commonAncestor = () => {};
17889
17916
 
17890
17917
  // src/utils/buildDirectoryLock.ts
17891
17918
  import { mkdirSync as mkdirSync7, unlinkSync, writeFileSync as writeFileSync8, readFileSync as readFileSync22 } from "fs";
17892
- import { dirname as dirname17, join as join33 } from "path";
17919
+ import { dirname as dirname17, join as join34 } from "path";
17893
17920
  var heldLocks, HELD_LOCKS_ENV = "ABSOLUTE_HELD_BUILD_DIRECTORY_LOCKS", exitHandlersRegistered = false, registerExitHandlersOnce = () => {
17894
17921
  if (exitHandlersRegistered)
17895
17922
  return;
@@ -17916,7 +17943,7 @@ var heldLocks, HELD_LOCKS_ENV = "ABSOLUTE_HELD_BUILD_DIRECTORY_LOCKS", exitHandl
17916
17943
  console.error(err);
17917
17944
  process.exit(1);
17918
17945
  });
17919
- }, isAlreadyExistsError = (error) => error instanceof Error && ("code" in error) && Reflect.get(error, "code") === "EEXIST", lockPathForBuildDirectory = (buildDirectory) => join33(dirname17(buildDirectory), ".absolutejs", "build.lock"), readHeldLockEnv = () => new Set((process.env[HELD_LOCKS_ENV] ?? "").split(`
17946
+ }, isAlreadyExistsError = (error) => error instanceof Error && ("code" in error) && Reflect.get(error, "code") === "EEXIST", lockPathForBuildDirectory = (buildDirectory) => join34(dirname17(buildDirectory), ".absolutejs", "build.lock"), readHeldLockEnv = () => new Set((process.env[HELD_LOCKS_ENV] ?? "").split(`
17920
17947
  `).filter((entry) => entry.length > 0)), writeHeldLockEnv = (locks) => {
17921
17948
  if (locks.size === 0) {
17922
17949
  delete process.env[HELD_LOCKS_ENV];
@@ -18053,11 +18080,11 @@ var init_buildDirectoryLock = __esm(() => {
18053
18080
  });
18054
18081
 
18055
18082
  // src/utils/validateSafePath.ts
18056
- import { resolve as resolve28, relative as relative13 } from "path";
18083
+ import { resolve as resolve29, relative as relative14 } from "path";
18057
18084
  var validateSafePath = (targetPath, baseDirectory) => {
18058
- const absoluteBase = resolve28(baseDirectory);
18059
- const absoluteTarget = resolve28(baseDirectory, targetPath);
18060
- const relativePath = normalizePath2(relative13(absoluteBase, absoluteTarget));
18085
+ const absoluteBase = resolve29(baseDirectory);
18086
+ const absoluteTarget = resolve29(baseDirectory, targetPath);
18087
+ const relativePath = normalizePath2(relative14(absoluteBase, absoluteTarget));
18061
18088
  if (relativePath.startsWith("../") || relativePath === "..") {
18062
18089
  throw new Error(`Unsafe path: ${targetPath}`);
18063
18090
  }
@@ -18073,7 +18100,7 @@ var isTestSourcePath = (file2) => {
18073
18100
 
18074
18101
  // src/build/pwa.ts
18075
18102
  import { mkdir as mkdir7, rm as rm6, writeFile as writeFile7 } from "fs/promises";
18076
- import { dirname as dirname18, join as join34 } from "path";
18103
+ import { dirname as dirname18, join as join35 } from "path";
18077
18104
  var BOOTSTRAP_PUBLIC_PATH = "/__absolute/pwa/bootstrap.js", BOOTSTRAP_MARKER = "data-absolute-pwa", publicFilePath = (value, fallback, field) => {
18078
18105
  const input = value ?? fallback;
18079
18106
  if (!input.startsWith("/") || input.startsWith("//")) {
@@ -18100,7 +18127,7 @@ var BOOTSTRAP_PUBLIC_PATH = "/__absolute/pwa/bootstrap.js", BOOTSTRAP_MARKER = "
18100
18127
  }
18101
18128
  }
18102
18129
  return url.pathname;
18103
- }, destinationFor = (buildPath, publicPath) => join34(buildPath, ...publicPath.split("/").filter(Boolean)), bootstrapEntrySource = ({
18130
+ }, destinationFor = (buildPath, publicPath) => join35(buildPath, ...publicPath.split("/").filter(Boolean)), bootstrapEntrySource = ({
18104
18131
  clientModule,
18105
18132
  manifestPath,
18106
18133
  push,
@@ -18177,8 +18204,8 @@ ${push ? `,
18177
18204
  await writeFile7(manifestDestination, `${JSON.stringify(createWebAppManifest(manifestConfig), null, "\t")}
18178
18205
  `);
18179
18206
  }
18180
- const generatedDirectory = join34(generatedRoot, "pwa");
18181
- const bootstrapEntry = join34(generatedDirectory, "bootstrap.ts");
18207
+ const generatedDirectory = join35(generatedRoot, "pwa");
18208
+ const bootstrapEntry = join35(generatedDirectory, "bootstrap.ts");
18182
18209
  const clientModule = Bun.resolveSync("@absolutejs/pwa/client", import.meta.dir);
18183
18210
  await mkdir7(generatedDirectory, { recursive: true });
18184
18211
  await writeFile7(bootstrapEntry, bootstrapEntrySource({
@@ -18933,7 +18960,7 @@ __export(exports_fastHmrCompiler, {
18933
18960
  tryFastHmr: () => tryFastHmr
18934
18961
  });
18935
18962
  import { existsSync as existsSync27, readFileSync as readFileSync23, statSync as statSync3 } from "fs";
18936
- import { dirname as dirname19, extname as extname10, relative as relative14, resolve as resolve29 } from "path";
18963
+ import { dirname as dirname19, extname as extname10, relative as relative15, resolve as resolve30 } from "path";
18937
18964
  import ts12 from "typescript";
18938
18965
  var fail = (reason, detail, location) => ({
18939
18966
  detail,
@@ -19045,7 +19072,7 @@ var fail = (reason, detail, location) => ({
19045
19072
  const decoratorName = findAngularDecoratorName(decorators);
19046
19073
  if (!decoratorName)
19047
19074
  continue;
19048
- const projectRel = relative14(process.cwd(), componentFilePath).replace(/\\/g, "/");
19075
+ const projectRel = relative15(process.cwd(), componentFilePath).replace(/\\/g, "/");
19049
19076
  const id = encodeURIComponent(`${projectRel}@${className}`);
19050
19077
  if (decoratorName === "Component") {
19051
19078
  const componentDecorator = decorators.find((d2) => {
@@ -19248,7 +19275,7 @@ var fail = (reason, detail, location) => ({
19248
19275
  if (!spec.startsWith(".") && !spec.startsWith("/")) {
19249
19276
  return true;
19250
19277
  }
19251
- const base = resolve29(componentDir, spec);
19278
+ const base = resolve30(componentDir, spec);
19252
19279
  const candidates = [
19253
19280
  `${base}.ts`,
19254
19281
  `${base}.tsx`,
@@ -20064,7 +20091,7 @@ var fail = (reason, detail, location) => ({
20064
20091
  return null;
20065
20092
  }, resolveDtsFromSpec = (spec, fromDir) => {
20066
20093
  const stripped = spec.replace(/\.[mc]?js$/, "");
20067
- const base = resolve29(fromDir, stripped);
20094
+ const base = resolve30(fromDir, stripped);
20068
20095
  const candidates = [
20069
20096
  `${base}.d.ts`,
20070
20097
  `${base}.d.mts`,
@@ -20088,7 +20115,7 @@ var fail = (reason, detail, location) => ({
20088
20115
  return null;
20089
20116
  }, resolveChildComponentInfo = (className, spec, componentDir, projectRoot) => {
20090
20117
  if (spec.startsWith(".") || spec.startsWith("/")) {
20091
- const base = resolve29(componentDir, spec);
20118
+ const base = resolve30(componentDir, spec);
20092
20119
  const candidates = [
20093
20120
  `${base}.ts`,
20094
20121
  `${base}.tsx`,
@@ -20307,13 +20334,13 @@ var fail = (reason, detail, location) => ({
20307
20334
  }
20308
20335
  if (!matches)
20309
20336
  continue;
20310
- const resolved = resolve29(componentDir, spec);
20337
+ const resolved = resolve30(componentDir, spec);
20311
20338
  for (const ext of TS_EXTENSIONS) {
20312
20339
  const candidate = resolved + ext;
20313
20340
  if (existsSync27(candidate))
20314
20341
  return candidate;
20315
20342
  }
20316
- const indexCandidate = resolve29(resolved, "index.ts");
20343
+ const indexCandidate = resolve30(resolved, "index.ts");
20317
20344
  if (existsSync27(indexCandidate))
20318
20345
  return indexCandidate;
20319
20346
  }
@@ -20551,7 +20578,7 @@ ${transpiled}
20551
20578
  }
20552
20579
  }${staticPatch}`;
20553
20580
  }, STYLE_PREPROCESSED_EXT, resolveAndReadStyleResource = (componentDir, url) => {
20554
- const abs = resolve29(componentDir, url);
20581
+ const abs = resolve30(componentDir, url);
20555
20582
  if (!existsSync27(abs))
20556
20583
  return null;
20557
20584
  const ext = extname10(abs).toLowerCase();
@@ -20590,7 +20617,7 @@ ${block}
20590
20617
  const cached = projectOptionsCache.get(projectRoot);
20591
20618
  if (cached !== undefined)
20592
20619
  return cached;
20593
- const tsconfigPath = resolve29(projectRoot, "tsconfig.json");
20620
+ const tsconfigPath = resolve30(projectRoot, "tsconfig.json");
20594
20621
  const opts = {};
20595
20622
  if (existsSync27(tsconfigPath)) {
20596
20623
  try {
@@ -20636,7 +20663,7 @@ ${block}
20636
20663
  }
20637
20664
  const kind = params.kind ?? "component";
20638
20665
  if (kind !== "component") {
20639
- const entityId = encodeURIComponent(`${relative14(projectRoot, componentFilePath).replace(/\\/g, "/")}@${className}`);
20666
+ const entityId = encodeURIComponent(`${relative15(projectRoot, componentFilePath).replace(/\\/g, "/")}@${className}`);
20640
20667
  const currentEntityFingerprint = extractEntityFingerprint(classNode, className, sourceFile);
20641
20668
  const cachedEntityFingerprint = entityFingerprintCache.get(entityId);
20642
20669
  if (cachedEntityFingerprint !== undefined && !entityFingerprintsEqual(cachedEntityFingerprint, currentEntityFingerprint)) {
@@ -20674,7 +20701,7 @@ ${block}
20674
20701
  templateText = decoratorMeta.template;
20675
20702
  templatePath = componentFilePath;
20676
20703
  } else if (decoratorMeta.templateUrl) {
20677
- const tplAbs = resolve29(componentDir, decoratorMeta.templateUrl);
20704
+ const tplAbs = resolve30(componentDir, decoratorMeta.templateUrl);
20678
20705
  if (!existsSync27(tplAbs)) {
20679
20706
  return fail("template-resource-not-found", `Template file not found: ${tplAbs}`, { file: componentFilePath });
20680
20707
  }
@@ -20720,7 +20747,7 @@ ${block}
20720
20747
  return fail("class-not-found", "anonymous class");
20721
20748
  const wrappedClass = new compiler.WrappedNodeExpr(className_);
20722
20749
  const { inputs, outputs, hasDecoratorIO, hasSignalIO } = extractInputsAndOutputs(classNode, compiler);
20723
- const projectRelPath = relative14(projectRoot, componentFilePath).replace(/\\/g, "/");
20750
+ const projectRelPath = relative15(projectRoot, componentFilePath).replace(/\\/g, "/");
20724
20751
  const fingerprintId = encodeURIComponent(`${projectRelPath}@${className}`);
20725
20752
  const currentFingerprint = extractFingerprint(classNode, className, decoratorMeta, inputs, outputs, sourceFile, componentDir);
20726
20753
  const cachedFingerprint = fingerprintCache.get(fingerprintId);
@@ -21003,7 +21030,7 @@ __export(exports_scanVueSsrOnlyPages, {
21003
21030
  scanVueSsrOnlyPages: () => scanVueSsrOnlyPages
21004
21031
  });
21005
21032
  import { readdirSync as readdirSync3, readFileSync as readFileSync24 } from "fs";
21006
- import { join as join35 } from "path";
21033
+ import { join as join36 } from "path";
21007
21034
  import ts13 from "typescript";
21008
21035
  var SKIP_DIRS2, SOURCE_EXTENSIONS3, getScriptKind3 = (filePath) => {
21009
21036
  if (filePath.endsWith(".tsx"))
@@ -21036,9 +21063,9 @@ var SKIP_DIRS2, SOURCE_EXTENSIONS3, getScriptKind3 = (filePath) => {
21036
21063
  continue;
21037
21064
  if (entry.name.startsWith("."))
21038
21065
  continue;
21039
- stack.push(join35(dir, entry.name));
21066
+ stack.push(join36(dir, entry.name));
21040
21067
  } else if (entry.isFile() && hasSourceExtension2(entry.name)) {
21041
- out.push(join35(dir, entry.name));
21068
+ out.push(join36(dir, entry.name));
21042
21069
  }
21043
21070
  }
21044
21071
  }
@@ -21158,7 +21185,7 @@ var init_scanVueSsrOnlyPages = __esm(() => {
21158
21185
 
21159
21186
  // src/build/scanAngularHandlerCalls.ts
21160
21187
  import { readdirSync as readdirSync4, readFileSync as readFileSync25 } from "fs";
21161
- import { join as join36 } from "path";
21188
+ import { join as join37 } from "path";
21162
21189
  import ts14 from "typescript";
21163
21190
  var ELYSIA_ROUTE_METHODS2, SKIP_DIRS3, SOURCE_EXTENSIONS4, SERVER_ENTRY_COPY_PREFIX = ".absolutejs-hmr-", getScriptKind4 = (filePath) => {
21164
21191
  if (filePath.endsWith(".tsx"))
@@ -21191,9 +21218,9 @@ var ELYSIA_ROUTE_METHODS2, SKIP_DIRS3, SOURCE_EXTENSIONS4, SERVER_ENTRY_COPY_PRE
21191
21218
  continue;
21192
21219
  if (entry.name.startsWith("."))
21193
21220
  continue;
21194
- stack.push(join36(dir, entry.name));
21221
+ stack.push(join37(dir, entry.name));
21195
21222
  } else if (entry.isFile() && !entry.name.startsWith(SERVER_ENTRY_COPY_PREFIX) && hasSourceExtension3(entry.name)) {
21196
- out.push(join36(dir, entry.name));
21223
+ out.push(join37(dir, entry.name));
21197
21224
  }
21198
21225
  }
21199
21226
  }
@@ -21308,7 +21335,7 @@ var init_scanAngularHandlerCalls = __esm(() => {
21308
21335
 
21309
21336
  // src/build/scanAngularPageRoutes.ts
21310
21337
  import { readdirSync as readdirSync5, readFileSync as readFileSync26 } from "fs";
21311
- import { basename as basename12, join as join37 } from "path";
21338
+ import { basename as basename12, join as join38 } from "path";
21312
21339
  import ts15 from "typescript";
21313
21340
  var SOURCE_EXTENSIONS5, SKIP_DIRS4, hasSourceExtension4 = (filePath) => {
21314
21341
  const idx = filePath.lastIndexOf(".");
@@ -21348,9 +21375,9 @@ var SOURCE_EXTENSIONS5, SKIP_DIRS4, hasSourceExtension4 = (filePath) => {
21348
21375
  continue;
21349
21376
  if (entry.name.startsWith("."))
21350
21377
  continue;
21351
- stack.push(join37(dir, entry.name));
21378
+ stack.push(join38(dir, entry.name));
21352
21379
  } else if (entry.isFile() && isPageFile(entry.name)) {
21353
- out.push(join37(dir, entry.name));
21380
+ out.push(join38(dir, entry.name));
21354
21381
  }
21355
21382
  }
21356
21383
  }
@@ -21427,7 +21454,7 @@ __export(exports_parseAngularConfigImports, {
21427
21454
  parseAngularProvidersImport: () => parseAngularProvidersImport
21428
21455
  });
21429
21456
  import { existsSync as existsSync28, readFileSync as readFileSync27 } from "fs";
21430
- import { dirname as dirname20, isAbsolute as isAbsolute6, join as join38 } from "path";
21457
+ import { dirname as dirname20, isAbsolute as isAbsolute7, join as join39 } from "path";
21431
21458
  import ts16 from "typescript";
21432
21459
  var findDefineConfigCall = (sf) => {
21433
21460
  let result = null;
@@ -21482,15 +21509,15 @@ var findDefineConfigCall = (sf) => {
21482
21509
  }, resolveConfigPath = (projectRoot) => {
21483
21510
  const envOverride = process.env.ABSOLUTE_CONFIG;
21484
21511
  if (envOverride) {
21485
- const resolved = isAbsolute6(envOverride) ? envOverride : join38(projectRoot, envOverride);
21512
+ const resolved = isAbsolute7(envOverride) ? envOverride : join39(projectRoot, envOverride);
21486
21513
  if (existsSync28(resolved))
21487
21514
  return resolved;
21488
21515
  }
21489
21516
  const candidates = [
21490
- join38(projectRoot, "absolute.config.ts"),
21491
- join38(projectRoot, "absolute.config.mts"),
21492
- join38(projectRoot, "absolute.config.js"),
21493
- join38(projectRoot, "absolute.config.mjs")
21517
+ join39(projectRoot, "absolute.config.ts"),
21518
+ join39(projectRoot, "absolute.config.mts"),
21519
+ join39(projectRoot, "absolute.config.js"),
21520
+ join39(projectRoot, "absolute.config.mjs")
21494
21521
  ];
21495
21522
  for (const candidate of candidates) {
21496
21523
  if (existsSync28(candidate))
@@ -21523,7 +21550,7 @@ var findDefineConfigCall = (sf) => {
21523
21550
  if (!importInfo)
21524
21551
  return null;
21525
21552
  const configDir2 = dirname20(configPath2);
21526
- const absolutePath = importInfo.source.startsWith(".") ? join38(configDir2, importInfo.source).replace(/\.[cm]?[tj]sx?$/, "") : isAbsolute6(importInfo.source) ? importInfo.source.replace(/\.[cm]?[tj]sx?$/, "") : importInfo.source;
21553
+ const absolutePath = importInfo.source.startsWith(".") ? join39(configDir2, importInfo.source).replace(/\.[cm]?[tj]sx?$/, "") : isAbsolute7(importInfo.source) ? importInfo.source.replace(/\.[cm]?[tj]sx?$/, "") : importInfo.source;
21527
21554
  return {
21528
21555
  absolutePath,
21529
21556
  bindingName: binding,
@@ -21598,25 +21625,25 @@ import { existsSync as existsSync29 } from "fs";
21598
21625
  import { mkdir as mkdir8, stat as stat3 } from "fs/promises";
21599
21626
  import {
21600
21627
  dirname as dirname21,
21601
- join as join39,
21628
+ join as join40,
21602
21629
  basename as basename13,
21603
21630
  extname as extname11,
21604
- resolve as resolve30,
21605
- relative as relative15,
21606
- sep as sep3
21631
+ resolve as resolve31,
21632
+ relative as relative16,
21633
+ sep as sep4
21607
21634
  } from "path";
21608
21635
  import { env as env2 } from "process";
21609
21636
  var {write: write2, file: file2, Transpiler: Transpiler2 } = globalThis.Bun;
21610
21637
  var resolveDevClientDir2 = () => {
21611
21638
  const projectRoot = process.cwd();
21612
- const fromSource = resolve30(import.meta.dir, "../dev/client");
21639
+ const fromSource = resolve31(import.meta.dir, "../dev/client");
21613
21640
  if (existsSync29(fromSource) && fromSource.startsWith(projectRoot)) {
21614
21641
  return fromSource;
21615
21642
  }
21616
- const fromNodeModules = resolve30(projectRoot, "node_modules/@absolutejs/absolute/dist/dev/client");
21643
+ const fromNodeModules = resolve31(projectRoot, "node_modules/@absolutejs/absolute/dist/dev/client");
21617
21644
  if (existsSync29(fromNodeModules))
21618
21645
  return fromNodeModules;
21619
- return resolve30(import.meta.dir, "./dev/client");
21646
+ return resolve31(import.meta.dir, "./dev/client");
21620
21647
  }, devClientDir2, hmrClientPath3, persistentCache, sourceHashCache, clearSvelteCompilerCache = () => {
21621
21648
  persistentCache.clear();
21622
21649
  sourceHashCache.clear();
@@ -21646,7 +21673,7 @@ var resolveDevClientDir2 = () => {
21646
21673
  }, resolveRelativeModule2 = async (spec, from) => {
21647
21674
  if (!spec.startsWith("."))
21648
21675
  return null;
21649
- const basePath = resolve30(dirname21(from), spec);
21676
+ const basePath = resolve31(dirname21(from), spec);
21650
21677
  const candidates = [
21651
21678
  basePath,
21652
21679
  `${basePath}.ts`,
@@ -21657,14 +21684,14 @@ var resolveDevClientDir2 = () => {
21657
21684
  `${basePath}.svelte`,
21658
21685
  `${basePath}.svelte.ts`,
21659
21686
  `${basePath}.svelte.js`,
21660
- join39(basePath, "index.ts"),
21661
- join39(basePath, "index.js"),
21662
- join39(basePath, "index.mjs"),
21663
- join39(basePath, "index.cjs"),
21664
- join39(basePath, "index.json"),
21665
- join39(basePath, "index.svelte"),
21666
- join39(basePath, "index.svelte.ts"),
21667
- join39(basePath, "index.svelte.js")
21687
+ join40(basePath, "index.ts"),
21688
+ join40(basePath, "index.js"),
21689
+ join40(basePath, "index.mjs"),
21690
+ join40(basePath, "index.cjs"),
21691
+ join40(basePath, "index.json"),
21692
+ join40(basePath, "index.svelte"),
21693
+ join40(basePath, "index.svelte.ts"),
21694
+ join40(basePath, "index.svelte.js")
21668
21695
  ];
21669
21696
  const checks = await Promise.all(candidates.map(exists2));
21670
21697
  return candidates.find((_2, index) => checks[index]) ?? null;
@@ -21673,7 +21700,7 @@ var resolveDevClientDir2 = () => {
21673
21700
  const resolved = resolvePackageImport(spec);
21674
21701
  return resolved && /\.svelte(\.(?:ts|js))?$/.test(resolved) ? resolved : null;
21675
21702
  }
21676
- const basePath = resolve30(dirname21(from), spec);
21703
+ const basePath = resolve31(dirname21(from), spec);
21677
21704
  const explicit = /\.(svelte|svelte\.(?:ts|js))$/.test(basePath);
21678
21705
  if (!explicit) {
21679
21706
  const extensions = [".svelte", ".svelte.ts", ".svelte.js"];
@@ -21694,8 +21721,8 @@ var resolveDevClientDir2 = () => {
21694
21721
  return jsPath;
21695
21722
  return null;
21696
21723
  }, addModuleRewrite = (rewrites, rawSpec, resolvedModule, ssrOutputDir, clientOutputDir) => {
21697
- const toServer = relative15(ssrOutputDir, resolvedModule).replace(/\\/g, "/");
21698
- const toClient = relative15(clientOutputDir, resolvedModule).replace(/\\/g, "/");
21724
+ const toServer = relative16(ssrOutputDir, resolvedModule).replace(/\\/g, "/");
21725
+ const toClient = relative16(clientOutputDir, resolvedModule).replace(/\\/g, "/");
21699
21726
  rewrites.set(rawSpec, {
21700
21727
  client: toClient.startsWith(".") || toClient.startsWith("/") ? toClient : `./${toClient}`,
21701
21728
  server: toServer.startsWith(".") ? toServer : `./${toServer}`
@@ -21703,9 +21730,9 @@ var resolveDevClientDir2 = () => {
21703
21730
  }, compileSvelte = async (entryPoints, svelteRoot, cache = new Map, isDev2 = false, stylePreprocessors) => {
21704
21731
  const { compile, compileModule, preprocess } = await import("svelte/compiler");
21705
21732
  const generatedDir = getFrameworkGeneratedDir("svelte");
21706
- const clientDir = join39(generatedDir, "client");
21707
- const indexDir = join39(generatedDir, "indexes");
21708
- const serverDir = join39(generatedDir, "server");
21733
+ const clientDir = join40(generatedDir, "client");
21734
+ const indexDir = join40(generatedDir, "indexes");
21735
+ const serverDir = join40(generatedDir, "server");
21709
21736
  await Promise.all([clientDir, indexDir, serverDir].map((dir) => mkdir8(dir, { recursive: true })));
21710
21737
  const dev = env2.NODE_ENV !== "production";
21711
21738
  const build2 = async (src) => {
@@ -21733,8 +21760,8 @@ var resolveDevClientDir2 = () => {
21733
21760
  const preprocessedClient = isModule ? loweredClientSource.code : (await preprocess(loweredClientSource.code, svelteStylePreprocessor)).code;
21734
21761
  const transpiledServer = src.endsWith(".ts") || src.endsWith(".svelte.ts") ? transpiler3.transformSync(preprocessedServer) : preprocessedServer;
21735
21762
  const transpiledClient = src.endsWith(".ts") || src.endsWith(".svelte.ts") ? transpiler3.transformSync(preprocessedClient) : preprocessedClient;
21736
- const rawRel = dirname21(relative15(svelteRoot, src)).replace(/\\/g, "/");
21737
- const relDir = rawRel.startsWith("..") ? `_ext/${relative15(process.cwd(), dirname21(src)).replace(/\\/g, "/")}` : rawRel;
21763
+ const rawRel = dirname21(relative16(svelteRoot, src)).replace(/\\/g, "/");
21764
+ const relDir = rawRel.startsWith("..") ? `_ext/${relative16(process.cwd(), dirname21(src)).replace(/\\/g, "/")}` : rawRel;
21738
21765
  const baseName = basename13(src).replace(/\.svelte(\.(ts|js))?$/, "");
21739
21766
  const importPaths = Array.from(transpiledServer.matchAll(/from\s+['"]([^'"]+)['"]/g)).map((match) => match[1]).filter((path2) => path2 !== undefined);
21740
21767
  const resolvedModuleImports = await Promise.all(importPaths.map((importPath) => resolveRelativeModule2(importPath, src)));
@@ -21743,8 +21770,8 @@ var resolveDevClientDir2 = () => {
21743
21770
  const childBuilt = await Promise.all(childSources.map((child) => build2(child)));
21744
21771
  const hasAwaitSlotFromChildren = childBuilt.some((child) => child.hasAwaitSlot);
21745
21772
  const externalRewrites = new Map;
21746
- const ssrOutputDir = dirname21(join39(serverDir, relDir, `${baseName}.js`));
21747
- const clientOutputDir = dirname21(join39(clientDir, relDir, `${baseName}.js`));
21773
+ const ssrOutputDir = dirname21(join40(serverDir, relDir, `${baseName}.js`));
21774
+ const clientOutputDir = dirname21(join40(clientDir, relDir, `${baseName}.js`));
21748
21775
  for (let idx = 0;idx < importPaths.length; idx++) {
21749
21776
  const rawSpec = importPaths[idx];
21750
21777
  if (!rawSpec)
@@ -21755,15 +21782,15 @@ var resolveDevClientDir2 = () => {
21755
21782
  addModuleRewrite(externalRewrites, rawSpec, resolvedModule, ssrOutputDir, clientOutputDir);
21756
21783
  if (!resolved)
21757
21784
  continue;
21758
- const childRel = relative15(svelteRoot, resolved).replace(/\\/g, "/");
21785
+ const childRel = relative16(svelteRoot, resolved).replace(/\\/g, "/");
21759
21786
  if (!childRel.startsWith(".."))
21760
21787
  continue;
21761
21788
  const childBuilt2 = cache.get(resolved);
21762
21789
  if (!childBuilt2)
21763
21790
  continue;
21764
21791
  const origSpec = rawSpec.replace(/\.svelte(?:\.(?:ts|js))?$/, ".js");
21765
- const toServer = relative15(ssrOutputDir, childBuilt2.ssr).replace(/\\/g, "/");
21766
- const toClient = relative15(clientOutputDir, childBuilt2.client).replace(/\\/g, "/");
21792
+ const toServer = relative16(ssrOutputDir, childBuilt2.ssr).replace(/\\/g, "/");
21793
+ const toClient = relative16(clientOutputDir, childBuilt2.client).replace(/\\/g, "/");
21767
21794
  externalRewrites.set(origSpec, {
21768
21795
  client: toClient.startsWith(".") ? toClient : `./${toClient}`,
21769
21796
  server: toServer.startsWith(".") ? toServer : `./${toServer}`
@@ -21797,7 +21824,7 @@ var resolveDevClientDir2 = () => {
21797
21824
  }).js;
21798
21825
  let code2 = compiledJs.code.replace(/\.svelte(?:\.(?:ts|js))?(['"])/g, ".js$1");
21799
21826
  if (mode === "client" && isDev2) {
21800
- const moduleKey = `/@src/${relative15(process.cwd(), src).replace(/\\/g, "/")}`;
21827
+ const moduleKey = `/@src/${relative16(process.cwd(), src).replace(/\\/g, "/")}`;
21801
21828
  code2 = code2.replace(/if\s*\(import\.meta\.hot\)\s*\{/, `if (typeof window !== "undefined") {
21802
21829
  if (!window.__SVELTE_HMR_ACCEPT__) window.__SVELTE_HMR_ACCEPT__ = {};
21803
21830
  var __hmr_accept = function(cb) { window.__SVELTE_HMR_ACCEPT__[${JSON.stringify(moduleKey)}] = cb; };`);
@@ -21809,8 +21836,8 @@ var resolveDevClientDir2 = () => {
21809
21836
  code2 += islandMetadataExports;
21810
21837
  return { code: code2, map: compiledJs.map };
21811
21838
  };
21812
- const ssrPath = join39(serverDir, relDir, `${baseName}.js`);
21813
- const clientPath = join39(clientDir, relDir, `${baseName}.js`);
21839
+ const ssrPath = join40(serverDir, relDir, `${baseName}.js`);
21840
+ const clientPath = join40(clientDir, relDir, `${baseName}.js`);
21814
21841
  await Promise.all([
21815
21842
  mkdir8(dirname21(ssrPath), { recursive: true }),
21816
21843
  mkdir8(dirname21(clientPath), { recursive: true })
@@ -21848,10 +21875,10 @@ var resolveDevClientDir2 = () => {
21848
21875
  const roots = await Promise.all(entryPoints.map(build2));
21849
21876
  const componentRoots = roots.filter((root) => !root.isModule);
21850
21877
  await Promise.all(componentRoots.map(async ({ client: client2, hasAwaitSlot }) => {
21851
- const relClientDir = dirname21(relative15(clientDir, client2));
21878
+ const relClientDir = dirname21(relative16(clientDir, client2));
21852
21879
  const name = basename13(client2, extname11(client2));
21853
- const indexPath = join39(indexDir, relClientDir, `${name}.js`);
21854
- const importRaw = relative15(dirname21(indexPath), client2).split(sep3).join("/");
21880
+ const indexPath = join40(indexDir, relClientDir, `${name}.js`);
21881
+ const importRaw = relative16(dirname21(indexPath), client2).split(sep4).join("/");
21855
21882
  const importPath = importRaw.startsWith(".") || importRaw.startsWith("/") ? importRaw : `./${importRaw}`;
21856
21883
  const hmrImports = isDev2 ? `window.__HMR_FRAMEWORK__ = "svelte";
21857
21884
  import "${hmrClientPath3}";
@@ -21952,8 +21979,8 @@ if (typeof window !== "undefined") {
21952
21979
  return {
21953
21980
  svelteClientPaths: roots.map(({ client: client2 }) => client2),
21954
21981
  svelteIndexPaths: componentRoots.map(({ client: client2 }) => {
21955
- const rel = dirname21(relative15(clientDir, client2));
21956
- return join39(indexDir, rel, basename13(client2));
21982
+ const rel = dirname21(relative16(clientDir, client2));
21983
+ return join40(indexDir, rel, basename13(client2));
21957
21984
  }),
21958
21985
  svelteServerPaths: roots.map(({ ssr }) => ssr)
21959
21986
  };
@@ -21968,7 +21995,7 @@ var init_compileSvelte = __esm(() => {
21968
21995
  init_lowerAwaitSlotSyntax();
21969
21996
  init_renderToReadableStream();
21970
21997
  devClientDir2 = resolveDevClientDir2();
21971
- hmrClientPath3 = join39(devClientDir2, "hmrClient.ts").replace(/\\/g, "/");
21998
+ hmrClientPath3 = join40(devClientDir2, "hmrClient.ts").replace(/\\/g, "/");
21972
21999
  persistentCache = new Map;
21973
22000
  sourceHashCache = new Map;
21974
22001
  transpiler3 = new Transpiler2({ loader: "ts", target: "browser" });
@@ -22450,8 +22477,8 @@ var init_chainInlineSourcemaps = __esm(() => {
22450
22477
  import { createHash as createHash7 } from "crypto";
22451
22478
  import { existsSync as existsSync30, readFileSync as readFileSync29 } from "fs";
22452
22479
  import { mkdir as mkdir9, rename as rename2, writeFile as writeFile8 } from "fs/promises";
22453
- import { join as join40, resolve as resolve31 } from "path";
22454
- var CACHE_DIR_NAME = "compile-cache", ABSOLUTE_CACHE_DIR_NAME2 = ".absolutejs", CACHE_FORMAT_VERSION = 1, FILE_NAME_HASH_LENGTH = 32, vueCompileCacheEnabled = () => process.env.ABSOLUTE_COMPILE_CACHE !== "0", hashContent = (content) => createHash7("sha256").update(content).digest("hex"), hashParts = (parts) => {
22480
+ import { join as join41, resolve as resolve32 } from "path";
22481
+ var CACHE_DIR_NAME = "compile-cache", ABSOLUTE_CACHE_DIR_NAME2 = ".absolutejs", CACHE_FORMAT_VERSION = 2, FILE_NAME_HASH_LENGTH = 32, vueCompileCacheEnabled = () => process.env.ABSOLUTE_COMPILE_CACHE !== "0", hashContent = (content) => createHash7("sha256").update(content).digest("hex"), hashParts = (parts) => {
22455
22482
  const hash = createHash7("sha256");
22456
22483
  for (const part of parts) {
22457
22484
  hash.update(part);
@@ -22460,8 +22487,8 @@ var CACHE_DIR_NAME = "compile-cache", ABSOLUTE_CACHE_DIR_NAME2 = ".absolutejs",
22460
22487
  return hash.digest("hex");
22461
22488
  }, readOwnPackageVersion = () => {
22462
22489
  const candidates = [
22463
- resolve31(import.meta.dir, "..", "..", "package.json"),
22464
- resolve31(import.meta.dir, "..", "package.json")
22490
+ resolve32(import.meta.dir, "..", "..", "package.json"),
22491
+ resolve32(import.meta.dir, "..", "package.json")
22465
22492
  ];
22466
22493
  for (const candidate of candidates) {
22467
22494
  try {
@@ -22476,7 +22503,7 @@ var CACHE_DIR_NAME = "compile-cache", ABSOLUTE_CACHE_DIR_NAME2 = ".absolutejs",
22476
22503
  }, cachedFrameworkVersion, frameworkVersionForCache = () => {
22477
22504
  cachedFrameworkVersion ??= readOwnPackageVersion();
22478
22505
  return cachedFrameworkVersion;
22479
- }, vueCompileCacheDir = (projectRoot = process.cwd()) => join40(projectRoot, ABSOLUTE_CACHE_DIR_NAME2, CACHE_DIR_NAME, "vue"), entryFileFor = (sourceFilePath, projectRoot) => join40(vueCompileCacheDir(projectRoot), `${hashContent(sourceFilePath).slice(0, FILE_NAME_HASH_LENGTH)}.json`), vueCompileCacheFingerprint = (parts) => {
22506
+ }, vueCompileCacheDir = (projectRoot = process.cwd()) => join41(projectRoot, ABSOLUTE_CACHE_DIR_NAME2, CACHE_DIR_NAME, "vue"), entryFileFor = (sourceFilePath, projectRoot) => join41(vueCompileCacheDir(projectRoot), `${hashContent(sourceFilePath).slice(0, FILE_NAME_HASH_LENGTH)}.json`), vueCompileCacheFingerprint = (parts) => {
22480
22507
  const frameworkVersion = frameworkVersionForCache();
22481
22508
  if (!frameworkVersion)
22482
22509
  return null;
@@ -22542,8 +22569,8 @@ __export(exports_emitTsHelpers, {
22542
22569
  var {file: file3, Transpiler: Transpiler3, write: write3 } = globalThis.Bun;
22543
22570
  import { copyFileSync as copyFileSync2, existsSync as existsSync31, readdirSync as readdirSync6 } from "fs";
22544
22571
  import { mkdir as mkdir10, rename as rename3, writeFile as writeFile9 } from "fs/promises";
22545
- import { dirname as dirname22, join as join41 } from "path";
22546
- var CACHE_DIR_NAME2 = "vue-helpers", CACHE_FORMAT_VERSION2 = 1, HASH_LENGTH = 24, transpiler4, cacheDir = () => join41(process.cwd(), ".absolutejs", "compile-cache", CACHE_DIR_NAME2), cacheKey2 = (sourcePath, sourceCode) => {
22572
+ import { dirname as dirname22, join as join42 } from "path";
22573
+ var CACHE_DIR_NAME2 = "vue-helpers", CACHE_FORMAT_VERSION2 = 1, HASH_LENGTH = 24, transpiler4, cacheDir = () => join42(process.cwd(), ".absolutejs", "compile-cache", CACHE_DIR_NAME2), cacheKey2 = (sourcePath, sourceCode) => {
22547
22574
  const frameworkVersion = frameworkVersionForCache();
22548
22575
  if (!frameworkVersion || !vueCompileCacheEnabled())
22549
22576
  return null;
@@ -22576,13 +22603,13 @@ var CACHE_DIR_NAME2 = "vue-helpers", CACHE_FORMAT_VERSION2 = 1, HASH_LENGTH = 24
22576
22603
  }, publishCacheEntry = async (directory, fileName, pathHash, content) => {
22577
22604
  try {
22578
22605
  await mkdir10(directory, { recursive: true });
22579
- const target = join41(directory, fileName);
22606
+ const target = join42(directory, fileName);
22580
22607
  const temporary = `${target}.${process.pid}.tmp`;
22581
22608
  await writeFile9(temporary, content);
22582
22609
  await rename3(temporary, target);
22583
22610
  const superseded = entriesForPath(directory, pathHash).filter((name) => name !== fileName);
22584
22611
  existingEntries?.set(pathHash, [fileName]);
22585
- await Promise.all(superseded.map((name) => Bun.file(join41(directory, name)).delete().catch(() => {
22612
+ await Promise.all(superseded.map((name) => Bun.file(join42(directory, name)).delete().catch(() => {
22586
22613
  return;
22587
22614
  })));
22588
22615
  } catch {}
@@ -22611,7 +22638,7 @@ var CACHE_DIR_NAME2 = "vue-helpers", CACHE_FORMAT_VERSION2 = 1, HASH_LENGTH = 24
22611
22638
  const key = cacheKey2(sourcePath, sourceCode);
22612
22639
  const directory = cacheDir();
22613
22640
  const fileName = key ? `${key.path}-${key.content}.js` : null;
22614
- const cachedPath = fileName ? join41(directory, fileName) : null;
22641
+ const cachedPath = fileName ? join42(directory, fileName) : null;
22615
22642
  if (cachedPath && existsSync31(cachedPath)) {
22616
22643
  await copyBoth(clientOutputPath, serverOutputPath, cachedPath);
22617
22644
  return;
@@ -22640,7 +22667,7 @@ __export(exports_compileVueSfc, {
22640
22667
  compileVueSfc: () => compileVueSfc
22641
22668
  });
22642
22669
  import { existsSync as existsSync32, readFileSync as readFileSync30, realpathSync as realpathSync2 } from "fs";
22643
- import { dirname as dirname23, relative as relative16, resolve as resolve32 } from "path";
22670
+ import { dirname as dirname23, relative as relative17, resolve as resolve33 } from "path";
22644
22671
  var {Transpiler: Transpiler4 } = globalThis.Bun;
22645
22672
  var transpiler5, inlineCssImports = (cssContent, cssFilePath, visited = new Set) => {
22646
22673
  const resolved = realpathSync2(cssFilePath);
@@ -22649,7 +22676,7 @@ var transpiler5, inlineCssImports = (cssContent, cssFilePath, visited = new Set)
22649
22676
  visited.add(resolved);
22650
22677
  const importRegex = /@import\s+(?:url\(\s*)?(['"])(\.{1,2}\/[^'"]+)\1\s*\)?\s*;?/g;
22651
22678
  return cssContent.replace(importRegex, (match, _quote, relPath) => {
22652
- const importedPath = resolve32(dirname23(cssFilePath), relPath);
22679
+ const importedPath = resolve33(dirname23(cssFilePath), relPath);
22653
22680
  if (!existsSync32(importedPath))
22654
22681
  return match;
22655
22682
  const importedContent = readFileSync30(importedPath, "utf-8");
@@ -22662,15 +22689,15 @@ var transpiler5, inlineCssImports = (cssContent, cssFilePath, visited = new Set)
22662
22689
  return filePath.replace(/\.ts$/, ".js");
22663
22690
  if (isStylePath(filePath)) {
22664
22691
  if (sourceDir && (filePath.startsWith("./") || filePath.startsWith("../"))) {
22665
- return resolve32(sourceDir, filePath);
22692
+ return resolve33(sourceDir, filePath);
22666
22693
  }
22667
22694
  return filePath;
22668
22695
  }
22669
22696
  if (sourceDir && (filePath.startsWith("./") || filePath.startsWith("../"))) {
22670
- const directTs = resolve32(sourceDir, `${filePath}.ts`);
22697
+ const directTs = resolve33(sourceDir, `${filePath}.ts`);
22671
22698
  if (existsSync32(directTs))
22672
22699
  return `${filePath}.js`;
22673
- const indexedTs = resolve32(sourceDir, filePath, "index.ts");
22700
+ const indexedTs = resolve33(sourceDir, filePath, "index.ts");
22674
22701
  if (existsSync32(indexedTs))
22675
22702
  return `${filePath}/index.js`;
22676
22703
  }
@@ -22813,7 +22840,7 @@ if (typeof __VUE_HMR_RUNTIME__ !== 'undefined') {
22813
22840
  let result = code2;
22814
22841
  for (const [bareImport, paths] of packageImportRewrites) {
22815
22842
  const targetPath = mode === "server" ? paths.server : paths.client;
22816
- let rel = relative16(dirname23(outputPath), targetPath).replace(/\\/g, "/");
22843
+ let rel = relative17(dirname23(outputPath), targetPath).replace(/\\/g, "/");
22817
22844
  if (!rel.startsWith("."))
22818
22845
  rel = `./${rel}`;
22819
22846
  result = result.replaceAll(bareImport, rel);
@@ -22919,7 +22946,7 @@ __export(exports_workerPool, {
22919
22946
  });
22920
22947
  import { existsSync as existsSync33, readFileSync as readFileSync31 } from "fs";
22921
22948
  import { availableParallelism, freemem } from "os";
22922
- import { dirname as dirname24, join as join42 } from "path";
22949
+ import { dirname as dirname24, join as join43 } from "path";
22923
22950
  import { pathToFileURL as pathToFileURL3 } from "url";
22924
22951
  var MIN_WORKERS = 2, MAX_DEFAULT_WORKERS = 8, MAX_OVERRIDE_WORKERS = 64, WORKER_MEMORY_BUDGET_BYTES, DEFAULT_IDLE_TIMEOUT_MS = 2000, DEFAULT_MIN_BATCH = 4, PACKAGE_WALK_DEPTH = 6, PERCENT = 100, OWN_PACKAGE_NAME = "@absolutejs/absolute", parseWorkerOverride = (raw) => {
22925
22952
  if (raw === undefined || raw.trim() === "")
@@ -22936,7 +22963,7 @@ var MIN_WORKERS = 2, MAX_DEFAULT_WORKERS = 8, MAX_OVERRIDE_WORKERS = 64, WORKER_
22936
22963
  const byMemory = Math.floor(freemem() / WORKER_MEMORY_BUDGET_BYTES);
22937
22964
  return Math.max(MIN_WORKERS, Math.min(byCpu, byMemory));
22938
22965
  }, isOwnPackageRoot = (dir) => {
22939
- const packageFile = join42(dir, "package.json");
22966
+ const packageFile = join43(dir, "package.json");
22940
22967
  if (!existsSync33(packageFile))
22941
22968
  return false;
22942
22969
  try {
@@ -22960,9 +22987,9 @@ var MIN_WORKERS = 2, MAX_DEFAULT_WORKERS = 8, MAX_OVERRIDE_WORKERS = 64, WORKER_
22960
22987
  const root = findOwnPackageRoot(fromDir);
22961
22988
  if (!root)
22962
22989
  return null;
22963
- const distEntry = join42(root, "dist", "build", "buildWorker.js");
22964
- const sourceEntry = join42(root, "src", "build", "buildWorker.ts");
22965
- const runningFromDist = fromDir.startsWith(join42(root, "dist"));
22990
+ const distEntry = join43(root, "dist", "build", "buildWorker.js");
22991
+ const sourceEntry = join43(root, "src", "build", "buildWorker.ts");
22992
+ const runningFromDist = fromDir.startsWith(join43(root, "dist"));
22966
22993
  const ordered = runningFromDist ? [distEntry, sourceEntry] : [sourceEntry, distEntry];
22967
22994
  return ordered.find((candidate) => existsSync33(candidate)) ?? null;
22968
22995
  }, formatPercent = (ratio) => `${Math.round(ratio * PERCENT)}%`, createBuildWorkerPool = (options = {}) => {
@@ -23157,7 +23184,7 @@ var MIN_WORKERS = 2, MAX_DEFAULT_WORKERS = 8, MAX_OVERRIDE_WORKERS = 64, WORKER_
23157
23184
  };
23158
23185
  const isWarm = () => slots.length > 0;
23159
23186
  const shouldUse = (jobCount) => enabled && !broken && !draining && (isWarm() || jobCount >= minBatch);
23160
- const enqueue = (kind, payload, affinity) => new Promise((resolve33, reject) => {
23187
+ const enqueue = (kind, payload, affinity) => new Promise((resolve34, reject) => {
23161
23188
  onBurstStart();
23162
23189
  inFlight += 1;
23163
23190
  queue.push({
@@ -23166,7 +23193,7 @@ var MIN_WORKERS = 2, MAX_DEFAULT_WORKERS = 8, MAX_OVERRIDE_WORKERS = 64, WORKER_
23166
23193
  payload,
23167
23194
  reject,
23168
23195
  resolve: (result) => {
23169
- resolve33(result);
23196
+ resolve34(result);
23170
23197
  }
23171
23198
  });
23172
23199
  ensureWorkers();
@@ -23209,10 +23236,10 @@ var MIN_WORKERS = 2, MAX_DEFAULT_WORKERS = 8, MAX_OVERRIDE_WORKERS = 64, WORKER_
23209
23236
  const activeJobsSettled = () => {
23210
23237
  if (inFlight === 0)
23211
23238
  return Promise.resolve();
23212
- return new Promise((resolve33) => {
23239
+ return new Promise((resolve34) => {
23213
23240
  const poll = () => {
23214
23241
  if (inFlight === 0) {
23215
- resolve33();
23242
+ resolve34();
23216
23243
  return;
23217
23244
  }
23218
23245
  setTimeout(poll, 10);
@@ -23260,22 +23287,22 @@ import { mkdir as mkdir11 } from "fs/promises";
23260
23287
  import {
23261
23288
  basename as basename14,
23262
23289
  dirname as dirname25,
23263
- isAbsolute as isAbsolute7,
23264
- join as join43,
23265
- relative as relative17,
23266
- resolve as resolve33
23290
+ isAbsolute as isAbsolute8,
23291
+ join as join44,
23292
+ relative as relative18,
23293
+ resolve as resolve34
23267
23294
  } from "path";
23268
23295
  var {file: file4, write: write4 } = globalThis.Bun;
23269
23296
  var resolveDevClientDir3 = () => {
23270
23297
  const projectRoot = process.cwd();
23271
- const fromSource = resolve33(import.meta.dir, "../dev/client");
23298
+ const fromSource = resolve34(import.meta.dir, "../dev/client");
23272
23299
  if (existsSync34(fromSource) && fromSource.startsWith(projectRoot)) {
23273
23300
  return fromSource;
23274
23301
  }
23275
- const fromNodeModules = resolve33(projectRoot, "node_modules/@absolutejs/absolute/dist/dev/client");
23302
+ const fromNodeModules = resolve34(projectRoot, "node_modules/@absolutejs/absolute/dist/dev/client");
23276
23303
  if (existsSync34(fromNodeModules))
23277
23304
  return fromNodeModules;
23278
- return resolve33(import.meta.dir, "./dev/client");
23305
+ return resolve34(import.meta.dir, "./dev/client");
23279
23306
  }, devClientDir3, hmrClientPath4, scriptCache, scriptSetupCache, templateCache, styleCache, persistentBuildCache, vueSourceHashCache, vueHmrMetadata, clearVueHmrCaches = () => {
23280
23307
  scriptCache.clear();
23281
23308
  scriptSetupCache.clear();
@@ -23314,17 +23341,17 @@ var resolveDevClientDir3 = () => {
23314
23341
  return "template-only";
23315
23342
  }
23316
23343
  return "full";
23317
- }, generateVueHmrId = (sourceFilePath, vueRootDir) => relative17(vueRootDir, sourceFilePath).replace(/\\/g, "/").replace(/\.vue$/, ""), extractImports = (sourceCode) => {
23344
+ }, generateVueHmrId = (sourceFilePath, vueRootDir) => relative18(vueRootDir, sourceFilePath).replace(/\\/g, "/").replace(/\.vue$/, ""), extractImports = (sourceCode) => {
23318
23345
  const staticImports = Array.from(sourceCode.matchAll(/import\s+[\s\S]+?['"]([^'"]+)['"]/g));
23319
23346
  const dynamicImports = Array.from(sourceCode.matchAll(/\bimport\s*\(\s*['"]([^'"]+)['"]\s*\)/g));
23320
23347
  return Array.from(new Set([...staticImports, ...dynamicImports].map((match) => match[1]).filter((importPath) => importPath !== undefined)));
23321
23348
  }, resolveHelperTsPath = (sourceDir, helper) => {
23322
23349
  if (helper.endsWith(".ts"))
23323
- return resolve33(sourceDir, helper);
23324
- const direct = resolve33(sourceDir, `${helper}.ts`);
23350
+ return resolve34(sourceDir, helper);
23351
+ const direct = resolve34(sourceDir, `${helper}.ts`);
23325
23352
  if (existsSync34(direct))
23326
23353
  return direct;
23327
- const indexed = resolve33(sourceDir, helper, "index.ts");
23354
+ const indexed = resolve34(sourceDir, helper, "index.ts");
23328
23355
  if (existsSync34(indexed))
23329
23356
  return indexed;
23330
23357
  return direct;
@@ -23392,7 +23419,7 @@ var resolveDevClientDir3 = () => {
23392
23419
  ]);
23393
23420
  }, materialiseVueCompileCacheEntry = async (entry, cacheKey3, isEntryPoint, outputDirs, fileBaseName) => {
23394
23421
  const { result } = entry;
23395
- const cssOutputFile = isEntryPoint && result.cssCodes.length > 0 ? join43(outputDirs.css, `${toKebab(fileBaseName)}-compiled.css`) : null;
23422
+ const cssOutputFile = isEntryPoint && result.cssCodes.length > 0 ? join44(outputDirs.css, `${toKebab(fileBaseName)}-compiled.css`) : null;
23396
23423
  trackWrite(writeVueOutputs({
23397
23424
  clientCode: entry.clientCode,
23398
23425
  clientPath: result.clientPath,
@@ -23447,8 +23474,6 @@ var resolveDevClientDir3 = () => {
23447
23474
  throw error;
23448
23475
  }
23449
23476
  }, compileVueFileUncached = async (sourceFilePath, outputDirs, cacheMap, isEntryPoint, vueRootDir, compiler, runSfc, stylePreprocessors) => {
23450
- const relativeFilePath = relative17(vueRootDir, sourceFilePath).replace(/\\/g, "/");
23451
- const relativeWithoutExtension = relativeFilePath.replace(/\.vue$/, "");
23452
23477
  const fileBaseName = basename14(sourceFilePath, ".vue");
23453
23478
  const componentId = toKebab(fileBaseName);
23454
23479
  vueCompileProfile.files += 1;
@@ -23486,12 +23511,12 @@ var resolveDevClientDir3 = () => {
23486
23511
  const childComponentPaths = importPaths.filter((path2) => path2.startsWith(".") && path2.endsWith(".vue"));
23487
23512
  const packageComponentPaths = Array.from(resolvedPackageVueImports.entries());
23488
23513
  const helperModulePaths = importPaths.filter((path2) => path2.startsWith(".") && !path2.endsWith(".vue") && !isStylePath(path2));
23489
- const stylePathsImported = importPaths.filter((path2) => (path2.startsWith(".") || isAbsolute7(path2)) && isStylePath(path2)).map((path2) => isAbsolute7(path2) ? path2 : resolve33(dirname25(sourceFilePath), path2));
23514
+ const stylePathsImported = importPaths.filter((path2) => (path2.startsWith(".") || isAbsolute8(path2)) && isStylePath(path2)).map((path2) => isAbsolute8(path2) ? path2 : resolve34(dirname25(sourceFilePath), path2));
23490
23515
  for (const stylePath of stylePathsImported) {
23491
23516
  addStyleImporter(sourceFilePath, stylePath);
23492
23517
  }
23493
23518
  const childBuildResults = await Promise.all([
23494
- ...childComponentPaths.map((relativeChildPath) => compileVueFile(resolve33(dirname25(sourceFilePath), relativeChildPath), outputDirs, cacheMap, false, vueRootDir, compiler, runSfc, stylePreprocessors)),
23519
+ ...childComponentPaths.map((relativeChildPath) => compileVueFile(resolve34(dirname25(sourceFilePath), relativeChildPath), outputDirs, cacheMap, false, vueRootDir, compiler, runSfc, stylePreprocessors)),
23495
23520
  ...packageComponentPaths.map(([, absolutePath]) => compileVueFile(absolutePath, outputDirs, cacheMap, false, vueRootDir, compiler, runSfc, stylePreprocessors))
23496
23521
  ]);
23497
23522
  const cacheKeyStartedAt = performance.now();
@@ -23501,7 +23526,7 @@ var resolveDevClientDir3 = () => {
23501
23526
  descriptor,
23502
23527
  fingerprint: currentVueCompileFingerprint(compiler, outputDirs, vueRootDir, stylePreprocessors),
23503
23528
  isEntryPoint,
23504
- relativeWithoutExtension
23529
+ relativeWithoutExtension: vueModuleOutputPath("", sourceFilePath).replace(/\.js$/, "")
23505
23530
  });
23506
23531
  const restored = cacheKey3 ? readVueCompileCacheEntry(sourceFilePath, cacheKey3) : undefined;
23507
23532
  vueCompileProfile.keyMs += performance.now() - cacheKeyStartedAt;
@@ -23514,8 +23539,8 @@ var resolveDevClientDir3 = () => {
23514
23539
  return result2;
23515
23540
  }
23516
23541
  }
23517
- const clientOutputPath = join43(outputDirs.client, `${relativeWithoutExtension}.js`);
23518
- const serverOutputPath = join43(outputDirs.server, `${relativeWithoutExtension}.js`);
23542
+ const clientOutputPath = vueModuleOutputPath(outputDirs.client, sourceFilePath);
23543
+ const serverOutputPath = vueModuleOutputPath(outputDirs.server, sourceFilePath);
23519
23544
  const styleSources = await Promise.all(descriptor.styles.map((styleBlock) => styleBlock.lang ? compileStyleSource(sourceFilePath, styleBlock.content, styleBlock.lang, stylePreprocessors) : Promise.resolve(styleBlock.content)));
23520
23545
  const packageImportRewrites = [];
23521
23546
  packageComponentPaths.forEach(([bareImport], index) => {
@@ -23542,7 +23567,7 @@ var resolveDevClientDir3 = () => {
23542
23567
  ...localCss,
23543
23568
  ...childBuildResults.flatMap((result2) => result2.cssCodes)
23544
23569
  ];
23545
- const cssOutputFile = isEntryPoint && allCss.length ? join43(outputDirs.css, `${toKebab(fileBaseName)}-compiled.css`) : null;
23570
+ const cssOutputFile = isEntryPoint && allCss.length ? join44(outputDirs.css, `${toKebab(fileBaseName)}-compiled.css`) : null;
23546
23571
  const cssOutputPaths = cssOutputFile ? [cssOutputFile] : [];
23547
23572
  trackWrite(writeVueOutputs({
23548
23573
  clientCode: clientOutput,
@@ -23586,10 +23611,10 @@ var resolveDevClientDir3 = () => {
23586
23611
  const compilerLoadMs = performance.now() - compilerLoadStartedAt;
23587
23612
  vueCompileProfile.stageCompilerMs = compilerLoadMs;
23588
23613
  const generatedDir = getFrameworkGeneratedDir("vue");
23589
- const clientOutputDir = join43(generatedDir, "client");
23590
- const indexOutputDir = join43(generatedDir, "indexes");
23591
- const serverOutputDir = join43(generatedDir, "server");
23592
- const cssOutputDir = join43(generatedDir, "compiled");
23614
+ const clientOutputDir = join44(generatedDir, "client");
23615
+ const indexOutputDir = join44(generatedDir, "indexes");
23616
+ const serverOutputDir = join44(generatedDir, "server");
23617
+ const cssOutputDir = join44(generatedDir, "compiled");
23593
23618
  await Promise.all([
23594
23619
  mkdir11(clientOutputDir, { recursive: true }),
23595
23620
  mkdir11(indexOutputDir, { recursive: true }),
@@ -23599,7 +23624,7 @@ var resolveDevClientDir3 = () => {
23599
23624
  const buildCache = new Map;
23600
23625
  const allTsHelperPaths = new Set;
23601
23626
  const expandSpaRouteChildren = async (entries) => {
23602
- const expanded = new Set(entries.map((entry) => resolve33(entry)));
23627
+ const expanded = new Set(entries.map((entry) => resolve34(entry)));
23603
23628
  const queue = [...expanded];
23604
23629
  while (queue.length > 0) {
23605
23630
  const entryPath = queue.pop();
@@ -23616,7 +23641,7 @@ var resolveDevClientDir3 = () => {
23616
23641
  });
23617
23642
  const routes = parseVueSpaRoutes(descriptor.script?.content ?? "");
23618
23643
  for (const { importPath } of routes) {
23619
- const childPath = resolve33(dirname25(entryPath), importPath);
23644
+ const childPath = resolve34(dirname25(entryPath), importPath);
23620
23645
  if (expanded.has(childPath) || !existsSync34(childPath)) {
23621
23646
  continue;
23622
23647
  }
@@ -23631,7 +23656,7 @@ var resolveDevClientDir3 = () => {
23631
23656
  vueCompileProfile.stageExpandMs = performance.now() - stageStartedAt;
23632
23657
  stageStartedAt = performance.now();
23633
23658
  const compiledPages = await Promise.all(expandedEntryPoints.map(async (entryPath) => {
23634
- const resolvedEntryPath = resolve33(entryPath);
23659
+ const resolvedEntryPath = resolve34(entryPath);
23635
23660
  const result = await compileVueFile(resolvedEntryPath, {
23636
23661
  client: clientOutputDir,
23637
23662
  css: cssOutputDir,
@@ -23649,8 +23674,8 @@ var resolveDevClientDir3 = () => {
23649
23674
  };
23650
23675
  }
23651
23676
  const entryBaseName = basename14(entryPath, ".vue");
23652
- const indexOutputFile = join43(indexOutputDir, `${entryBaseName}.js`);
23653
- const clientOutputFile = join43(clientOutputDir, relative17(vueRootDir, entryPath).replace(/\\/g, "/").replace(/\.vue$/, ".js"));
23677
+ const indexOutputFile = join44(indexOutputDir, `${entryBaseName}.js`);
23678
+ const clientOutputFile = result.clientPath;
23654
23679
  await mkdir11(dirname25(indexOutputFile), { recursive: true });
23655
23680
  const vueHmrImports = isDev2 ? [
23656
23681
  `window.__HMR_FRAMEWORK__ = "vue";`,
@@ -23658,7 +23683,7 @@ var resolveDevClientDir3 = () => {
23658
23683
  ] : [];
23659
23684
  await write4(indexOutputFile, [
23660
23685
  ...vueHmrImports,
23661
- `import Comp, * as PageModule from "${relative17(dirname25(indexOutputFile), clientOutputFile).replace(/\\/g, "/")}";`,
23686
+ `import Comp, * as PageModule from "${relative18(dirname25(indexOutputFile), clientOutputFile).replace(/\\/g, "/")}";`,
23662
23687
  'import { createSSRApp, createApp } from "vue";',
23663
23688
  'import { prepareBrowserTranslationHydration } from "@absolutejs/absolute/vue";',
23664
23689
  "",
@@ -23844,14 +23869,11 @@ var resolveDevClientDir3 = () => {
23844
23869
  vueCompileProfile.stageHelperScanMs = performance.now() - stageStartedAt;
23845
23870
  vueCompileProfile.helpers = allTsHelperPaths.size;
23846
23871
  stageStartedAt = performance.now();
23847
- const helperFiles = Array.from(allTsHelperPaths).map((tsPath) => {
23848
- const relativeJsPath = relative17(vueRootDir, tsPath).replace(/\.ts$/, ".js");
23849
- return {
23850
- clientOutputPath: join43(clientOutputDir, relativeJsPath),
23851
- serverOutputPath: join43(serverOutputDir, relativeJsPath),
23852
- sourcePath: tsPath
23853
- };
23854
- });
23872
+ const helperFiles = Array.from(allTsHelperPaths).map((tsPath) => ({
23873
+ clientOutputPath: vueModuleOutputPath(clientOutputDir, tsPath),
23874
+ serverOutputPath: vueModuleOutputPath(serverOutputDir, tsPath),
23875
+ sourcePath: tsPath
23876
+ }));
23855
23877
  await runHelperEmit(helperFiles);
23856
23878
  vueCompileProfile.stageHelperEmitMs = performance.now() - stageStartedAt;
23857
23879
  stageStartedAt = performance.now();
@@ -23878,6 +23900,7 @@ var resolveDevClientDir3 = () => {
23878
23900
  };
23879
23901
  };
23880
23902
  var init_compileVue = __esm(() => {
23903
+ init_vueModuleOutputPath();
23881
23904
  init_constants();
23882
23905
  init_generatedDir();
23883
23906
  init_resolvePackageImport();
@@ -23888,7 +23911,7 @@ var init_compileVue = __esm(() => {
23888
23911
  init_stylePreprocessor();
23889
23912
  init_vueCompileCache();
23890
23913
  devClientDir3 = resolveDevClientDir3();
23891
- hmrClientPath4 = join43(devClientDir3, "hmrClient.ts").replace(/\\/g, "/");
23914
+ hmrClientPath4 = join44(devClientDir3, "hmrClient.ts").replace(/\\/g, "/");
23892
23915
  scriptCache = new Map;
23893
23916
  scriptSetupCache = new Map;
23894
23917
  templateCache = new Map;
@@ -24393,7 +24416,7 @@ __export(exports_compileAngular, {
24393
24416
  invalidateAngularJitCache: () => invalidateAngularJitCache
24394
24417
  });
24395
24418
  import { existsSync as existsSync35, readFileSync as readFileSync32, promises as fs5 } from "fs";
24396
- import { join as join44, basename as basename15, sep as sep4, dirname as dirname26, resolve as resolve34, relative as relative18 } from "path";
24419
+ import { join as join45, basename as basename15, sep as sep5, dirname as dirname26, resolve as resolve35, relative as relative19 } from "path";
24397
24420
  var {Glob: Glob6 } = globalThis.Bun;
24398
24421
  import ts18 from "typescript";
24399
24422
  var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) => {
@@ -24409,10 +24432,10 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
24409
24432
  return tracePhase ? tracePhase(`compile/angular/${name}`, fn2, metadata2) : await fn2();
24410
24433
  }, readTsconfigPathAliases = () => {
24411
24434
  try {
24412
- const configPath2 = resolve34(process.cwd(), "tsconfig.json");
24435
+ const configPath2 = resolve35(process.cwd(), "tsconfig.json");
24413
24436
  const config = ts18.readConfigFile(configPath2, ts18.sys.readFile).config;
24414
24437
  const compilerOptions = config?.compilerOptions ?? {};
24415
- const baseUrl = resolve34(process.cwd(), compilerOptions.baseUrl ?? ".");
24438
+ const baseUrl = resolve35(process.cwd(), compilerOptions.baseUrl ?? ".");
24416
24439
  const aliases = Object.entries(compilerOptions.paths ?? {}).map(([pattern, replacements]) => ({ pattern, replacements }));
24417
24440
  return { aliases, baseUrl };
24418
24441
  } catch {
@@ -24432,7 +24455,7 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
24432
24455
  const wildcardValue = exactMatch ? "" : specifier.slice(prefix.length, specifier.length - suffix.length);
24433
24456
  for (const replacement of alias.replacements) {
24434
24457
  const candidate = replacement.replace("*", wildcardValue);
24435
- const resolved = resolveSourceFile(resolve34(baseUrl, candidate));
24458
+ const resolved = resolveSourceFile(resolve35(baseUrl, candidate));
24436
24459
  if (resolved)
24437
24460
  return resolved;
24438
24461
  }
@@ -24444,20 +24467,20 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
24444
24467
  `${candidate}.tsx`,
24445
24468
  `${candidate}.js`,
24446
24469
  `${candidate}.jsx`,
24447
- join44(candidate, "index.ts"),
24448
- join44(candidate, "index.tsx"),
24449
- join44(candidate, "index.js"),
24450
- join44(candidate, "index.jsx")
24470
+ join45(candidate, "index.ts"),
24471
+ join45(candidate, "index.tsx"),
24472
+ join45(candidate, "index.js"),
24473
+ join45(candidate, "index.jsx")
24451
24474
  ];
24452
24475
  return candidates.find((file5) => existsSync35(file5));
24453
24476
  }, createLegacyAngularAnimationUsageResolver = (rootDir) => {
24454
- const baseDir = resolve34(rootDir);
24477
+ const baseDir = resolve35(rootDir);
24455
24478
  const tsconfigAliases = readTsconfigPathAliases();
24456
24479
  const transpiler6 = new Bun.Transpiler({ loader: "tsx" });
24457
24480
  const scanCache = new Map;
24458
24481
  const resolveLocalImport = (specifier, fromDir) => {
24459
24482
  if (specifier.startsWith(".") || specifier.startsWith("/")) {
24460
- return resolveSourceFile(resolve34(fromDir, specifier));
24483
+ return resolveSourceFile(resolve35(fromDir, specifier));
24461
24484
  }
24462
24485
  const aliased = matchTsconfigAlias(specifier, tsconfigAliases.aliases, tsconfigAliases.baseUrl, resolveSourceFile);
24463
24486
  if (aliased)
@@ -24466,7 +24489,7 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
24466
24489
  const resolved = Bun.resolveSync(specifier, fromDir);
24467
24490
  if (resolved.includes("/node_modules/"))
24468
24491
  return;
24469
- const absolute = resolve34(resolved);
24492
+ const absolute = resolve35(resolved);
24470
24493
  if (!absolute.startsWith(baseDir))
24471
24494
  return;
24472
24495
  return resolveSourceFile(absolute);
@@ -24482,7 +24505,7 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
24482
24505
  usesLegacyAnimations: false
24483
24506
  });
24484
24507
  }
24485
- const resolved = resolve34(actualPath);
24508
+ const resolved = resolve35(actualPath);
24486
24509
  const cached = scanCache.get(resolved);
24487
24510
  if (cached)
24488
24511
  return cached;
@@ -24511,7 +24534,7 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
24511
24534
  const actualPath = resolveSourceFile(filePath);
24512
24535
  if (!actualPath)
24513
24536
  return false;
24514
- const resolved = resolve34(actualPath);
24537
+ const resolved = resolve35(actualPath);
24515
24538
  if (visited.has(resolved))
24516
24539
  return false;
24517
24540
  visited.add(resolved);
@@ -24529,14 +24552,14 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
24529
24552
  return (entryPath) => visit(entryPath);
24530
24553
  }, resolveDevClientDir4 = () => {
24531
24554
  const projectRoot = process.cwd();
24532
- const fromSource = resolve34(import.meta.dir, "../dev/client");
24555
+ const fromSource = resolve35(import.meta.dir, "../dev/client");
24533
24556
  if (existsSync35(fromSource) && fromSource.startsWith(projectRoot)) {
24534
24557
  return fromSource;
24535
24558
  }
24536
- const fromNodeModules = resolve34(projectRoot, "node_modules/@absolutejs/absolute/dist/dev/client");
24559
+ const fromNodeModules = resolve35(projectRoot, "node_modules/@absolutejs/absolute/dist/dev/client");
24537
24560
  if (existsSync35(fromNodeModules))
24538
24561
  return fromNodeModules;
24539
- return resolve34(import.meta.dir, "./dev/client");
24562
+ return resolve35(import.meta.dir, "./dev/client");
24540
24563
  }, devClientDir4, hmrClientPath5, formatDiagnosticMessage = (diagnostic) => {
24541
24564
  try {
24542
24565
  return ts18.flattenDiagnosticMessageText(diagnostic.messageText, `
@@ -24579,11 +24602,11 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
24579
24602
  if (hasJsLikeExtension(path2))
24580
24603
  return `${path2}${query}`;
24581
24604
  const importerDir = dirname26(importerOutputPath);
24582
- const fileCandidate = resolve34(importerDir, `${path2}.js`);
24605
+ const fileCandidate = resolve35(importerDir, `${path2}.js`);
24583
24606
  if (outputFiles?.has(fileCandidate) || existsSync35(fileCandidate)) {
24584
24607
  return `${path2}.js${query}`;
24585
24608
  }
24586
- const indexCandidate = resolve34(importerDir, path2, "index.js");
24609
+ const indexCandidate = resolve35(importerDir, path2, "index.js");
24587
24610
  if (outputFiles?.has(indexCandidate) || existsSync35(indexCandidate)) {
24588
24611
  return `${path2}/index.js${query}`;
24589
24612
  }
@@ -24611,18 +24634,18 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
24611
24634
  }, resolveLocalTsImport = (fromFile, specifier) => {
24612
24635
  if (!isRelativeModuleSpecifier(specifier))
24613
24636
  return null;
24614
- const basePath = resolve34(dirname26(fromFile), specifier);
24637
+ const basePath = resolve35(dirname26(fromFile), specifier);
24615
24638
  const candidates = /\.[cm]?[tj]sx?$/.test(basePath) ? [basePath] : [
24616
24639
  `${basePath}.ts`,
24617
24640
  `${basePath}.tsx`,
24618
24641
  `${basePath}.mts`,
24619
24642
  `${basePath}.cts`,
24620
- join44(basePath, "index.ts"),
24621
- join44(basePath, "index.tsx"),
24622
- join44(basePath, "index.mts"),
24623
- join44(basePath, "index.cts")
24643
+ join45(basePath, "index.ts"),
24644
+ join45(basePath, "index.tsx"),
24645
+ join45(basePath, "index.mts"),
24646
+ join45(basePath, "index.cts")
24624
24647
  ];
24625
- return candidates.map((candidate) => resolve34(candidate)).find((candidate) => existsSync35(candidate) && !candidate.endsWith(".d.ts")) ?? null;
24648
+ return candidates.map((candidate) => resolve35(candidate)).find((candidate) => existsSync35(candidate) && !candidate.endsWith(".d.ts")) ?? null;
24626
24649
  }, readFileForAotTransform = async (fileName, readFile8) => {
24627
24650
  const hostSource = readFile8?.(fileName);
24628
24651
  if (typeof hostSource === "string")
@@ -24646,18 +24669,18 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
24646
24669
  const paths = [];
24647
24670
  const templateUrlMatch = findUncommentedMatch(source, /templateUrl\s*:\s*['"]([^'"]+)['"]/);
24648
24671
  if (templateUrlMatch?.[1])
24649
- paths.push(join44(fileDir, templateUrlMatch[1]));
24672
+ paths.push(join45(fileDir, templateUrlMatch[1]));
24650
24673
  const styleUrlMatch = findUncommentedMatch(source, /styleUrl\s*:\s*['"]([^'"]+)['"]/);
24651
24674
  if (styleUrlMatch?.[1])
24652
- paths.push(join44(fileDir, styleUrlMatch[1]));
24675
+ paths.push(join45(fileDir, styleUrlMatch[1]));
24653
24676
  const styleUrlsMatch = findUncommentedMatch(source, /styleUrls\s*:\s*\[([^\]]+)\]/);
24654
24677
  const urlMatches = styleUrlsMatch?.[1]?.match(/['"]([^'"]+)['"]/g);
24655
24678
  if (urlMatches) {
24656
24679
  for (const urlMatch of urlMatches) {
24657
- paths.push(join44(fileDir, urlMatch.replace(/['"]/g, "")));
24680
+ paths.push(join45(fileDir, urlMatch.replace(/['"]/g, "")));
24658
24681
  }
24659
24682
  }
24660
- return paths.map((path2) => resolve34(path2));
24683
+ return paths.map((path2) => resolve35(path2));
24661
24684
  }, readResourceCacheFile = async (cachePath) => {
24662
24685
  try {
24663
24686
  const entry = JSON.parse(await fs5.readFile(cachePath, "utf-8"));
@@ -24688,7 +24711,7 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
24688
24711
  safeStableStringify(stylePreprocessors ?? null)
24689
24712
  ].join("\x00");
24690
24713
  const cacheKey3 = Bun.hash(cacheInput).toString(BASE_36_RADIX);
24691
- return join44(process.cwd(), ".absolutejs", "cache", "angular-resources", `${cacheKey3}.json`);
24714
+ return join45(process.cwd(), ".absolutejs", "cache", "angular-resources", `${cacheKey3}.json`);
24692
24715
  }, precomputeAotResourceTransforms = async (inputPaths, readFile8, stylePreprocessors) => {
24693
24716
  const transformedSources = new Map;
24694
24717
  const visited = new Set;
@@ -24699,7 +24722,7 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
24699
24722
  transformedFiles: 0
24700
24723
  };
24701
24724
  const transformFile = async (filePath) => {
24702
- const resolvedPath = resolve34(filePath);
24725
+ const resolvedPath = resolve35(filePath);
24703
24726
  if (visited.has(resolvedPath))
24704
24727
  return;
24705
24728
  visited.add(resolvedPath);
@@ -24734,7 +24757,7 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
24734
24757
  return { stats, transformedSources };
24735
24758
  }, compileAngularFiles = async (inputPaths, outDir, stylePreprocessors) => {
24736
24759
  const islandMetadataByOutputPath = await traceAngularPhase("aot/island-metadata", () => new Map(inputPaths.map((inputPath) => {
24737
- const outputPath = resolve34(join44(outDir, relative18(process.cwd(), resolve34(inputPath)).replace(/\.[cm]?[tj]sx?$/, ".js")));
24760
+ const outputPath = resolve35(join45(outDir, relative19(process.cwd(), resolve35(inputPath)).replace(/\.[cm]?[tj]sx?$/, ".js")));
24738
24761
  return [
24739
24762
  outputPath,
24740
24763
  buildIslandMetadataExports(readFileSync32(inputPath, "utf-8"))
@@ -24745,7 +24768,7 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
24745
24768
  const tsLibDir = await traceAngularPhase("aot/resolve-typescript-lib", () => {
24746
24769
  const tsPath = __require.resolve("typescript");
24747
24770
  const tsRootDir = dirname26(tsPath);
24748
- return tsRootDir.endsWith("lib") ? tsRootDir : resolve34(tsRootDir, "lib");
24771
+ return tsRootDir.endsWith("lib") ? tsRootDir : resolve35(tsRootDir, "lib");
24749
24772
  });
24750
24773
  const config = await traceAngularPhase("aot/read-configuration", () => readConfiguration("./tsconfig.json"));
24751
24774
  const options = {
@@ -24781,13 +24804,13 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
24781
24804
  const originalGetSourceFile = host2.getSourceFile;
24782
24805
  host2.getSourceFile = (fileName, languageVersion, onError) => {
24783
24806
  if (fileName.startsWith("lib.") && fileName.endsWith(".d.ts") && tsLibDir) {
24784
- const resolvedPath = join44(tsLibDir, fileName);
24807
+ const resolvedPath = join45(tsLibDir, fileName);
24785
24808
  return originalGetSourceFile?.call(host2, resolvedPath, languageVersion, onError);
24786
24809
  }
24787
24810
  return originalGetSourceFile?.call(host2, fileName, languageVersion, onError);
24788
24811
  };
24789
24812
  const emitted = {};
24790
- const resolvedOutDir = resolve34(outDir);
24813
+ const resolvedOutDir = resolve35(outDir);
24791
24814
  host2.writeFile = (fileName, text3) => {
24792
24815
  const relativePath = resolveRelativePath(fileName, resolvedOutDir, outDir);
24793
24816
  emitted[relativePath] = text3;
@@ -24809,12 +24832,12 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
24809
24832
  if (!fileName.endsWith(".ts") || fileName.endsWith(".d.ts")) {
24810
24833
  return source;
24811
24834
  }
24812
- const resolvedPath = resolve34(fileName);
24835
+ const resolvedPath = resolve35(fileName);
24813
24836
  return transformedSources.get(resolvedPath) ?? source;
24814
24837
  };
24815
24838
  const originalGetSourceFileForCompile = host2.getSourceFile;
24816
24839
  host2.getSourceFile = (fileName, languageVersion, onError) => {
24817
- const source = transformedSources.get(resolve34(fileName));
24840
+ const source = transformedSources.get(resolve35(fileName));
24818
24841
  if (source) {
24819
24842
  return ts18.createSourceFile(fileName, source, languageVersion, true);
24820
24843
  }
@@ -24836,9 +24859,9 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
24836
24859
  const entries = await traceAngularPhase("aot/postprocess-emitted-js", () => {
24837
24860
  const rawEntries = Object.entries(emitted).filter(([fileName]) => fileName.endsWith(".js")).map(([fileName, content]) => ({
24838
24861
  content,
24839
- target: join44(outDir, fileName)
24862
+ target: join45(outDir, fileName)
24840
24863
  }));
24841
- const outputFiles = new Set(rawEntries.map(({ target }) => resolve34(target)));
24864
+ const outputFiles = new Set(rawEntries.map(({ target }) => resolve35(target)));
24842
24865
  return rawEntries.map(({ content, target }) => {
24843
24866
  let processedContent = content.replace(/from\s+(['"])(\.\.?\/[^'"]+)(\1)/g, (match, quote, path2) => {
24844
24867
  const rewritten = rewriteRelativeJsSpecifier(target, path2, outputFiles);
@@ -24853,7 +24876,7 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
24853
24876
  return cleaned ? `import { ${cleaned}, InternalInjectFlags } from '@angular/core'` : `import { InternalInjectFlags } from '@angular/core'`;
24854
24877
  });
24855
24878
  processedContent = processedContent.replace(/\b(?<!Internal)InjectFlags\b/g, "InternalInjectFlags");
24856
- processedContent += islandMetadataByOutputPath.get(resolve34(target)) ?? "";
24879
+ processedContent += islandMetadataByOutputPath.get(resolve35(target)) ?? "";
24857
24880
  return { content: processedContent, target };
24858
24881
  });
24859
24882
  });
@@ -24863,7 +24886,7 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
24863
24886
  })), { outputs: entries.length });
24864
24887
  return await traceAngularPhase("aot/collect-output-paths", () => entries.map(({ target }) => target), { outputs: entries.length });
24865
24888
  }, compileAngularFile = async (inputPath, outDir, stylePreprocessors) => compileAngularFiles([inputPath], outDir, stylePreprocessors), jitContentCache, invalidateAngularJitCache = (filePath) => {
24866
- jitContentCache.delete(resolve34(filePath));
24889
+ jitContentCache.delete(resolve35(filePath));
24867
24890
  }, wrapperOutputCache, escapeTemplateContent = (content) => content.replace(/\\/g, "\\\\").replace(/`/g, "\\`").replace(/\$\{/g, "\\${"), findUncommentedMatch = (source, pattern) => {
24868
24891
  const re2 = new RegExp(pattern.source, pattern.flags.includes("g") ? pattern.flags : pattern.flags + "g");
24869
24892
  let match;
@@ -24876,7 +24899,7 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path2, content) =>
24876
24899
  }
24877
24900
  return null;
24878
24901
  }, resolveAngularDeferImportSpecifier = () => {
24879
- const sourceEntry = resolve34(import.meta.dir, "../angular/components/index.ts");
24902
+ const sourceEntry = resolve35(import.meta.dir, "../angular/components/index.ts");
24880
24903
  if (existsSync35(sourceEntry)) {
24881
24904
  return sourceEntry.replace(/\\/g, "/");
24882
24905
  }
@@ -25013,7 +25036,7 @@ ${fields}
25013
25036
  }, inlineTemplateAndLowerDefer = async (source, fileDir) => {
25014
25037
  const templateUrlMatch = findUncommentedMatch(source, /templateUrl\s*:\s*['"]([^'"]+)['"]/);
25015
25038
  if (templateUrlMatch?.[1]) {
25016
- const templatePath = join44(fileDir, templateUrlMatch[1]);
25039
+ const templatePath = join45(fileDir, templateUrlMatch[1]);
25017
25040
  if (!existsSync35(templatePath)) {
25018
25041
  throw new Error(`Unable to inline Angular templateUrl "${templateUrlMatch[1]}": file not found at ${templatePath}`);
25019
25042
  }
@@ -25044,7 +25067,7 @@ ${fields}
25044
25067
  }, inlineTemplateAndLowerDeferSync = (source, fileDir) => {
25045
25068
  const templateUrlMatch = findUncommentedMatch(source, /templateUrl\s*:\s*['"]([^'"]+)['"]/);
25046
25069
  if (templateUrlMatch?.[1]) {
25047
- const templatePath = join44(fileDir, templateUrlMatch[1]);
25070
+ const templatePath = join45(fileDir, templateUrlMatch[1]);
25048
25071
  if (!existsSync35(templatePath)) {
25049
25072
  throw new Error(`Unable to inline Angular templateUrl "${templateUrlMatch[1]}": file not found at ${templatePath}`);
25050
25073
  }
@@ -25081,7 +25104,7 @@ ${fields}
25081
25104
  return source;
25082
25105
  const stylePromises = urlMatches.map((urlMatch) => {
25083
25106
  const styleUrl = urlMatch.replace(/['"]/g, "");
25084
- return readAndEscapeFile(join44(fileDir, styleUrl), stylePreprocessors);
25107
+ return readAndEscapeFile(join45(fileDir, styleUrl), stylePreprocessors);
25085
25108
  });
25086
25109
  const results = await Promise.all(stylePromises);
25087
25110
  const inlinedStyles = results.filter(Boolean).map((escaped) => `\`${escaped}\``);
@@ -25092,7 +25115,7 @@ ${fields}
25092
25115
  const styleUrlMatch = findUncommentedMatch(source, /styleUrl\s*:\s*['"]([^'"]+)['"]/);
25093
25116
  if (!styleUrlMatch?.[1])
25094
25117
  return source;
25095
- const escaped = await readAndEscapeFile(join44(fileDir, styleUrlMatch[1]), stylePreprocessors);
25118
+ const escaped = await readAndEscapeFile(join45(fileDir, styleUrlMatch[1]), stylePreprocessors);
25096
25119
  if (!escaped)
25097
25120
  return source;
25098
25121
  return source.slice(0, styleUrlMatch.index) + `styles: [\`${escaped}\`]` + source.slice(styleUrlMatch.index + styleUrlMatch[0].length);
@@ -25166,10 +25189,10 @@ ${fields}
25166
25189
  return "";
25167
25190
  }
25168
25191
  }, compileAngularFileJIT = async (inputPath, outDir, rootDir, stylePreprocessors, cacheBuster) => {
25169
- const entryPath = resolve34(inputPath);
25192
+ const entryPath = resolve35(inputPath);
25170
25193
  const allOutputs = [];
25171
25194
  const visited = new Set;
25172
- const baseDir = resolve34(rootDir ?? process.cwd());
25195
+ const baseDir = resolve35(rootDir ?? process.cwd());
25173
25196
  let usesLegacyAnimations = false;
25174
25197
  const angularTranspiler = new Bun.Transpiler({
25175
25198
  loader: "ts",
@@ -25188,16 +25211,16 @@ ${fields}
25188
25211
  `${candidate}.js`,
25189
25212
  `${candidate}.jsx`,
25190
25213
  `${candidate}.json`,
25191
- join44(candidate, "index.ts"),
25192
- join44(candidate, "index.tsx"),
25193
- join44(candidate, "index.js"),
25194
- join44(candidate, "index.jsx")
25214
+ join45(candidate, "index.ts"),
25215
+ join45(candidate, "index.tsx"),
25216
+ join45(candidate, "index.js"),
25217
+ join45(candidate, "index.jsx")
25195
25218
  ];
25196
25219
  return candidates.find((file5) => existsSync35(file5));
25197
25220
  };
25198
25221
  const resolveLocalImport = (specifier, fromDir) => {
25199
25222
  if (specifier.startsWith(".") || specifier.startsWith("/")) {
25200
- return resolveSourceFile2(resolve34(fromDir, specifier));
25223
+ return resolveSourceFile2(resolve35(fromDir, specifier));
25201
25224
  }
25202
25225
  const aliased = matchTsconfigAlias(specifier, tsconfigAliases.aliases, tsconfigAliases.baseUrl, resolveSourceFile2);
25203
25226
  if (aliased)
@@ -25206,7 +25229,7 @@ ${fields}
25206
25229
  const resolved = Bun.resolveSync(specifier, fromDir);
25207
25230
  if (resolved.includes("/node_modules/"))
25208
25231
  return;
25209
- const absolute = resolve34(resolved);
25232
+ const absolute = resolve35(resolved);
25210
25233
  if (!absolute.startsWith(baseDir))
25211
25234
  return;
25212
25235
  return resolveSourceFile2(absolute);
@@ -25217,11 +25240,11 @@ ${fields}
25217
25240
  const toOutputPath = (sourcePath) => {
25218
25241
  const inputDir = dirname26(sourcePath);
25219
25242
  const fileBase = basename15(sourcePath).replace(/\.[cm]?[tj]sx?$/, ".js");
25220
- if (inputDir === outDir || inputDir.startsWith(`${outDir}${sep4}`)) {
25221
- return join44(inputDir, fileBase);
25243
+ if (inputDir === outDir || inputDir.startsWith(`${outDir}${sep5}`)) {
25244
+ return join45(inputDir, fileBase);
25222
25245
  }
25223
25246
  const relativeDir = inputDir.startsWith(baseDir) ? inputDir.substring(baseDir.length + 1) : inputDir;
25224
- return join44(outDir, relativeDir, fileBase);
25247
+ return join45(outDir, relativeDir, fileBase);
25225
25248
  };
25226
25249
  const withCacheBuster = (specifier) => {
25227
25250
  if (!cacheBuster)
@@ -25258,21 +25281,21 @@ ${fields}
25258
25281
  return `${prefix}${dots}`;
25259
25282
  return `${prefix}../${dots}`;
25260
25283
  });
25261
- if (resolve34(actualPath) === entryPath) {
25284
+ if (resolve35(actualPath) === entryPath) {
25262
25285
  processedContent += buildIslandMetadataExports(sourceCode);
25263
25286
  }
25264
25287
  return processedContent;
25265
25288
  };
25266
25289
  const transpileFile = async (filePath) => {
25267
- const resolved = resolve34(filePath);
25290
+ const resolved = resolve35(filePath);
25268
25291
  if (visited.has(resolved))
25269
25292
  return;
25270
25293
  visited.add(resolved);
25271
25294
  if (resolved.endsWith(".json") && existsSync35(resolved)) {
25272
25295
  const inputDir2 = dirname26(resolved);
25273
25296
  const relativeDir2 = inputDir2.startsWith(baseDir) ? inputDir2.substring(baseDir.length + 1) : inputDir2;
25274
- const targetDir2 = join44(outDir, relativeDir2);
25275
- const targetPath2 = join44(targetDir2, basename15(resolved));
25297
+ const targetDir2 = join45(outDir, relativeDir2);
25298
+ const targetPath2 = join45(targetDir2, basename15(resolved));
25276
25299
  await fs5.mkdir(targetDir2, { recursive: true });
25277
25300
  await fs5.copyFile(resolved, targetPath2);
25278
25301
  allOutputs.push(targetPath2);
@@ -25290,7 +25313,7 @@ ${fields}
25290
25313
  const fileBase = basename15(actualPath).replace(/\.[cm]?[tj]sx?$/, ".js");
25291
25314
  const targetPath = toOutputPath(actualPath);
25292
25315
  const targetDir = dirname26(targetPath);
25293
- const relativeDir = relative18(outDir, targetDir).replace(/\\/g, "/");
25316
+ const relativeDir = relative19(outDir, targetDir).replace(/\\/g, "/");
25294
25317
  const localImports = [];
25295
25318
  const importRewrites = new Map;
25296
25319
  const fromRegex = /(?:from|import)\s+['"]([^'".][^'"]*|\.\.?\/[^'"]+)['"]/g;
@@ -25311,12 +25334,12 @@ ${fields}
25311
25334
  const resolved2 = resolveLocalImport(specifier, inputDir);
25312
25335
  if (!resolved2)
25313
25336
  return null;
25314
- const relativeImport = relative18(targetDir, toOutputPath(resolved2)).replace(/\\/g, "/").replace(/\.js$/, "");
25337
+ const relativeImport = relative19(targetDir, toOutputPath(resolved2)).replace(/\\/g, "/").replace(/\.js$/, "");
25315
25338
  const relativeRewrite = relativeImport.startsWith(".") ? relativeImport : `./${relativeImport}`;
25316
25339
  importRewrites.set(specifier, relativeRewrite);
25317
25340
  return resolved2;
25318
25341
  }).filter((path2) => Boolean(path2));
25319
- const isEntry = resolve34(actualPath) === resolve34(entryPath);
25342
+ const isEntry = resolve35(actualPath) === resolve35(entryPath);
25320
25343
  const contentHash = Bun.hash(sourceCode).toString(BASE_36_RADIX);
25321
25344
  const cacheKey3 = actualPath;
25322
25345
  const shouldWriteFile = cacheBuster && isEntry ? true : jitContentCache.get(cacheKey3) !== contentHash || !existsSync35(targetPath);
@@ -25351,13 +25374,13 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
25351
25374
  return { clientPaths: [...emptyPaths], serverPaths: [...emptyPaths] };
25352
25375
  }
25353
25376
  const compiledRoot = compiledParent;
25354
- const indexesDir = join44(compiledParent, "indexes");
25377
+ const indexesDir = join45(compiledParent, "indexes");
25355
25378
  await traceAngularPhase("setup/create-indexes-dir", () => fs5.mkdir(indexesDir, { recursive: true }));
25356
- const aotOutputs = hmr ? [] : await traceAngularPhase("aot/compile-files", () => compileAngularFiles(entryPoints.map((entry) => resolve34(entry)), compiledRoot, stylePreprocessors), { entries: entryPoints.length });
25379
+ const aotOutputs = hmr ? [] : await traceAngularPhase("aot/compile-files", () => compileAngularFiles(entryPoints.map((entry) => resolve35(entry)), compiledRoot, stylePreprocessors), { entries: entryPoints.length });
25357
25380
  if (!hmr) {
25358
25381
  await traceAngularPhase("aot/copy-json-resources", async () => {
25359
25382
  const cwd = process.cwd();
25360
- const angularSrcDir = resolve34(outRoot);
25383
+ const angularSrcDir = resolve35(outRoot);
25361
25384
  if (!existsSync35(angularSrcDir))
25362
25385
  return;
25363
25386
  const jsonGlob = new Glob6("**/*.json");
@@ -25365,9 +25388,9 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
25365
25388
  absolute: false,
25366
25389
  cwd: angularSrcDir
25367
25390
  })) {
25368
- const sourcePath = join44(angularSrcDir, rel);
25369
- const cwdRel = relative18(cwd, sourcePath);
25370
- const targetPath = join44(compiledRoot, cwdRel);
25391
+ const sourcePath = join45(angularSrcDir, rel);
25392
+ const cwdRel = relative19(cwd, sourcePath);
25393
+ const targetPath = join45(compiledRoot, cwdRel);
25371
25394
  await fs5.mkdir(dirname26(targetPath), { recursive: true });
25372
25395
  await fs5.copyFile(sourcePath, targetPath);
25373
25396
  }
@@ -25375,8 +25398,8 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
25375
25398
  }
25376
25399
  const usesLegacyAngularAnimations = await traceAngularPhase("setup/legacy-animation-resolver", () => createLegacyAngularAnimationUsageResolver(outRoot));
25377
25400
  const compileTasks = entryPoints.map(async (entry) => {
25378
- const resolvedEntry = resolve34(entry);
25379
- const relativeEntry = relative18(outRoot, resolvedEntry).replace(/\.[tj]s$/, ".js");
25401
+ const resolvedEntry = resolve35(entry);
25402
+ const relativeEntry = relative19(outRoot, resolvedEntry).replace(/\.[tj]s$/, ".js");
25380
25403
  const compileEntry = () => compileAngularFileJIT(resolvedEntry, compiledRoot, outRoot, stylePreprocessors);
25381
25404
  let outputs = hmr ? await traceAngularPhase("jit/compile-entry", compileEntry, {
25382
25405
  entry: resolvedEntry
@@ -25384,21 +25407,21 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
25384
25407
  const fileBase = basename15(resolvedEntry).replace(/\.[tj]s$/, "");
25385
25408
  const jsName = `${fileBase}.js`;
25386
25409
  const compiledFallbackPaths = [
25387
- join44(compiledRoot, relativeEntry),
25388
- join44(compiledRoot, "pages", jsName),
25389
- join44(compiledRoot, jsName)
25390
- ].map((file5) => resolve34(file5));
25410
+ join45(compiledRoot, relativeEntry),
25411
+ join45(compiledRoot, "pages", jsName),
25412
+ join45(compiledRoot, jsName)
25413
+ ].map((file5) => resolve35(file5));
25391
25414
  const resolveRawServerFile = (candidatePaths) => {
25392
25415
  const normalizedCandidates = [
25393
- ...candidatePaths.map((file5) => resolve34(file5)),
25416
+ ...candidatePaths.map((file5) => resolve35(file5)),
25394
25417
  ...compiledFallbackPaths
25395
25418
  ];
25396
- let candidate = normalizedCandidates.find((file5) => existsSync35(file5) && file5.endsWith(`${sep4}${relativeEntry}`));
25419
+ let candidate = normalizedCandidates.find((file5) => existsSync35(file5) && file5.endsWith(`${sep5}${relativeEntry}`));
25397
25420
  if (!candidate) {
25398
- candidate = normalizedCandidates.find((file5) => existsSync35(file5) && file5.endsWith(`${sep4}pages${sep4}${jsName}`));
25421
+ candidate = normalizedCandidates.find((file5) => existsSync35(file5) && file5.endsWith(`${sep5}pages${sep5}${jsName}`));
25399
25422
  }
25400
25423
  if (!candidate) {
25401
- candidate = normalizedCandidates.find((file5) => existsSync35(file5) && file5.endsWith(`${sep4}${jsName}`));
25424
+ candidate = normalizedCandidates.find((file5) => existsSync35(file5) && file5.endsWith(`${sep5}${jsName}`));
25402
25425
  }
25403
25426
  if (!candidate) {
25404
25427
  candidate = normalizedCandidates.find((file5) => existsSync35(file5));
@@ -25448,7 +25471,7 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
25448
25471
  })() : "no-providers";
25449
25472
  const serverContentHash = `${Bun.hash(original).toString(BASE_36_RADIX)}.${Bun.hash(providersHashInput).toString(BASE_36_RADIX)}`;
25450
25473
  const cachedWrapper = wrapperOutputCache.get(resolvedEntry);
25451
- const clientFile = join44(indexesDir, jsName);
25474
+ const clientFile = join45(indexesDir, jsName);
25452
25475
  if (hmr && cachedWrapper && cachedWrapper.serverHash === serverContentHash && existsSync35(clientFile) && (usesLegacyAnimations || !original.includes("__ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__")) && (!usesLegacyAnimations || original.includes("__ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__"))) {
25453
25476
  return {
25454
25477
  clientPath: clientFile,
@@ -25480,13 +25503,13 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
25480
25503
  const fragments = [];
25481
25504
  if (providersInjection.appProvidersSource) {
25482
25505
  const compiledAppProvidersPath = (() => {
25483
- const angularDirAbs = resolve34(outRoot);
25484
- const appSourceAbs = resolve34(providersInjection.appProvidersSource);
25485
- const rel = relative18(angularDirAbs, appSourceAbs).replace(/\\/g, "/");
25486
- return join44(compiledParent, rel).replace(/\.[cm]?[tj]sx?$/, ".js");
25506
+ const angularDirAbs = resolve35(outRoot);
25507
+ const appSourceAbs = resolve35(providersInjection.appProvidersSource);
25508
+ const rel = relative19(angularDirAbs, appSourceAbs).replace(/\\/g, "/");
25509
+ return join45(compiledParent, rel).replace(/\.[cm]?[tj]sx?$/, ".js");
25487
25510
  })();
25488
25511
  const appProvidersSpec = (() => {
25489
- const rel = relative18(dirname26(rawServerFile), compiledAppProvidersPath).replace(/\\/g, "/");
25512
+ const rel = relative19(dirname26(rawServerFile), compiledAppProvidersPath).replace(/\\/g, "/");
25490
25513
  return rel.startsWith(".") ? rel : `./${rel}`;
25491
25514
  })();
25492
25515
  importLines.push(`import { appProviders as __abs_globalProviders } from "${appProvidersSpec}";`);
@@ -25511,7 +25534,7 @@ export const providers = [${fragments.join(", ")}];
25511
25534
  }
25512
25535
  }
25513
25536
  await traceAngularPhase("wrapper/write-server-output", () => writeTextFileAtomically(rawServerFile, rewritten), { entry: resolvedEntry });
25514
- const relativePath = relative18(indexesDir, rawServerFile).replace(/\\/g, "/");
25537
+ const relativePath = relative19(indexesDir, rawServerFile).replace(/\\/g, "/");
25515
25538
  const normalizedImportPath = relativePath.startsWith(".") ? relativePath : `./${relativePath}`;
25516
25539
  const hmrPreamble = hmr ? `window.__HMR_FRAMEWORK__ = "angular";
25517
25540
  import "${hmrClientPath5}";
@@ -25744,7 +25767,7 @@ var init_compileAngular = __esm(() => {
25744
25767
  init_stylePreprocessor();
25745
25768
  init_generatedDir();
25746
25769
  devClientDir4 = resolveDevClientDir4();
25747
- hmrClientPath5 = join44(devClientDir4, "hmrClient.ts").replace(/\\/g, "/");
25770
+ hmrClientPath5 = join45(devClientDir4, "hmrClient.ts").replace(/\\/g, "/");
25748
25771
  jitContentCache = new Map;
25749
25772
  wrapperOutputCache = new Map;
25750
25773
  PROVIDERS_INJECTION_BLOCK_RE = /\n\/\* __ABS_PROVIDERS_INJECTION_START \*\/[\s\S]*?\/\* __ABS_PROVIDERS_INJECTION_END \*\/\n?/;
@@ -26199,7 +26222,7 @@ __export(exports_compileEmber, {
26199
26222
  });
26200
26223
  import { existsSync as existsSync36 } from "fs";
26201
26224
  import { mkdir as mkdir12, rm as rm7 } from "fs/promises";
26202
- import { basename as basename16, dirname as dirname27, extname as extname12, join as join45, resolve as resolve35 } from "path";
26225
+ import { basename as basename16, dirname as dirname27, extname as extname12, join as join46, resolve as resolve36 } from "path";
26203
26226
  var {build: bunBuild2, Transpiler: Transpiler5, write: write5, file: file5 } = globalThis.Bun;
26204
26227
  var cachedPreprocessor = null, getPreprocessor = async () => {
26205
26228
  if (cachedPreprocessor)
@@ -26295,7 +26318,7 @@ export const importSync = (specifier) => {
26295
26318
  const originalImporter = stagedSourceMap.get(args.importer);
26296
26319
  if (!originalImporter)
26297
26320
  return;
26298
- const candidateBase = resolve35(dirname27(originalImporter), args.path);
26321
+ const candidateBase = resolve36(dirname27(originalImporter), args.path);
26299
26322
  const extensionsToTry = ["", ".gts", ".gjs", ".ts", ".js"];
26300
26323
  for (const ext of extensionsToTry) {
26301
26324
  const candidate = candidateBase + ext;
@@ -26318,7 +26341,7 @@ export const importSync = (specifier) => {
26318
26341
  build2.onResolve({ filter: /^@(?:ember|glimmer|simple-dom)\// }, (args) => {
26319
26342
  if (standalonePackages.has(args.path))
26320
26343
  return;
26321
- const internal = join45(cwd, "node_modules/ember-source/dist/packages", args.path, "index.js");
26344
+ const internal = join46(cwd, "node_modules/ember-source/dist/packages", args.path, "index.js");
26322
26345
  if (existsSync36(internal))
26323
26346
  return { path: internal };
26324
26347
  return;
@@ -26354,7 +26377,7 @@ export const renderToHTML = (props = {}) => {
26354
26377
  export { PageComponent };
26355
26378
  export default PageComponent;
26356
26379
  `, compileEmberFile = async (entry, compiledRoot, cwd = process.cwd()) => {
26357
- const resolvedEntry = resolve35(entry);
26380
+ const resolvedEntry = resolve36(entry);
26358
26381
  const source = await file5(resolvedEntry).text();
26359
26382
  let preprocessed = source;
26360
26383
  if (isTemplateTagFile(resolvedEntry)) {
@@ -26366,16 +26389,16 @@ export default PageComponent;
26366
26389
  }
26367
26390
  const transpiled = transpiler6.transformSync(preprocessed);
26368
26391
  const baseName = basename16(resolvedEntry).replace(/\.(gjs|gts|ts|js)$/, "");
26369
- const tmpDir = join45(compiledRoot, "_tmp");
26370
- const serverDir = join45(compiledRoot, "server");
26371
- const clientDir = join45(compiledRoot, "client");
26392
+ const tmpDir = join46(compiledRoot, "_tmp");
26393
+ const serverDir = join46(compiledRoot, "server");
26394
+ const clientDir = join46(compiledRoot, "client");
26372
26395
  await Promise.all([
26373
26396
  mkdir12(tmpDir, { recursive: true }),
26374
26397
  mkdir12(serverDir, { recursive: true }),
26375
26398
  mkdir12(clientDir, { recursive: true })
26376
26399
  ]);
26377
- const tmpPagePath = resolve35(join45(tmpDir, `${baseName}.module.js`));
26378
- const tmpHarnessPath = resolve35(join45(tmpDir, `${baseName}.harness.js`));
26400
+ const tmpPagePath = resolve36(join46(tmpDir, `${baseName}.module.js`));
26401
+ const tmpHarnessPath = resolve36(join46(tmpDir, `${baseName}.harness.js`));
26379
26402
  await Promise.all([
26380
26403
  write5(tmpPagePath, transpiled),
26381
26404
  write5(tmpHarnessPath, generateServerHarness(tmpPagePath))
@@ -26383,7 +26406,7 @@ export default PageComponent;
26383
26406
  const stagedSourceMap = new Map([
26384
26407
  [tmpPagePath, resolvedEntry]
26385
26408
  ]);
26386
- const serverPath = join45(serverDir, `${baseName}.js`);
26409
+ const serverPath = join46(serverDir, `${baseName}.js`);
26387
26410
  const buildResult = await bunBuild2({
26388
26411
  entrypoints: [tmpHarnessPath],
26389
26412
  format: "esm",
@@ -26400,7 +26423,7 @@ export default PageComponent;
26400
26423
  console.warn(`\u26A0\uFE0F Ember server build for ${baseName} had errors:`, buildResult.logs);
26401
26424
  }
26402
26425
  await rm7(tmpDir, { force: true, recursive: true });
26403
- const clientPath = join45(clientDir, `${baseName}.js`);
26426
+ const clientPath = join46(clientDir, `${baseName}.js`);
26404
26427
  await write5(clientPath, transpiled);
26405
26428
  return { clientPath, serverPath };
26406
26429
  }, compileEmber = async (entries, emberDir, cwd = process.cwd(), _hmr = false) => {
@@ -26417,7 +26440,7 @@ export default PageComponent;
26417
26440
  serverPaths: outputs.map((o3) => o3.serverPath)
26418
26441
  };
26419
26442
  }, compileEmberFileSource = async (entry) => {
26420
- const resolvedEntry = resolve35(entry);
26443
+ const resolvedEntry = resolve36(entry);
26421
26444
  const source = await file5(resolvedEntry).text();
26422
26445
  let preprocessed = source;
26423
26446
  if (isTemplateTagFile(resolvedEntry)) {
@@ -26428,7 +26451,7 @@ export default PageComponent;
26428
26451
  preprocessed = rewriteTemplateEvalToScope(result.code);
26429
26452
  }
26430
26453
  return transpiler6.transformSync(preprocessed);
26431
- }, clearEmberCompilerCache = () => {}, getEmberCompiledRoot = (_emberDir) => getFrameworkGeneratedDir("ember"), getEmberServerCompiledDir = (emberDir) => join45(getEmberCompiledRoot(emberDir), "server"), getEmberClientCompiledDir = (emberDir) => join45(getEmberCompiledRoot(emberDir), "client");
26454
+ }, clearEmberCompilerCache = () => {}, getEmberCompiledRoot = (_emberDir) => getFrameworkGeneratedDir("ember"), getEmberServerCompiledDir = (emberDir) => join46(getEmberCompiledRoot(emberDir), "server"), getEmberClientCompiledDir = (emberDir) => join46(getEmberCompiledRoot(emberDir), "client");
26432
26455
  var init_compileEmber = __esm(() => {
26433
26456
  init_generatedDir();
26434
26457
  transpiler6 = new Transpiler5({
@@ -26450,24 +26473,24 @@ __export(exports_buildReactVendor, {
26450
26473
  computeVendorPaths: () => computeVendorPaths
26451
26474
  });
26452
26475
  import { existsSync as existsSync37, mkdirSync as mkdirSync8 } from "fs";
26453
- import { join as join46, resolve as resolve36 } from "path";
26476
+ import { join as join47, resolve as resolve37 } from "path";
26454
26477
  import { rm as rm8 } from "fs/promises";
26455
26478
  var {build: bunBuild3 } = globalThis.Bun;
26456
26479
  var resolveJsxDevRuntimeCompatPath = () => {
26457
26480
  const candidates = [
26458
- resolve36(import.meta.dir, "react", "jsxDevRuntimeCompat.js"),
26459
- resolve36(import.meta.dir, "src", "react", "jsxDevRuntimeCompat.ts"),
26460
- resolve36(import.meta.dir, "..", "react", "jsxDevRuntimeCompat.js"),
26461
- resolve36(import.meta.dir, "..", "src", "react", "jsxDevRuntimeCompat.ts"),
26462
- resolve36(import.meta.dir, "..", "..", "dist", "react", "jsxDevRuntimeCompat.js"),
26463
- resolve36(import.meta.dir, "..", "..", "src", "react", "jsxDevRuntimeCompat.ts")
26481
+ resolve37(import.meta.dir, "react", "jsxDevRuntimeCompat.js"),
26482
+ resolve37(import.meta.dir, "src", "react", "jsxDevRuntimeCompat.ts"),
26483
+ resolve37(import.meta.dir, "..", "react", "jsxDevRuntimeCompat.js"),
26484
+ resolve37(import.meta.dir, "..", "src", "react", "jsxDevRuntimeCompat.ts"),
26485
+ resolve37(import.meta.dir, "..", "..", "dist", "react", "jsxDevRuntimeCompat.js"),
26486
+ resolve37(import.meta.dir, "..", "..", "src", "react", "jsxDevRuntimeCompat.ts")
26464
26487
  ];
26465
26488
  for (const candidate of candidates) {
26466
26489
  if (existsSync37(candidate)) {
26467
26490
  return candidate.replace(/\\/g, "/");
26468
26491
  }
26469
26492
  }
26470
- return (candidates[0] ?? resolve36(import.meta.dir, "react", "jsxDevRuntimeCompat.js")).replace(/\\/g, "/");
26493
+ return (candidates[0] ?? resolve37(import.meta.dir, "react", "jsxDevRuntimeCompat.js")).replace(/\\/g, "/");
26471
26494
  }, jsxDevRuntimeCompatPath, jsxRuntimeCompatPath, reactSpecifiers, toSafeFileName = (specifier) => specifier.replace(/\//g, "_"), computeVendorPaths = () => {
26472
26495
  const paths = {};
26473
26496
  for (const specifier of reactSpecifiers) {
@@ -26500,14 +26523,14 @@ var resolveJsxDevRuntimeCompatPath = () => {
26500
26523
  `)}
26501
26524
  `;
26502
26525
  }, buildReactVendor = async (buildDir) => {
26503
- const vendorDir = join46(buildDir, "react", "vendor");
26526
+ const vendorDir = join47(buildDir, "react", "vendor");
26504
26527
  mkdirSync8(vendorDir, { recursive: true });
26505
- const tmpDir = join46(buildDir, "_vendor_tmp");
26528
+ const tmpDir = join47(buildDir, "_vendor_tmp");
26506
26529
  mkdirSync8(tmpDir, { recursive: true });
26507
26530
  const specifiers = reactSpecifiers;
26508
26531
  const entrypoints = await Promise.all(specifiers.map(async (specifier) => {
26509
26532
  const safeName = toSafeFileName(specifier);
26510
- const entryPath = join46(tmpDir, `${safeName}.ts`);
26533
+ const entryPath = join47(tmpDir, `${safeName}.ts`);
26511
26534
  const source = await generateEntrySource(specifier);
26512
26535
  await Bun.write(entryPath, source);
26513
26536
  return entryPath;
@@ -26575,7 +26598,7 @@ __export(exports_buildAngularVendor, {
26575
26598
  computeAngularVendorPathsAsync: () => computeAngularVendorPathsAsync
26576
26599
  });
26577
26600
  import { mkdirSync as mkdirSync9 } from "fs";
26578
- import { join as join47 } from "path";
26601
+ import { join as join48 } from "path";
26579
26602
  import { rm as rm9 } from "fs/promises";
26580
26603
  var {build: bunBuild4, Glob: Glob7 } = globalThis.Bun;
26581
26604
  var REQUIRED_ANGULAR_SPECIFIERS_BASE, requiredAngularSpecifiers = (jitMode) => jitMode ? [...REQUIRED_ANGULAR_SPECIFIERS_BASE, "@angular/compiler"] : REQUIRED_ANGULAR_SPECIFIERS_BASE, SERVER_ONLY_ANGULAR_SPECIFIERS, BUILD_ONLY_ANGULAR_SPECIFIER_PREFIXES, isBuildOnlyAngularSpecifier = (spec) => BUILD_ONLY_ANGULAR_SPECIFIER_PREFIXES.some((prefix) => spec === prefix || spec.startsWith(`${prefix}/`)), SCAN_SKIP_DIRS, isResolvable = (specifier) => {
@@ -26672,14 +26695,14 @@ var REQUIRED_ANGULAR_SPECIFIERS_BASE, requiredAngularSpecifiers = (jitMode) => j
26672
26695
  await collectTransitiveAngularSpecs([...angular, ...transitiveRoots], angular);
26673
26696
  return Array.from(angular).filter(isResolvable);
26674
26697
  }, buildAngularVendor = async (buildDir, directories = [], linkerJitMode = false, depVendorSpecifiers = []) => {
26675
- const vendorDir = join47(buildDir, "angular", "vendor");
26698
+ const vendorDir = join48(buildDir, "angular", "vendor");
26676
26699
  mkdirSync9(vendorDir, { recursive: true });
26677
- const tmpDir = join47(buildDir, "_angular_vendor_tmp");
26700
+ const tmpDir = join48(buildDir, "_angular_vendor_tmp");
26678
26701
  mkdirSync9(tmpDir, { recursive: true });
26679
26702
  const specifiers = await resolveAngularSpecifiers(directories, linkerJitMode);
26680
26703
  const entrypoints = await Promise.all(specifiers.map(async (specifier) => {
26681
26704
  const safeName = toSafeFileName2(specifier);
26682
- const entryPath = join47(tmpDir, `${safeName}.ts`);
26705
+ const entryPath = join48(tmpDir, `${safeName}.ts`);
26683
26706
  await Bun.write(entryPath, await generateVendorEntrySource(specifier));
26684
26707
  return entryPath;
26685
26708
  }));
@@ -26710,9 +26733,9 @@ var REQUIRED_ANGULAR_SPECIFIERS_BASE, requiredAngularSpecifiers = (jitMode) => j
26710
26733
  const specifiers = await resolveAngularSpecifiers(directories, linkerJitMode);
26711
26734
  return computeAngularVendorPaths(specifiers);
26712
26735
  }, buildAngularServerVendor = async (buildDir, directories = [], linkerJitMode = false) => {
26713
- const vendorDir = join47(buildDir, "angular", "vendor", "server");
26736
+ const vendorDir = join48(buildDir, "angular", "vendor", "server");
26714
26737
  mkdirSync9(vendorDir, { recursive: true });
26715
- const tmpDir = join47(buildDir, "_angular_server_vendor_tmp");
26738
+ const tmpDir = join48(buildDir, "_angular_server_vendor_tmp");
26716
26739
  mkdirSync9(tmpDir, { recursive: true });
26717
26740
  const browserSpecs = await resolveAngularSpecifiers(directories, linkerJitMode);
26718
26741
  const allSpecs = new Set(browserSpecs);
@@ -26723,7 +26746,7 @@ var REQUIRED_ANGULAR_SPECIFIERS_BASE, requiredAngularSpecifiers = (jitMode) => j
26723
26746
  const specifiers = Array.from(allSpecs);
26724
26747
  const entrypoints = await Promise.all(specifiers.map(async (specifier) => {
26725
26748
  const safeName = toSafeFileName2(specifier);
26726
- const entryPath = join47(tmpDir, `${safeName}.ts`);
26749
+ const entryPath = join48(tmpDir, `${safeName}.ts`);
26727
26750
  await Bun.write(entryPath, await generateVendorEntrySource(specifier));
26728
26751
  return entryPath;
26729
26752
  }));
@@ -26745,9 +26768,9 @@ var REQUIRED_ANGULAR_SPECIFIERS_BASE, requiredAngularSpecifiers = (jitMode) => j
26745
26768
  return specifiers;
26746
26769
  }, computeAngularServerVendorPaths = (buildDir, specifiers) => {
26747
26770
  const paths = {};
26748
- const vendorDir = join47(buildDir, "angular", "vendor", "server");
26771
+ const vendorDir = join48(buildDir, "angular", "vendor", "server");
26749
26772
  for (const specifier of specifiers) {
26750
- paths[specifier] = join47(vendorDir, `${toSafeFileName2(specifier)}.js`);
26773
+ paths[specifier] = join48(vendorDir, `${toSafeFileName2(specifier)}.js`);
26751
26774
  }
26752
26775
  return paths;
26753
26776
  }, computeAngularServerVendorPathsAsync = async (buildDir, directories = [], linkerJitMode = true) => {
@@ -26803,17 +26826,17 @@ __export(exports_buildVueVendor, {
26803
26826
  computeVueVendorPaths: () => computeVueVendorPaths
26804
26827
  });
26805
26828
  import { mkdirSync as mkdirSync10 } from "fs";
26806
- import { join as join48 } from "path";
26829
+ import { join as join49 } from "path";
26807
26830
  import { rm as rm10 } from "fs/promises";
26808
26831
  var {build: bunBuild5 } = globalThis.Bun;
26809
26832
  var vueSpecifiers, toSafeFileName3 = (specifier) => specifier.replace(/\//g, "_"), buildVueVendor = async (buildDir) => {
26810
- const vendorDir = join48(buildDir, "vue", "vendor");
26833
+ const vendorDir = join49(buildDir, "vue", "vendor");
26811
26834
  mkdirSync10(vendorDir, { recursive: true });
26812
- const tmpDir = join48(buildDir, "_vue_vendor_tmp");
26835
+ const tmpDir = join49(buildDir, "_vue_vendor_tmp");
26813
26836
  mkdirSync10(tmpDir, { recursive: true });
26814
26837
  const entrypoints = await Promise.all(vueSpecifiers.map(async (specifier) => {
26815
26838
  const safeName = toSafeFileName3(specifier);
26816
- const entryPath = join48(tmpDir, `${safeName}.ts`);
26839
+ const entryPath = join49(tmpDir, `${safeName}.ts`);
26817
26840
  await Bun.write(entryPath, `export * from '${specifier}';
26818
26841
  `);
26819
26842
  return entryPath;
@@ -26841,7 +26864,7 @@ var vueSpecifiers, toSafeFileName3 = (specifier) => specifier.replace(/\//g, "_"
26841
26864
  const { readFileSync: readFileSync33, writeFileSync: writeFileSync10, readdirSync: readdirSync7 } = await import("fs");
26842
26865
  const files = readdirSync7(vendorDir).filter((f2) => f2.endsWith(".js"));
26843
26866
  for (const file6 of files) {
26844
- const filePath = join48(vendorDir, file6);
26867
+ const filePath = join49(vendorDir, file6);
26845
26868
  const content = readFileSync33(filePath, "utf-8");
26846
26869
  if (!content.includes("__VUE_HMR_RUNTIME__"))
26847
26870
  continue;
@@ -26868,7 +26891,7 @@ __export(exports_buildSvelteVendor, {
26868
26891
  computeSvelteVendorPaths: () => computeSvelteVendorPaths
26869
26892
  });
26870
26893
  import { mkdirSync as mkdirSync11 } from "fs";
26871
- import { join as join49 } from "path";
26894
+ import { join as join50 } from "path";
26872
26895
  import { rm as rm11 } from "fs/promises";
26873
26896
  var {build: bunBuild6 } = globalThis.Bun;
26874
26897
  var svelteSpecifiers, isResolvable2 = (specifier) => {
@@ -26882,13 +26905,13 @@ var svelteSpecifiers, isResolvable2 = (specifier) => {
26882
26905
  const specifiers = resolveVendorSpecifiers();
26883
26906
  if (specifiers.length === 0)
26884
26907
  return;
26885
- const vendorDir = join49(buildDir, "svelte", "vendor");
26908
+ const vendorDir = join50(buildDir, "svelte", "vendor");
26886
26909
  mkdirSync11(vendorDir, { recursive: true });
26887
- const tmpDir = join49(buildDir, "_svelte_vendor_tmp");
26910
+ const tmpDir = join50(buildDir, "_svelte_vendor_tmp");
26888
26911
  mkdirSync11(tmpDir, { recursive: true });
26889
26912
  const entrypoints = await Promise.all(specifiers.map(async (specifier) => {
26890
26913
  const safeName = toSafeFileName4(specifier);
26891
- const entryPath = join49(tmpDir, `${safeName}.ts`);
26914
+ const entryPath = join50(tmpDir, `${safeName}.ts`);
26892
26915
  await Bun.write(entryPath, `export * from '${specifier}';
26893
26916
  `);
26894
26917
  return entryPath;
@@ -26939,7 +26962,7 @@ import {
26939
26962
  statSync as statSync4,
26940
26963
  writeFileSync as writeFileSync10
26941
26964
  } from "fs";
26942
- import { basename as basename17, dirname as dirname28, extname as extname13, join as join50, relative as relative19, resolve as resolve37 } from "path";
26965
+ import { basename as basename17, dirname as dirname28, extname as extname13, join as join51, relative as relative20, resolve as resolve38 } from "path";
26943
26966
  import { cwd, env as env3, exit } from "process";
26944
26967
  var {build: bunBuild7, Glob: Glob8 } = globalThis.Bun;
26945
26968
  var isBuildTraceEnabled = () => {
@@ -27073,8 +27096,8 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
27073
27096
  mkdirSync12(htmxDestDir, { recursive: true });
27074
27097
  const glob = new Glob8("htmx*.min.js");
27075
27098
  for (const relPath of glob.scanSync({ cwd: htmxDir })) {
27076
- const src = join50(htmxDir, relPath);
27077
- const dest = join50(htmxDestDir, "htmx.min.js");
27099
+ const src = join51(htmxDir, relPath);
27100
+ const dest = join51(htmxDestDir, "htmx.min.js");
27078
27101
  copyFileSync3(src, dest);
27079
27102
  return;
27080
27103
  }
@@ -27088,8 +27111,8 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
27088
27111
  if (globalThis.__absoluteVersion)
27089
27112
  return;
27090
27113
  const candidates = [
27091
- resolve37(import.meta.dir, "..", "..", "package.json"),
27092
- resolve37(import.meta.dir, "..", "package.json")
27114
+ resolve38(import.meta.dir, "..", "..", "package.json"),
27115
+ resolve38(import.meta.dir, "..", "package.json")
27093
27116
  ];
27094
27117
  const resolveCandidate = async (remaining) => {
27095
27118
  const [candidate, ...rest] = remaining;
@@ -27105,7 +27128,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
27105
27128
  };
27106
27129
  await resolveCandidate(candidates);
27107
27130
  }, SKIP_DIRS5, addWorkerPathIfExists = (file6, relPath, workerPaths) => {
27108
- const absPath = resolve37(file6, "..", relPath);
27131
+ const absPath = resolve38(file6, "..", relPath);
27109
27132
  try {
27110
27133
  statSync4(absPath);
27111
27134
  workerPaths.add(absPath);
@@ -27158,7 +27181,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
27158
27181
  const out = [];
27159
27182
  const directories = [];
27160
27183
  for (const entry of entries) {
27161
- const full = join50(dir, entry.name);
27184
+ const full = join51(dir, entry.name);
27162
27185
  if (entry.isDirectory()) {
27163
27186
  directories.push(full);
27164
27187
  } else if (entry.isFile() && entry.name.endsWith(".ts") && !entry.name.endsWith(".d.ts")) {
@@ -27184,7 +27207,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
27184
27207
  vuePagesPath
27185
27208
  }) => {
27186
27209
  const { readdirSync: readDir } = await import("fs");
27187
- const devIndexDir = join50(buildPath, "_src_indexes");
27210
+ const devIndexDir = join51(buildPath, "_src_indexes");
27188
27211
  mkdirSync12(devIndexDir, { recursive: true });
27189
27212
  if (reactIndexesPath && reactPagesPath) {
27190
27213
  copyReactDevIndexes(reactIndexesPath, reactPagesPath, devIndexDir, readDir);
@@ -27200,42 +27223,42 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
27200
27223
  return;
27201
27224
  }
27202
27225
  const indexFiles = readDir(reactIndexesPath).filter((file6) => file6.endsWith(".tsx"));
27203
- const pagesRel = relative19(process.cwd(), resolve37(reactPagesPath)).replace(/\\/g, "/");
27226
+ const pagesRel = relative20(process.cwd(), resolve38(reactPagesPath)).replace(/\\/g, "/");
27204
27227
  for (const file6 of indexFiles) {
27205
- let content = readFileSync33(join50(reactIndexesPath, file6), "utf-8");
27228
+ let content = readFileSync33(join51(reactIndexesPath, file6), "utf-8");
27206
27229
  content = content.replace(/from\s*['"]([^'"]*\/pages\/([^'"]+))['"]/g, (_match, _fullPath, componentName) => `from '/@src/${pagesRel}/${componentName}'`);
27207
- writeFileSync10(join50(devIndexDir, file6), content);
27230
+ writeFileSync10(join51(devIndexDir, file6), content);
27208
27231
  }
27209
27232
  }, copySvelteDevIndexes = (svelteDir, sveltePagesPath, svelteEntries, devIndexDir) => {
27210
- const svelteIndexDir = join50(getFrameworkGeneratedDir("svelte"), "indexes");
27211
- const sveltePageEntries = svelteEntries.filter((file6) => resolve37(file6).startsWith(resolve37(sveltePagesPath)));
27233
+ const svelteIndexDir = join51(getFrameworkGeneratedDir("svelte"), "indexes");
27234
+ const sveltePageEntries = svelteEntries.filter((file6) => resolve38(file6).startsWith(resolve38(sveltePagesPath)));
27212
27235
  for (const entry of sveltePageEntries) {
27213
27236
  const name = basename17(entry).replace(/\.svelte(\.(ts|js))?$/, "");
27214
- const indexFile = join50(svelteIndexDir, "pages", `${name}.js`);
27237
+ const indexFile = join51(svelteIndexDir, "pages", `${name}.js`);
27215
27238
  if (!existsSync38(indexFile))
27216
27239
  continue;
27217
27240
  let content = readFileSync33(indexFile, "utf-8");
27218
- const srcRel = relative19(process.cwd(), resolve37(entry)).replace(/\\/g, "/");
27241
+ const srcRel = relative20(process.cwd(), resolve38(entry)).replace(/\\/g, "/");
27219
27242
  content = content.replace(/import\s+Component\s+from\s+['"]([^'"]+)['"]/, `import Component from "/@src/${srcRel}"`);
27220
- writeFileSync10(join50(devIndexDir, `${name}.svelte.js`), content);
27243
+ writeFileSync10(join51(devIndexDir, `${name}.svelte.js`), content);
27221
27244
  }
27222
27245
  }, copyVueDevIndexes = (vueDir, vuePagesPath, vueEntries, devIndexDir) => {
27223
- const vueIndexDir = join50(getFrameworkGeneratedDir("vue"), "indexes");
27224
- const vuePageEntries = vueEntries.filter((file6) => resolve37(file6).startsWith(resolve37(vuePagesPath)));
27246
+ const vueIndexDir = join51(getFrameworkGeneratedDir("vue"), "indexes");
27247
+ const vuePageEntries = vueEntries.filter((file6) => resolve38(file6).startsWith(resolve38(vuePagesPath)));
27225
27248
  for (const entry of vuePageEntries) {
27226
27249
  const name = basename17(entry, ".vue");
27227
- const indexFile = join50(vueIndexDir, `${name}.js`);
27250
+ const indexFile = join51(vueIndexDir, `${name}.js`);
27228
27251
  if (!existsSync38(indexFile))
27229
27252
  continue;
27230
27253
  let content = readFileSync33(indexFile, "utf-8");
27231
- const srcRel = relative19(process.cwd(), resolve37(entry)).replace(/\\/g, "/");
27254
+ const srcRel = relative20(process.cwd(), resolve38(entry)).replace(/\\/g, "/");
27232
27255
  content = content.replace(/import\s+Comp(?:\s*,\s*\*\s+as\s+\w+)?\s+from\s+['"]([^'"]+)['"]/, (match) => match.replace(/from\s+['"][^'"]+['"]/, `from "/@src/${srcRel}"`));
27233
- writeFileSync10(join50(devIndexDir, `${name}.vue.js`), content);
27256
+ writeFileSync10(join51(devIndexDir, `${name}.vue.js`), content);
27234
27257
  }
27235
27258
  }, buildDevUrlFileMap = (urlReferencedFiles, projectRoot) => {
27236
27259
  const urlFileMap = new Map;
27237
27260
  for (const srcPath of urlReferencedFiles) {
27238
- const rel = relative19(projectRoot, srcPath).replace(/\\/g, "/");
27261
+ const rel = relative20(projectRoot, srcPath).replace(/\\/g, "/");
27239
27262
  const name = basename17(srcPath);
27240
27263
  const mtime = Math.round(statSync4(srcPath).mtimeMs);
27241
27264
  const url = `/@src/${rel}?v=${mtime}`;
@@ -27250,7 +27273,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
27250
27273
  const output = nonReactClientOutputs.find((artifact) => basename17(artifact.path).startsWith(`${srcBase}.`));
27251
27274
  if (!output)
27252
27275
  continue;
27253
- urlFileMap.set(basename17(srcPath), `/${relative19(buildPath, output.path).replace(/\\/g, "/")}`);
27276
+ urlFileMap.set(basename17(srcPath), `/${relative20(buildPath, output.path).replace(/\\/g, "/")}`);
27254
27277
  }
27255
27278
  return urlFileMap;
27256
27279
  }, buildUrlFileMap = (urlReferencedFiles, hmr, projectRoot, buildPath, nonReactClientOutputs) => {
@@ -27391,10 +27414,10 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
27391
27414
  restoreTracePhase();
27392
27415
  return;
27393
27416
  }
27394
- const traceDir = join50(buildPath2, ".absolute-trace");
27417
+ const traceDir = join51(buildPath2, ".absolute-trace");
27395
27418
  const timestamp = new Date().toISOString().replace(/[:.]/g, "-");
27396
27419
  mkdirSync12(traceDir, { recursive: true });
27397
- writeFileSync10(join50(traceDir, `build-trace-${timestamp}.json`), JSON.stringify({
27420
+ writeFileSync10(join51(traceDir, `build-trace-${timestamp}.json`), JSON.stringify({
27398
27421
  events: traceEvents,
27399
27422
  frameworks: traceFrameworkNames,
27400
27423
  generatedAt: new Date().toISOString(),
@@ -27425,16 +27448,16 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
27425
27448
  const stylesPath = typeof stylesConfig === "string" ? stylesConfig : stylesConfig?.path;
27426
27449
  const stylesIgnore = typeof stylesConfig === "object" ? stylesConfig.ignore : undefined;
27427
27450
  const stylesDir = stylesPath && validateSafePath(stylesPath, projectRoot);
27428
- const reactIndexesPath = reactDir && join50(getFrameworkGeneratedDir("react"), "indexes");
27429
- const reactPagesPath = reactDir && join50(reactDir, "pages");
27430
- const htmlPagesPath = htmlDir && join50(htmlDir, "pages");
27431
- const htmlScriptsPath = htmlDir && join50(htmlDir, "scripts");
27432
- const sveltePagesPath = svelteDir && join50(svelteDir, "pages");
27433
- const vuePagesPath = vueDir && join50(vueDir, "pages");
27434
- const htmxPagesPath = htmxDir && join50(htmxDir, "pages");
27435
- const htmxScriptsPath = htmxDir && join50(htmxDir, "scripts");
27436
- const angularPagesPath = angularDir && join50(angularDir, "pages");
27437
- const emberPagesPath = emberDir && join50(emberDir, "pages");
27451
+ const reactIndexesPath = reactDir && join51(getFrameworkGeneratedDir("react"), "indexes");
27452
+ const reactPagesPath = reactDir && join51(reactDir, "pages");
27453
+ const htmlPagesPath = htmlDir && join51(htmlDir, "pages");
27454
+ const htmlScriptsPath = htmlDir && join51(htmlDir, "scripts");
27455
+ const sveltePagesPath = svelteDir && join51(svelteDir, "pages");
27456
+ const vuePagesPath = vueDir && join51(vueDir, "pages");
27457
+ const htmxPagesPath = htmxDir && join51(htmxDir, "pages");
27458
+ const htmxScriptsPath = htmxDir && join51(htmxDir, "scripts");
27459
+ const angularPagesPath = angularDir && join51(angularDir, "pages");
27460
+ const emberPagesPath = emberDir && join51(emberDir, "pages");
27438
27461
  const frontends = [
27439
27462
  reactDir,
27440
27463
  htmlDir,
@@ -27495,8 +27518,8 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
27495
27518
  const [firstEntry] = serverDirMap;
27496
27519
  if (!firstEntry)
27497
27520
  throw new Error("Expected at least one server directory entry");
27498
- serverRoot = join50(firstEntry.dir, firstEntry.subdir);
27499
- serverOutDir = join50(buildPath, basename17(firstEntry.dir));
27521
+ serverRoot = join51(firstEntry.dir, firstEntry.subdir);
27522
+ serverOutDir = join51(buildPath, basename17(firstEntry.dir));
27500
27523
  } else if (serverDirMap.length > 1) {
27501
27524
  serverRoot = commonAncestor(serverDirMap.map((entry) => entry.dir), projectRoot);
27502
27525
  serverOutDir = buildPath;
@@ -27515,13 +27538,13 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
27515
27538
  const filterToIncrementalEntries = (entryPoints, mapToSource) => {
27516
27539
  if (!isIncremental || !incrementalFiles)
27517
27540
  return entryPoints;
27518
- const normalizedIncremental = new Set(incrementalFiles.map((f2) => resolve37(f2)));
27541
+ const normalizedIncremental = new Set(incrementalFiles.map((f2) => resolve38(f2)));
27519
27542
  const matchingEntries = [];
27520
27543
  for (const entry of entryPoints) {
27521
27544
  const sourceFile = mapToSource(entry);
27522
27545
  if (!sourceFile)
27523
27546
  continue;
27524
- if (!normalizedIncremental.has(resolve37(sourceFile)))
27547
+ if (!normalizedIncremental.has(resolve38(sourceFile)))
27525
27548
  continue;
27526
27549
  matchingEntries.push(entry);
27527
27550
  }
@@ -27531,7 +27554,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
27531
27554
  await tracePhase("react/index-generation", () => generateReactIndexFiles(reactPagesPath, reactIndexesPath, hmr));
27532
27555
  }
27533
27556
  if (assetsPath && (!isIncremental || normalizedIncrementalFiles?.some((f2) => f2.includes("/assets/")))) {
27534
- await tracePhase("assets/copy", () => cpSync(assetsPath, join50(buildPath, "assets"), {
27557
+ await tracePhase("assets/copy", () => cpSync(assetsPath, join51(buildPath, "assets"), {
27535
27558
  force: true,
27536
27559
  recursive: true
27537
27560
  }));
@@ -27645,11 +27668,11 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
27645
27668
  }
27646
27669
  }
27647
27670
  if (htmlDefaults.error || htmlDefaults.notFound || htmlDefaults.loading || Object.keys(htmlPages).length > 0) {
27648
- const htmlConventionsOutDir = join50(buildPath, "conventions", "html");
27671
+ const htmlConventionsOutDir = join51(buildPath, "conventions", "html");
27649
27672
  mkdirSync12(htmlConventionsOutDir, { recursive: true });
27650
27673
  const htmlPathRemap = new Map;
27651
27674
  for (const sourcePath of htmlConventionSources) {
27652
- const dest = join50(htmlConventionsOutDir, basename17(sourcePath));
27675
+ const dest = join51(htmlConventionsOutDir, basename17(sourcePath));
27653
27676
  cpSync(sourcePath, dest, { force: true });
27654
27677
  htmlPathRemap.set(sourcePath, dest);
27655
27678
  }
@@ -27697,13 +27720,13 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
27697
27720
  return scoped;
27698
27721
  return scoped.filter((entry) => {
27699
27722
  const source = mapToSource(entry);
27700
- return source !== null && deferPageEntries.except.has(resolve37(source));
27723
+ return source !== null && deferPageEntries.except.has(resolve38(source));
27701
27724
  });
27702
27725
  };
27703
27726
  const mapReactIndexToPage = (entry) => {
27704
- if (reactIndexesPath && reactPagesPath && entry.startsWith(resolve37(reactIndexesPath))) {
27727
+ if (reactIndexesPath && reactPagesPath && entry.startsWith(resolve38(reactIndexesPath))) {
27705
27728
  const pageName = basename17(entry, ".tsx");
27706
- return join50(reactPagesPath, `${pageName}.tsx`);
27729
+ return join51(reactPagesPath, `${pageName}.tsx`);
27707
27730
  }
27708
27731
  return null;
27709
27732
  };
@@ -27743,7 +27766,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
27743
27766
  for (const entry of vueEntries) {
27744
27767
  const name = basename17(entry, ".vue");
27745
27768
  if (ssrOnlyPageNames.has(name)) {
27746
- resolved.add(resolve37(entry));
27769
+ resolved.add(resolve38(entry));
27747
27770
  }
27748
27771
  }
27749
27772
  return resolved;
@@ -27858,7 +27881,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
27858
27881
  const clientPath = islandSvelteClientPaths[idx];
27859
27882
  if (!sourcePath || !clientPath)
27860
27883
  continue;
27861
- islandSvelteClientPathMap.set(resolve37(sourcePath), clientPath);
27884
+ islandSvelteClientPathMap.set(resolve38(sourcePath), clientPath);
27862
27885
  }
27863
27886
  const islandVueClientPathMap = new Map;
27864
27887
  for (let idx = 0;idx < islandVueSources.length; idx++) {
@@ -27866,7 +27889,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
27866
27889
  const clientPath = islandVueClientPaths[idx];
27867
27890
  if (!sourcePath || !clientPath)
27868
27891
  continue;
27869
- islandVueClientPathMap.set(resolve37(sourcePath), clientPath);
27892
+ islandVueClientPathMap.set(resolve38(sourcePath), clientPath);
27870
27893
  }
27871
27894
  const islandAngularClientPathMap = new Map;
27872
27895
  for (let idx = 0;idx < islandAngularSources.length; idx++) {
@@ -27874,7 +27897,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
27874
27897
  const clientPath = islandAngularClientPaths[idx];
27875
27898
  if (!sourcePath || !clientPath)
27876
27899
  continue;
27877
- islandAngularClientPathMap.set(resolve37(sourcePath), clientPath);
27900
+ islandAngularClientPathMap.set(resolve38(sourcePath), clientPath);
27878
27901
  }
27879
27902
  const reactConventionSources = collectConventionSourceFiles(conventionsMap.react);
27880
27903
  const svelteConventionSources = collectConventionSourceFiles(conventionsMap.svelte);
@@ -27885,7 +27908,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
27885
27908
  const compileReactConventions = async () => {
27886
27909
  if (reactConventionSources.length === 0)
27887
27910
  return emptyStringArray;
27888
- const destDir = join50(buildPath, "conventions", "react");
27911
+ const destDir = join51(buildPath, "conventions", "react");
27889
27912
  rmSync2(destDir, { force: true, recursive: true });
27890
27913
  mkdirSync12(destDir, { recursive: true });
27891
27914
  const destPaths = await Promise.all(reactConventionSources.map(async (source, idx) => {
@@ -27929,7 +27952,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
27929
27952
  angularConventionSources.length > 0 && angularDir ? tracePhase("compile/convention-angular", () => Promise.resolve().then(() => (init_compileAngular(), exports_compileAngular)).then((mod) => mod.compileAngular(angularConventionSources, angularDir, hmr, styleTransformConfig))) : { serverPaths: emptyStringArray }
27930
27953
  ]);
27931
27954
  const bundleConventionFiles = async (framework, compiledPaths) => {
27932
- const destDir = join50(buildPath, "conventions", framework);
27955
+ const destDir = join51(buildPath, "conventions", framework);
27933
27956
  rmSync2(destDir, { force: true, recursive: true });
27934
27957
  mkdirSync12(destDir, { recursive: true });
27935
27958
  const destPaths = await Promise.all(compiledPaths.map(async (compiledPath, idx) => {
@@ -28004,7 +28027,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
28004
28027
  }
28005
28028
  })) : {
28006
28029
  entries: [],
28007
- generatedRoot: join50(buildPath, "_island_entries")
28030
+ generatedRoot: join51(buildPath, "_island_entries")
28008
28031
  };
28009
28032
  const islandClientEntryPoints = islandEntryResult.entries.map((entry) => entry.entryPath);
28010
28033
  if (!deferPageEntries && serverEntryPoints.length === 0 && reactClientEntryPoints.length === 0 && nonReactClientEntryPoints.length === 0 && urlReferencedFiles.length === 0 && islandClientEntryPoints.length === 0 && htmxDir === undefined && htmlDir === undefined) {
@@ -28040,7 +28063,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
28040
28063
  return {};
28041
28064
  }
28042
28065
  if (hmr && reactIndexesPath && reactClientEntryPoints.length > 0) {
28043
- const refreshEntry = join50(reactIndexesPath, "_refresh.tsx");
28066
+ const refreshEntry = join51(reactIndexesPath, "_refresh.tsx");
28044
28067
  if (!reactClientEntryPoints.includes(refreshEntry))
28045
28068
  reactClientEntryPoints.push(refreshEntry);
28046
28069
  }
@@ -28157,19 +28180,19 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
28157
28180
  throw: false
28158
28181
  }, resolveBunBuildOverride(bunBuildConfig, "reactClient")) : undefined;
28159
28182
  if (reactDir && reactClientEntryPoints.length > 0) {
28160
- rmSync2(join50(buildPath, "react", "generated", "indexes"), {
28183
+ rmSync2(join51(buildPath, "react", "generated", "indexes"), {
28161
28184
  force: true,
28162
28185
  recursive: true
28163
28186
  });
28164
28187
  }
28165
28188
  if (angularDir && angularClientPaths.length > 0) {
28166
- rmSync2(join50(buildPath, "angular", "indexes"), {
28189
+ rmSync2(join51(buildPath, "angular", "indexes"), {
28167
28190
  force: true,
28168
28191
  recursive: true
28169
28192
  });
28170
28193
  }
28171
28194
  if (islandClientEntryPoints.length > 0) {
28172
- rmSync2(join50(buildPath, "islands"), {
28195
+ rmSync2(join51(buildPath, "islands"), {
28173
28196
  force: true,
28174
28197
  recursive: true
28175
28198
  });
@@ -28284,7 +28307,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
28284
28307
  globalCssEntries.length > 0 ? tracePhase("bun/global-css", () => bunBuild7(mergeBunBuildConfig({
28285
28308
  entrypoints: globalCssEntries,
28286
28309
  naming: `[dir]/[name].[hash].[ext]`,
28287
- outdir: stylesDir ? join50(buildPath, basename17(stylesDir)) : buildPath,
28310
+ outdir: stylesDir ? join51(buildPath, basename17(stylesDir)) : buildPath,
28288
28311
  plugins: [stylePreprocessorPlugin2],
28289
28312
  root: stylesDir || clientRoot,
28290
28313
  target: "browser",
@@ -28293,7 +28316,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
28293
28316
  vueCssPaths.length > 0 ? tracePhase("bun/vue-css", () => bunBuild7(mergeBunBuildConfig({
28294
28317
  entrypoints: vueCssPaths,
28295
28318
  naming: `[name].[hash].[ext]`,
28296
- outdir: join50(buildPath, assetsPath ? basename17(assetsPath) : "assets", "css"),
28319
+ outdir: join51(buildPath, assetsPath ? basename17(assetsPath) : "assets", "css"),
28297
28320
  target: "browser",
28298
28321
  throw: false
28299
28322
  }, resolveBunBuildOverride(bunBuildConfig, "vueCss")))) : undefined
@@ -28315,15 +28338,15 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
28315
28338
  }
28316
28339
  if (!isDev2 && resolveClientSourcemap(sourcemaps, isDev2) === "external") {
28317
28340
  const { chainExternalSourcemap: chainExternalSourcemap2 } = await Promise.resolve().then(() => (init_chainInlineSourcemaps(), exports_chainInlineSourcemaps));
28318
- const sourcemapDir = join50(projectRoot, "sourcemaps");
28341
+ const sourcemapDir = join51(projectRoot, "sourcemaps");
28319
28342
  mkdirSync12(sourcemapDir, { recursive: true });
28320
28343
  const mapFiles = readdirSync7(buildPath, {
28321
28344
  encoding: "utf8",
28322
28345
  recursive: true
28323
- }).filter((entry) => entry.endsWith(".js.map") && !entry.includes("node_modules")).map((entry) => join50(buildPath, entry));
28346
+ }).filter((entry) => entry.endsWith(".js.map") && !entry.includes("node_modules")).map((entry) => join51(buildPath, entry));
28324
28347
  for (const mapPath of mapFiles) {
28325
28348
  chainExternalSourcemap2(mapPath);
28326
- renameSync(mapPath, join50(sourcemapDir, basename17(mapPath)));
28349
+ renameSync(mapPath, join51(sourcemapDir, basename17(mapPath)));
28327
28350
  const jsPath = mapPath.slice(0, -4);
28328
28351
  try {
28329
28352
  const javascript = readFileSync33(jsPath, "utf-8").replace(/\n?\/\/# sourceMappingURL=[^\n]*\s*$/, `
@@ -28331,7 +28354,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
28331
28354
  writeFileSync10(jsPath, javascript);
28332
28355
  } catch {}
28333
28356
  }
28334
- console.info(`[absolute] sourcemaps: chained + privatized ${mapFiles.length} client maps \u2192 ${relative19(projectRoot, sourcemapDir)}/`);
28357
+ console.info(`[absolute] sourcemaps: chained + privatized ${mapFiles.length} client maps \u2192 ${relative20(projectRoot, sourcemapDir)}/`);
28335
28358
  }
28336
28359
  if (serverResult && !serverResult.success && serverLogs.length > 0) {
28337
28360
  handlePassFailure(serverLogs, "server", "Server");
@@ -28388,7 +28411,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
28388
28411
  };
28389
28412
  await tracePhase("postprocess/client-rewrite", rewriteClientGroups, clientRewriteStats);
28390
28413
  if (!hmr) {
28391
- const reactVendorDir = join50(buildPath, "react", "vendor");
28414
+ const reactVendorDir = join51(buildPath, "react", "vendor");
28392
28415
  const vendorChunkPaths = existsSync38(reactVendorDir) ? [
28393
28416
  ...new Glob8("**/*.js").scanSync({
28394
28417
  absolute: true,
@@ -28408,7 +28431,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
28408
28431
  const fileDir = dirname28(artifact.path);
28409
28432
  const relativePaths = {};
28410
28433
  for (const [specifier, absolute] of Object.entries(angularServerVendorPaths2)) {
28411
- const rel = relative19(fileDir, absolute);
28434
+ const rel = relative20(fileDir, absolute);
28412
28435
  relativePaths[specifier] = rel.startsWith(".") ? rel : `./${rel}`;
28413
28436
  }
28414
28437
  return relativePaths;
@@ -28521,7 +28544,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
28521
28544
  if (skipAngularClientBundle) {
28522
28545
  for (const clientPath of angularClientPaths) {
28523
28546
  const fileBase = basename17(clientPath, ".js");
28524
- const relFromCwd = relative19(projectRoot, clientPath).replace(/\\/g, "/");
28547
+ const relFromCwd = relative20(projectRoot, clientPath).replace(/\\/g, "/");
28525
28548
  manifest[`${toPascal(fileBase)}Index`] = `/@src/${relFromCwd}`;
28526
28549
  }
28527
28550
  }
@@ -28546,7 +28569,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
28546
28569
  const processHtmlPages = async () => {
28547
28570
  if (!(htmlDir && htmlPagesPath))
28548
28571
  return;
28549
- const outputHtmlPages = isSingle ? join50(buildPath, "pages") : join50(buildPath, basename17(htmlDir), "pages");
28572
+ const outputHtmlPages = isSingle ? join51(buildPath, "pages") : join51(buildPath, basename17(htmlDir), "pages");
28550
28573
  mkdirSync12(outputHtmlPages, { recursive: true });
28551
28574
  cpSync(htmlPagesPath, outputHtmlPages, {
28552
28575
  force: true,
@@ -28575,14 +28598,14 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
28575
28598
  const processHtmxPages = async () => {
28576
28599
  if (!(htmxDir && htmxPagesPath))
28577
28600
  return;
28578
- const outputHtmxPages = isSingle ? join50(buildPath, "pages") : join50(buildPath, basename17(htmxDir), "pages");
28601
+ const outputHtmxPages = isSingle ? join51(buildPath, "pages") : join51(buildPath, basename17(htmxDir), "pages");
28579
28602
  mkdirSync12(outputHtmxPages, { recursive: true });
28580
28603
  cpSync(htmxPagesPath, outputHtmxPages, {
28581
28604
  force: true,
28582
28605
  recursive: true
28583
28606
  });
28584
28607
  if (shouldCopyHtmx) {
28585
- const htmxDestDir = isSingle ? buildPath : join50(buildPath, basename17(htmxDir));
28608
+ const htmxDestDir = isSingle ? buildPath : join51(buildPath, basename17(htmxDir));
28586
28609
  copyHtmxVendor(htmxDir, htmxDestDir);
28587
28610
  }
28588
28611
  if (shouldUpdateHtmxAssetPaths) {
@@ -28673,7 +28696,7 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
28673
28696
  }))
28674
28697
  ];
28675
28698
  setSpaRouteManifest(spaRouteHosts);
28676
- writeFileSync10(join50(buildPath, "spa-routes.json"), JSON.stringify(spaRouteHosts, null, "\t"));
28699
+ writeFileSync10(join51(buildPath, "spa-routes.json"), JSON.stringify(spaRouteHosts, null, "\t"));
28677
28700
  if (isIncremental) {
28678
28701
  writeBuildTrace(buildPath);
28679
28702
  return {
@@ -28683,9 +28706,9 @@ ${offenders.map((o3) => ` \u2022 ${o3}`).join(`
28683
28706
  pageEntries
28684
28707
  };
28685
28708
  }
28686
- writeFileSync10(join50(buildPath, "manifest.json"), JSON.stringify(manifest, null, "\t"));
28709
+ writeFileSync10(join51(buildPath, "manifest.json"), JSON.stringify(manifest, null, "\t"));
28687
28710
  if (Object.keys(conventionsMap).length > 0) {
28688
- writeFileSync10(join50(buildPath, "conventions.json"), JSON.stringify(conventionsMap, null, "\t"));
28711
+ writeFileSync10(join51(buildPath, "conventions.json"), JSON.stringify(conventionsMap, null, "\t"));
28689
28712
  }
28690
28713
  writeBuildTrace(buildPath);
28691
28714
  if (mode === "production") {
@@ -28804,7 +28827,7 @@ var init_build = __esm(() => {
28804
28827
 
28805
28828
  // src/build/buildEmberVendor.ts
28806
28829
  import { mkdirSync as mkdirSync13, existsSync as existsSync39 } from "fs";
28807
- import { join as join51 } from "path";
28830
+ import { join as join52 } from "path";
28808
28831
  import { rm as rm12 } from "fs/promises";
28809
28832
  var {build: bunBuild8 } = globalThis.Bun;
28810
28833
  var toSafeFileName5 = (specifier) => specifier.replace(/^@/, "").replace(/\//g, "_"), generateMacrosShim = () => `// Generated shim for @embroider/macros \u2014 provides minimal runtime
@@ -28856,7 +28879,7 @@ export const importSync = (specifier) => {
28856
28879
  if (standaloneSpecifiers.has(specifier)) {
28857
28880
  return { resolveTo: specifier, specifier };
28858
28881
  }
28859
- const emberInternalPath = join51(cwd2, "node_modules/ember-source/dist/packages", specifier, "index.js");
28882
+ const emberInternalPath = join52(cwd2, "node_modules/ember-source/dist/packages", specifier, "index.js");
28860
28883
  if (!existsSync39(emberInternalPath)) {
28861
28884
  throw new Error(`Ember vendor build: cannot find ${specifier} at ${emberInternalPath}. ` + `Is ember-source installed and at least 6.12?`);
28862
28885
  }
@@ -28888,7 +28911,7 @@ export const importSync = (specifier) => {
28888
28911
  if (standalonePackages.has(args.path)) {
28889
28912
  return;
28890
28913
  }
28891
- const internal = join51(cwd2, "node_modules/ember-source/dist/packages", args.path, "index.js");
28914
+ const internal = join52(cwd2, "node_modules/ember-source/dist/packages", args.path, "index.js");
28892
28915
  if (existsSync39(internal)) {
28893
28916
  return { path: internal };
28894
28917
  }
@@ -28896,16 +28919,16 @@ export const importSync = (specifier) => {
28896
28919
  });
28897
28920
  }
28898
28921
  }), buildEmberVendor = async (buildDir, cwd2 = process.cwd()) => {
28899
- const vendorDir = join51(buildDir, "ember", "vendor");
28922
+ const vendorDir = join52(buildDir, "ember", "vendor");
28900
28923
  mkdirSync13(vendorDir, { recursive: true });
28901
- const tmpDir = join51(buildDir, "_ember_vendor_tmp");
28924
+ const tmpDir = join52(buildDir, "_ember_vendor_tmp");
28902
28925
  mkdirSync13(tmpDir, { recursive: true });
28903
- const macrosShimPath = join51(tmpDir, "embroider_macros_shim.js");
28926
+ const macrosShimPath = join52(tmpDir, "embroider_macros_shim.js");
28904
28927
  await Bun.write(macrosShimPath, generateMacrosShim());
28905
28928
  const resolutions = REQUIRED_EMBER_SPECIFIERS.map((specifier) => resolveEmberSpecifier(specifier, cwd2));
28906
28929
  const entrypoints = await Promise.all(resolutions.map(async (resolution) => {
28907
28930
  const safeName = toSafeFileName5(resolution.specifier);
28908
- const entryPath = join51(tmpDir, `${safeName}.js`);
28931
+ const entryPath = join52(tmpDir, `${safeName}.js`);
28909
28932
  const source = resolution.specifier === "@embroider/macros" ? `export * from ${JSON.stringify(macrosShimPath)};
28910
28933
  ` : generateVendorEntrySource2(resolution);
28911
28934
  await Bun.write(entryPath, source);
@@ -29063,7 +29086,7 @@ __export(exports_dependencyGraph, {
29063
29086
  });
29064
29087
  import { existsSync as existsSync40, readFileSync as readFileSync34 } from "fs";
29065
29088
  var {Glob: Glob9 } = globalThis.Bun;
29066
- import { resolve as resolve38 } from "path";
29089
+ import { resolve as resolve39 } from "path";
29067
29090
  var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath) => {
29068
29091
  const lower = filePath.toLowerCase();
29069
29092
  if (lower.endsWith(".ts") || lower.endsWith(".tsx") || lower.endsWith(".jsx"))
@@ -29077,8 +29100,8 @@ var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath)
29077
29100
  if (!importPath.startsWith(".") && !importPath.startsWith("/")) {
29078
29101
  return null;
29079
29102
  }
29080
- const fromDir = resolve38(fromFile, "..");
29081
- const normalized = resolve38(fromDir, importPath);
29103
+ const fromDir = resolve39(fromFile, "..");
29104
+ const normalized = resolve39(fromDir, importPath);
29082
29105
  const extensions = [
29083
29106
  ".ts",
29084
29107
  ".tsx",
@@ -29108,7 +29131,7 @@ var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath)
29108
29131
  dependents.delete(normalizedPath);
29109
29132
  }
29110
29133
  }, addFileToGraph = (graph, filePath) => {
29111
- const normalizedPath = resolve38(filePath);
29134
+ const normalizedPath = resolve39(filePath);
29112
29135
  if (!existsSync40(normalizedPath))
29113
29136
  return;
29114
29137
  const dependencies = extractDependencies(normalizedPath);
@@ -29135,10 +29158,10 @@ var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath)
29135
29158
  }, IGNORED_SEGMENTS, buildInitialDependencyGraph = (graph, directories) => {
29136
29159
  const processedFiles = new Set;
29137
29160
  const glob = new Glob9("**/*.{ts,tsx,js,jsx,vue,svelte,html,htm}");
29138
- const resolvedDirs = directories.map((dir) => resolve38(dir)).filter((dir) => existsSync40(dir));
29161
+ const resolvedDirs = directories.map((dir) => resolve39(dir)).filter((dir) => existsSync40(dir));
29139
29162
  const allFiles = resolvedDirs.flatMap((dir) => Array.from(glob.scanSync({ absolute: true, cwd: dir })));
29140
29163
  for (const file6 of allFiles) {
29141
- const fullPath = resolve38(file6);
29164
+ const fullPath = resolve39(file6);
29142
29165
  if (IGNORED_SEGMENTS.some((seg) => fullPath.includes(seg)))
29143
29166
  continue;
29144
29167
  if (processedFiles.has(fullPath))
@@ -29251,7 +29274,7 @@ var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath)
29251
29274
  return [];
29252
29275
  }
29253
29276
  }, getAffectedFiles = (graph, changedFile) => {
29254
- const normalizedPath = resolve38(changedFile);
29277
+ const normalizedPath = resolve39(changedFile);
29255
29278
  const affected = new Set;
29256
29279
  const toProcess = [normalizedPath];
29257
29280
  const processNode = (current) => {
@@ -29282,7 +29305,7 @@ var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath)
29282
29305
  }, removeDependentsForFile = (graph, normalizedPath) => {
29283
29306
  graph.dependents.delete(normalizedPath);
29284
29307
  }, removeFileFromGraph = (graph, filePath) => {
29285
- const normalizedPath = resolve38(filePath);
29308
+ const normalizedPath = resolve39(filePath);
29286
29309
  removeDepsForFile(graph, normalizedPath);
29287
29310
  removeDependentsForFile(graph, normalizedPath);
29288
29311
  };
@@ -29325,12 +29348,12 @@ var globalVersionCounter = 0, createModuleVersionTracker = () => new Map, getNex
29325
29348
  };
29326
29349
 
29327
29350
  // src/dev/configResolver.ts
29328
- import { resolve as resolve39 } from "path";
29351
+ import { resolve as resolve40 } from "path";
29329
29352
  var resolveBuildPaths = (config) => {
29330
29353
  const cwd2 = process.cwd();
29331
29354
  const normalize = (path2) => path2.replace(/\\/g, "/");
29332
- const withDefault = (value, fallback) => normalize(resolve39(cwd2, value ?? fallback));
29333
- const optional = (value) => value ? normalize(resolve39(cwd2, value)) : undefined;
29355
+ const withDefault = (value, fallback) => normalize(resolve40(cwd2, value ?? fallback));
29356
+ const optional = (value) => value ? normalize(resolve40(cwd2, value)) : undefined;
29334
29357
  return {
29335
29358
  angularDir: optional(config.angularDirectory),
29336
29359
  assetsDir: optional(config.assetsDirectory),
@@ -29390,7 +29413,7 @@ var init_clientManager = __esm(() => {
29390
29413
 
29391
29414
  // src/dev/pathUtils.ts
29392
29415
  import { existsSync as existsSync41, readdirSync as readdirSync8, readFileSync as readFileSync35 } from "fs";
29393
- import { dirname as dirname29, resolve as resolve40 } from "path";
29416
+ import { dirname as dirname29, resolve as resolve41 } from "path";
29394
29417
  var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
29395
29418
  if (shouldIgnorePath(filePath, resolved)) {
29396
29419
  return "ignored";
@@ -29466,7 +29489,7 @@ var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
29466
29489
  return "unknown";
29467
29490
  }, collectAngularResourceDirs = (angularDir) => {
29468
29491
  const out = new Set;
29469
- const angularRoot = resolve40(angularDir);
29492
+ const angularRoot = resolve41(angularDir);
29470
29493
  const angularRootNormalized = normalizePath2(angularRoot);
29471
29494
  const walk = (dir) => {
29472
29495
  let entries;
@@ -29479,7 +29502,7 @@ var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
29479
29502
  if (entry.name.startsWith(".") || entry.name === "node_modules") {
29480
29503
  continue;
29481
29504
  }
29482
- const full = resolve40(dir, entry.name);
29505
+ const full = resolve41(dir, entry.name);
29483
29506
  if (entry.isDirectory()) {
29484
29507
  walk(full);
29485
29508
  continue;
@@ -29520,7 +29543,7 @@ var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
29520
29543
  }
29521
29544
  const componentDir = dirname29(full);
29522
29545
  for (const ref of refs) {
29523
- const refAbs = normalizePath2(resolve40(componentDir, ref));
29546
+ const refAbs = normalizePath2(resolve41(componentDir, ref));
29524
29547
  const refDir = normalizePath2(dirname29(refAbs));
29525
29548
  if (refDir === angularRootNormalized || refDir.startsWith(`${angularRootNormalized}/`)) {
29526
29549
  continue;
@@ -29537,7 +29560,7 @@ var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
29537
29560
  const push = (path2) => {
29538
29561
  if (!path2)
29539
29562
  return;
29540
- const abs = normalizePath2(resolve40(cwd2, path2));
29563
+ const abs = normalizePath2(resolve41(cwd2, path2));
29541
29564
  if (!roots.includes(abs))
29542
29565
  roots.push(abs);
29543
29566
  };
@@ -29562,7 +29585,7 @@ var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
29562
29585
  push(cfg.assetsDir);
29563
29586
  push(cfg.stylesDir);
29564
29587
  for (const candidate of ["src", "db", "assets", "styles"]) {
29565
- const abs = normalizePath2(resolve40(cwd2, candidate));
29588
+ const abs = normalizePath2(resolve41(cwd2, candidate));
29566
29589
  if (existsSync41(abs) && !roots.includes(abs))
29567
29590
  roots.push(abs);
29568
29591
  }
@@ -29573,7 +29596,7 @@ var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
29573
29596
  continue;
29574
29597
  if (entry.name.startsWith("."))
29575
29598
  continue;
29576
- const abs = normalizePath2(resolve40(cwd2, entry.name));
29599
+ const abs = normalizePath2(resolve41(cwd2, entry.name));
29577
29600
  if (roots.includes(abs))
29578
29601
  continue;
29579
29602
  if (shouldIgnorePath(abs, resolved))
@@ -29657,7 +29680,7 @@ var init_pathUtils = __esm(() => {
29657
29680
  // src/dev/devPrescan.ts
29658
29681
  import { existsSync as existsSync42, readdirSync as readdirSync9, rmSync as rmSync3 } from "fs";
29659
29682
  import { mkdir as mkdir13, readFile as readFile8, rename as rename4, writeFile as writeFile10 } from "fs/promises";
29660
- import { join as join52 } from "path";
29683
+ import { join as join53 } from "path";
29661
29684
  var PRESCAN_DIR, PAYLOAD_VERSION = 1, POLL_INTERVAL_MS = 10, DEFAULT_WAIT_MS = 2000, collectConfigVendorSourceDirs = (config) => Array.from(new Set([
29662
29685
  config.reactDirectory,
29663
29686
  config.svelteDirectory,
@@ -29665,8 +29688,8 @@ var PRESCAN_DIR, PAYLOAD_VERSION = 1, POLL_INTERVAL_MS = 10, DEFAULT_WAIT_MS = 2
29665
29688
  config.angularDirectory,
29666
29689
  config.htmlDirectory,
29667
29690
  config.htmxDirectory
29668
- ].filter((dir) => Boolean(dir)))), devPrescanEnabled = () => process.env.ABSOLUTE_DEV_PRESCAN === "1", sleep = (delayMs) => new Promise((resolve41) => {
29669
- setTimeout(resolve41, delayMs);
29691
+ ].filter((dir) => Boolean(dir)))), devPrescanEnabled = () => process.env.ABSOLUTE_DEV_PRESCAN === "1", sleep = (delayMs) => new Promise((resolve42) => {
29692
+ setTimeout(resolve42, delayMs);
29670
29693
  }), isPayload = (value) => typeof value === "object" && value !== null && ("version" in value) && value.version === PAYLOAD_VERSION, tryReadPrescan = async (path2) => {
29671
29694
  if (!existsSync42(path2))
29672
29695
  return;
@@ -29715,13 +29738,13 @@ var init_devPrescan = __esm(() => {
29715
29738
  init_configResolver();
29716
29739
  init_dependencyGraph();
29717
29740
  init_pathUtils();
29718
- PRESCAN_DIR = join52(".absolutejs", "dev-prescan");
29741
+ PRESCAN_DIR = join53(".absolutejs", "dev-prescan");
29719
29742
  });
29720
29743
 
29721
29744
  // src/dev/fileWatcher.ts
29722
29745
  import { watch } from "fs";
29723
29746
  import { existsSync as existsSync43, readdirSync as readdirSync10, statSync as statSync5 } from "fs";
29724
- import { dirname as dirname30, join as join53, resolve as resolve41 } from "path";
29747
+ import { dirname as dirname30, join as join54, resolve as resolve42 } from "path";
29725
29748
  var safeRemoveFromGraph = (graph, fullPath) => {
29726
29749
  try {
29727
29750
  removeFileFromGraph(graph, fullPath);
@@ -29753,7 +29776,7 @@ var safeRemoveFromGraph = (graph, fullPath) => {
29753
29776
  for (const name of entries) {
29754
29777
  if (shouldSkipFilename(name, isStylesDir))
29755
29778
  continue;
29756
- const child = join53(eventDir, name).replace(/\\/g, "/");
29779
+ const child = join54(eventDir, name).replace(/\\/g, "/");
29757
29780
  let st2;
29758
29781
  try {
29759
29782
  st2 = statSync5(child);
@@ -29774,7 +29797,7 @@ var safeRemoveFromGraph = (graph, fullPath) => {
29774
29797
  return;
29775
29798
  if (shouldSkipFilename(filename, isStylesDir)) {
29776
29799
  if (event === "rename") {
29777
- const eventDir = dirname30(join53(absolutePath, filename)).replace(/\\/g, "/");
29800
+ const eventDir = dirname30(join54(absolutePath, filename)).replace(/\\/g, "/");
29778
29801
  atomicRecoveryScan(eventDir);
29779
29802
  for (const delay of [25, 100]) {
29780
29803
  const timer = setTimeout(() => atomicRecoveryScan(eventDir), delay);
@@ -29783,7 +29806,7 @@ var safeRemoveFromGraph = (graph, fullPath) => {
29783
29806
  }
29784
29807
  return;
29785
29808
  }
29786
- const fullPath = join53(absolutePath, filename).replace(/\\/g, "/");
29809
+ const fullPath = join54(absolutePath, filename).replace(/\\/g, "/");
29787
29810
  if (shouldIgnorePath(fullPath, state.resolvedPaths)) {
29788
29811
  return;
29789
29812
  }
@@ -29801,7 +29824,7 @@ var safeRemoveFromGraph = (graph, fullPath) => {
29801
29824
  }, addFileWatchers = (state, paths, onFileChange) => {
29802
29825
  const stylesDir = state.resolvedPaths?.stylesDir;
29803
29826
  paths.forEach((path2) => {
29804
- const absolutePath = resolve41(path2).replace(/\\/g, "/");
29827
+ const absolutePath = resolve42(path2).replace(/\\/g, "/");
29805
29828
  if (!existsSync43(absolutePath)) {
29806
29829
  return;
29807
29830
  }
@@ -29812,7 +29835,7 @@ var safeRemoveFromGraph = (graph, fullPath) => {
29812
29835
  const watchPaths = getWatchPaths(config, state.resolvedPaths);
29813
29836
  const stylesDir = state.resolvedPaths?.stylesDir;
29814
29837
  watchPaths.forEach((path2) => {
29815
- const absolutePath = resolve41(path2).replace(/\\/g, "/");
29838
+ const absolutePath = resolve42(path2).replace(/\\/g, "/");
29816
29839
  if (!existsSync43(absolutePath)) {
29817
29840
  return;
29818
29841
  }
@@ -29831,13 +29854,13 @@ var init_fileWatcher = __esm(() => {
29831
29854
  });
29832
29855
 
29833
29856
  // src/dev/assetStore.ts
29834
- import { resolve as resolve42 } from "path";
29857
+ import { resolve as resolve43 } from "path";
29835
29858
  import { readdir as readdir4, unlink } from "fs/promises";
29836
29859
  var mimeTypes, getMimeType = (filePath) => {
29837
29860
  const ext = filePath.slice(filePath.lastIndexOf("."));
29838
29861
  return mimeTypes[ext] ?? "application/octet-stream";
29839
29862
  }, HASHED_FILE_RE, stripHash = (webPath) => webPath.replace(/\.[a-z0-9]{8}(\.(js|css|mjs))$/, "$1"), processWalkEntry = (entry, dir, liveByIdentity, walkAndClean) => {
29840
- const fullPath = resolve42(dir, entry.name);
29863
+ const fullPath = resolve43(dir, entry.name);
29841
29864
  if (entry.isDirectory()) {
29842
29865
  return walkAndClean(fullPath);
29843
29866
  }
@@ -29853,10 +29876,10 @@ var mimeTypes, getMimeType = (filePath) => {
29853
29876
  }, cleanStaleAssets = async (store, manifest, buildDir) => {
29854
29877
  const liveByIdentity = new Map;
29855
29878
  for (const webPath of store.keys()) {
29856
- const diskPath = resolve42(buildDir, webPath.slice(1));
29879
+ const diskPath = resolve43(buildDir, webPath.slice(1));
29857
29880
  liveByIdentity.set(stripHash(diskPath), diskPath);
29858
29881
  }
29859
- const absBuildDir = resolve42(buildDir);
29882
+ const absBuildDir = resolve43(buildDir);
29860
29883
  Object.values(manifest).forEach((val) => {
29861
29884
  if (!HASHED_FILE_RE.test(val))
29862
29885
  return;
@@ -29876,13 +29899,13 @@ var mimeTypes, getMimeType = (filePath) => {
29876
29899
  }, evictMissingChunks = async (store, buildDir) => {
29877
29900
  const chunkKeys = [...store.keys()].filter((webPath) => webPath.includes("/chunk-"));
29878
29901
  await Promise.all(chunkKeys.map(async (webPath) => {
29879
- const onDisk = await Bun.file(resolve42(buildDir, webPath.slice(1))).exists().catch(() => false);
29902
+ const onDisk = await Bun.file(resolve43(buildDir, webPath.slice(1))).exists().catch(() => false);
29880
29903
  if (!onDisk)
29881
29904
  store.delete(webPath);
29882
29905
  }));
29883
29906
  }, lookupAsset = (store, path2) => store.get(path2), processScanEntry = (entry, dir, prefix, store, scanDir) => {
29884
29907
  if (entry.isDirectory()) {
29885
- return scanDir(resolve42(dir, entry.name), `${prefix}${entry.name}/`);
29908
+ return scanDir(resolve43(dir, entry.name), `${prefix}${entry.name}/`);
29886
29909
  }
29887
29910
  if (!entry.name.startsWith("chunk-")) {
29888
29911
  return null;
@@ -29891,7 +29914,7 @@ var mimeTypes, getMimeType = (filePath) => {
29891
29914
  if (store.has(webPath)) {
29892
29915
  return null;
29893
29916
  }
29894
- return Bun.file(resolve42(dir, entry.name)).bytes().then((bytes) => {
29917
+ return Bun.file(resolve43(dir, entry.name)).bytes().then((bytes) => {
29895
29918
  store.set(webPath, bytes);
29896
29919
  return;
29897
29920
  }).catch(() => {});
@@ -29913,7 +29936,7 @@ var mimeTypes, getMimeType = (filePath) => {
29913
29936
  for (const webPath of newIdentities.values()) {
29914
29937
  if (store.has(webPath))
29915
29938
  continue;
29916
- loadPromises.push(Bun.file(resolve42(buildDir, webPath.slice(1))).bytes().then((bytes) => {
29939
+ loadPromises.push(Bun.file(resolve43(buildDir, webPath.slice(1))).bytes().then((bytes) => {
29917
29940
  store.set(webPath, bytes);
29918
29941
  return;
29919
29942
  }).catch(() => {}));
@@ -30054,9 +30077,9 @@ var init_transformCache = __esm(() => {
30054
30077
  });
30055
30078
 
30056
30079
  // src/dev/reactComponentClassifier.ts
30057
- import { resolve as resolve43 } from "path";
30080
+ import { resolve as resolve44 } from "path";
30058
30081
  var classifyComponent = (filePath) => {
30059
- const normalizedPath = resolve43(filePath);
30082
+ const normalizedPath = resolve44(filePath);
30060
30083
  if (normalizedPath.includes("/react/pages/")) {
30061
30084
  return "server";
30062
30085
  }
@@ -30068,7 +30091,7 @@ var classifyComponent = (filePath) => {
30068
30091
  var init_reactComponentClassifier = () => {};
30069
30092
 
30070
30093
  // src/dev/moduleMapper.ts
30071
- import { basename as basename18, resolve as resolve44 } from "path";
30094
+ import { basename as basename18, resolve as resolve45 } from "path";
30072
30095
  var buildModulePaths = (moduleKeys, manifest) => {
30073
30096
  const modulePaths = {};
30074
30097
  moduleKeys.forEach((key) => {
@@ -30078,7 +30101,7 @@ var buildModulePaths = (moduleKeys, manifest) => {
30078
30101
  });
30079
30102
  return modulePaths;
30080
30103
  }, processChangedFile = (sourceFile, framework, manifest, resolvedPaths, processedFiles) => {
30081
- const normalizedFile = resolve44(sourceFile);
30104
+ const normalizedFile = resolve45(sourceFile);
30082
30105
  const normalizedPath = normalizedFile.replace(/\\/g, "/");
30083
30106
  if (processedFiles.has(normalizedFile)) {
30084
30107
  return null;
@@ -30114,7 +30137,7 @@ var buildModulePaths = (moduleKeys, manifest) => {
30114
30137
  });
30115
30138
  return grouped;
30116
30139
  }, mapSourceFileToManifestKeys = (sourceFile, framework, resolvedPaths) => {
30117
- const normalizedFile = resolve44(sourceFile);
30140
+ const normalizedFile = resolve45(sourceFile);
30118
30141
  const fileName = basename18(normalizedFile);
30119
30142
  const baseName = fileName.replace(/\.(tsx?|jsx?|vue|svelte|css|html)$/, "");
30120
30143
  const pascalName = toPascal(baseName);
@@ -30170,7 +30193,7 @@ var init_moduleMapper = __esm(() => {
30170
30193
 
30171
30194
  // src/utils/spaRouteCss.ts
30172
30195
  import { readFile as readFile9 } from "fs/promises";
30173
- import { dirname as dirname31, isAbsolute as isAbsolute8, resolve as resolve45 } from "path";
30196
+ import { dirname as dirname31, isAbsolute as isAbsolute9, resolve as resolve46 } from "path";
30174
30197
  var sideManifestCache, readSideManifest = async (sideManifestPath) => {
30175
30198
  const cached = sideManifestCache.get(sideManifestPath);
30176
30199
  if (cached !== undefined)
@@ -30208,7 +30231,7 @@ var sideManifestCache, readSideManifest = async (sideManifestPath) => {
30208
30231
  }, readChildCss = async (cssPath, sideManifestPath) => {
30209
30232
  if (!cssPath)
30210
30233
  return "";
30211
- const resolvedCssPath = isAbsolute8(cssPath) ? cssPath : resolve45(dirname31(sideManifestPath), cssPath);
30234
+ const resolvedCssPath = isAbsolute9(cssPath) ? cssPath : resolve46(dirname31(sideManifestPath), cssPath);
30212
30235
  const cached = childCssCache.get(resolvedCssPath);
30213
30236
  if (cached !== undefined)
30214
30237
  return cached;
@@ -30292,7 +30315,7 @@ __export(exports_resolveOwningComponents, {
30292
30315
  resolveOwningComponents: () => resolveOwningComponents
30293
30316
  });
30294
30317
  import { readdirSync as readdirSync11, readFileSync as readFileSync37, statSync as statSync6 } from "fs";
30295
- import { dirname as dirname32, extname as extname14, join as join54, resolve as resolve46 } from "path";
30318
+ import { dirname as dirname32, extname as extname14, join as join55, resolve as resolve47 } from "path";
30296
30319
  import ts19 from "typescript";
30297
30320
  var ENTITY_DECORATORS, isAngularSourceFile = (file6) => file6.endsWith(".ts") || file6.endsWith(".tsx"), walkAngularSourceFiles = (root) => {
30298
30321
  const out = [];
@@ -30307,7 +30330,7 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file6) => file6.endsWith(".ts") ||
30307
30330
  if (entry.name.startsWith(".") || entry.name === "node_modules") {
30308
30331
  continue;
30309
30332
  }
30310
- const full = join54(dir, entry.name);
30333
+ const full = join55(dir, entry.name);
30311
30334
  if (entry.isDirectory()) {
30312
30335
  visit(full);
30313
30336
  } else if (entry.isFile() && isAngularSourceFile(entry.name)) {
@@ -30405,7 +30428,7 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file6) => file6.endsWith(".ts") ||
30405
30428
  };
30406
30429
  visit(sourceFile);
30407
30430
  return out;
30408
- }, safeNormalize = (path2) => resolve46(path2).replace(/\\/g, "/"), resolveOwningComponents = (params) => {
30431
+ }, safeNormalize = (path2) => resolve47(path2).replace(/\\/g, "/"), resolveOwningComponents = (params) => {
30409
30432
  const { changedFilePath, userAngularRoot } = params;
30410
30433
  const changedAbs = safeNormalize(changedFilePath);
30411
30434
  const out = [];
@@ -30474,7 +30497,7 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file6) => file6.endsWith(".ts") ||
30474
30497
  if (!spec.startsWith(".") && !spec.startsWith("/")) {
30475
30498
  return null;
30476
30499
  }
30477
- const base = resolve46(childDir, spec);
30500
+ const base = resolve47(childDir, spec);
30478
30501
  const candidates = [
30479
30502
  `${base}.ts`,
30480
30503
  `${base}.tsx`,
@@ -30512,7 +30535,7 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file6) => file6.endsWith(".ts") ||
30512
30535
  };
30513
30536
  if (cls.kind === "component") {
30514
30537
  for (const url of [...cls.templateUrls, ...cls.styleUrls]) {
30515
- const abs = safeNormalize(resolve46(componentDir, url));
30538
+ const abs = safeNormalize(resolve47(componentDir, url));
30516
30539
  const existing = resource.get(abs);
30517
30540
  if (existing)
30518
30541
  existing.push(entity);
@@ -30765,7 +30788,7 @@ __export(exports_moduleServer, {
30765
30788
  warnIfReactFastRefreshUnsupported: () => warnIfReactFastRefreshUnsupported
30766
30789
  });
30767
30790
  import { existsSync as existsSync44, readFileSync as readFileSync38, realpathSync as realpathSync3, statSync as statSync7 } from "fs";
30768
- import { basename as basename19, dirname as dirname33, extname as extname15, join as join55, resolve as resolve47, relative as relative20 } from "path";
30791
+ import { basename as basename19, dirname as dirname33, extname as extname15, join as join56, resolve as resolve48, relative as relative21 } from "path";
30769
30792
  var SRC_PREFIX = "/@src/", BROWSER_DEFINE, jsTranspiler2, legacyDecoratorTsconfig, tsTranspiler2, tsxTranspiler, TRANSPILABLE, ALL_EXPORTS_RE, STRING_CONTENTS_RE, preserveTypeExports = (originalSource, transpiled, valueExports) => {
30770
30793
  const codeOnly = originalSource.replace(STRING_CONTENTS_RE, '""');
30771
30794
  const allExports = [];
@@ -30785,10 +30808,10 @@ var SRC_PREFIX = "/@src/", BROWSER_DEFINE, jsTranspiler2, legacyDecoratorTsconfi
30785
30808
  ${stubs}
30786
30809
  `;
30787
30810
  }, resolveRelativeExtension = (srcPath, projectRoot, extensions) => {
30788
- const directHit = extensions.find((ext) => existsSync44(resolve47(projectRoot, srcPath + ext)));
30811
+ const directHit = extensions.find((ext) => existsSync44(resolve48(projectRoot, srcPath + ext)));
30789
30812
  if (directHit)
30790
30813
  return srcPath + directHit;
30791
- const indexHit = extensions.find((ext) => existsSync44(resolve47(projectRoot, srcPath, `index${ext}`)));
30814
+ const indexHit = extensions.find((ext) => existsSync44(resolve48(projectRoot, srcPath, `index${ext}`)));
30792
30815
  if (indexHit)
30793
30816
  return `${srcPath}/index${indexHit}`;
30794
30817
  return srcPath;
@@ -30817,7 +30840,7 @@ ${stubs}
30817
30840
  return invalidationVersion > 0 ? `${mtime}.${invalidationVersion}` : `${mtime}`;
30818
30841
  }, srcUrl = (relPath, projectRoot) => {
30819
30842
  const base = `${SRC_PREFIX}${relPath.replace(/\\/g, "/")}`;
30820
- const absPath = resolve47(projectRoot, relPath);
30843
+ const absPath = resolve48(projectRoot, relPath);
30821
30844
  const cached = mtimeCache.get(absPath);
30822
30845
  if (cached !== undefined)
30823
30846
  return `${base}?v=${buildVersion(cached, absPath)}`;
@@ -30829,12 +30852,12 @@ ${stubs}
30829
30852
  return base;
30830
30853
  }
30831
30854
  }, resolveRelativeImport = (relPath, fileDir, projectRoot, extensions) => {
30832
- const absPath = resolve47(fileDir, relPath);
30833
- const rel = relative20(projectRoot, absPath);
30855
+ const absPath = resolve48(fileDir, relPath);
30856
+ const rel = relative21(projectRoot, absPath);
30834
30857
  const extension = extname15(rel);
30835
30858
  let srcPath = RESOLVED_MODULE_EXTENSIONS.has(extension) ? rel : resolveRelativeExtension(rel, projectRoot, extensions);
30836
30859
  if (extname15(srcPath) === ".svelte") {
30837
- srcPath = relative20(projectRoot, resolveSvelteModulePath(resolve47(projectRoot, srcPath)));
30860
+ srcPath = relative21(projectRoot, resolveSvelteModulePath(resolve48(projectRoot, srcPath)));
30838
30861
  }
30839
30862
  return srcUrl(srcPath, projectRoot);
30840
30863
  }, NODE_BUILTIN_RE, resolveAbsoluteSpecifier = (specifier, projectRoot) => {
@@ -30846,27 +30869,27 @@ ${stubs}
30846
30869
  "import"
30847
30870
  ]);
30848
30871
  if (fromExports)
30849
- return relative20(projectRoot, fromExports);
30872
+ return relative21(projectRoot, fromExports);
30850
30873
  try {
30851
30874
  const isScoped = specifier.startsWith("@");
30852
30875
  const parts = specifier.split("/");
30853
30876
  const packageName = isScoped ? `${parts[0]}/${parts[1]}` : parts[0];
30854
30877
  const subpath = isScoped ? parts.slice(2).join("/") : parts.slice(1).join("/");
30855
30878
  if (!subpath) {
30856
- const pkgDir = resolve47(projectRoot, "node_modules", packageName ?? "");
30857
- const pkgJsonPath = join55(pkgDir, "package.json");
30879
+ const pkgDir = resolve48(projectRoot, "node_modules", packageName ?? "");
30880
+ const pkgJsonPath = join56(pkgDir, "package.json");
30858
30881
  if (existsSync44(pkgJsonPath)) {
30859
30882
  const pkg = JSON.parse(readFileSync38(pkgJsonPath, "utf-8"));
30860
30883
  const esmEntry = typeof pkg.module === "string" && pkg.module || typeof pkg.browser === "string" && pkg.browser;
30861
30884
  if (esmEntry) {
30862
- const resolved = resolve47(pkgDir, esmEntry);
30885
+ const resolved = resolve48(pkgDir, esmEntry);
30863
30886
  if (existsSync44(resolved))
30864
- return relative20(projectRoot, resolved);
30887
+ return relative21(projectRoot, resolved);
30865
30888
  }
30866
30889
  }
30867
30890
  }
30868
30891
  } catch {}
30869
- return relative20(projectRoot, Bun.resolveSync(specifier, projectRoot));
30892
+ return relative21(projectRoot, Bun.resolveSync(specifier, projectRoot));
30870
30893
  } catch {
30871
30894
  return;
30872
30895
  }
@@ -30905,22 +30928,22 @@ ${stubs}
30905
30928
  result = result.replace(/(import\s*["'])(\.\.?\/[^"']+)(["']\s*;?)/g, (_match, prefix, relPath, suffix) => isRealImport(relPath) ? `${prefix}${resolveRelativeImport(relPath, fileDir, projectRoot, SIDE_EFFECT_EXTENSIONS)}${suffix}` : _match);
30906
30929
  const rewriteAbsoluteToSrc = (_match, prefix, absPath, _ext, suffix) => {
30907
30930
  if (absPath.startsWith(projectRoot)) {
30908
- const rel2 = relative20(projectRoot, absPath).replace(/\\/g, "/");
30931
+ const rel2 = relative21(projectRoot, absPath).replace(/\\/g, "/");
30909
30932
  return `${prefix}${srcUrl(rel2, projectRoot)}${suffix}`;
30910
30933
  }
30911
- const rel = relative20(projectRoot, absPath).replace(/\\/g, "/");
30934
+ const rel = relative21(projectRoot, absPath).replace(/\\/g, "/");
30912
30935
  return `${prefix}${srcUrl(rel, projectRoot)}${suffix}`;
30913
30936
  };
30914
30937
  result = result.replace(/((?:from|import)\s*["'])(\/[^"']+\.(tsx?|jsx?|ts))(["'])/g, rewriteAbsoluteToSrc);
30915
30938
  result = result.replace(/(import\s*\(\s*["'])(\/[^"']+\.(tsx?|jsx?|ts))(["']\s*\))/g, rewriteAbsoluteToSrc);
30916
30939
  result = result.replace(/new\s+URL\(\s*["'](\.\.?\/[^"']+)["']\s*,\s*import\.meta\.url\s*\)/g, (_match, relPath) => {
30917
- const absPath = resolve47(fileDir, relPath);
30918
- const rel = relative20(projectRoot, absPath);
30940
+ const absPath = resolve48(fileDir, relPath);
30941
+ const rel = relative21(projectRoot, absPath);
30919
30942
  return `new URL('${srcUrl(rel, projectRoot)}', import.meta.url)`;
30920
30943
  });
30921
30944
  result = result.replace(/import\.meta\.resolve\(\s*["'](\.\.?\/[^"']+)["']\s*\)/g, (_match, relPath) => {
30922
- const absPath = resolve47(fileDir, relPath);
30923
- const rel = relative20(projectRoot, absPath);
30945
+ const absPath = resolve48(fileDir, relPath);
30946
+ const rel = relative21(projectRoot, absPath);
30924
30947
  return `'${srcUrl(rel, projectRoot)}'`;
30925
30948
  });
30926
30949
  return result;
@@ -30976,7 +30999,7 @@ ${code2}`;
30976
30999
  transpiled = `var $RefreshReg$ = window.$RefreshReg$ || function(){};
30977
31000
  ` + `var $RefreshSig$ = window.$RefreshSig$ || function(){ return function(t){ return t; }; };
30978
31001
  ${transpiled}`;
30979
- const relPath = relative20(projectRoot, filePath).replace(/\\/g, "/");
31002
+ const relPath = relative21(projectRoot, filePath).replace(/\\/g, "/");
30980
31003
  transpiled = transpiled.replace(/\binput\.tsx:/g, `${relPath}:`);
30981
31004
  transpiled += buildIslandMetadataExports(raw);
30982
31005
  return rewriteImports(transpiled, filePath, projectRoot, rewriter);
@@ -31137,11 +31160,11 @@ ${code2}`;
31137
31160
  if (compiled.css?.code) {
31138
31161
  const cssPath = `${filePath}.css`;
31139
31162
  svelteExternalCss.set(cssPath, compiled.css.code);
31140
- const cssUrl = srcUrl(relative20(projectRoot, cssPath), projectRoot);
31163
+ const cssUrl = srcUrl(relative21(projectRoot, cssPath), projectRoot);
31141
31164
  code2 = `import "${cssUrl}";
31142
31165
  ${code2}`;
31143
31166
  }
31144
- const moduleUrl = `${SRC_PREFIX}${relative20(projectRoot, filePath).replace(/\\/g, "/")}`;
31167
+ const moduleUrl = `${SRC_PREFIX}${relative21(projectRoot, filePath).replace(/\\/g, "/")}`;
31145
31168
  code2 = code2.replace(/if\s*\(import\.meta\.hot\)\s*\{/, `if (typeof window !== "undefined") {
31146
31169
  ` + ` if (!window.__SVELTE_HMR_ACCEPT__) window.__SVELTE_HMR_ACCEPT__ = {};
31147
31170
  ` + ` var __hmr_accept = function(cb) { window.__SVELTE_HMR_ACCEPT__[${JSON.stringify(moduleUrl)}] = cb; };`);
@@ -31241,8 +31264,8 @@ ${code2}`;
31241
31264
  code2 = injectVueHmr(code2, filePath, projectRoot, vueDir);
31242
31265
  return rewriteImports(code2, filePath, projectRoot, rewriter);
31243
31266
  }, injectVueHmr = (code2, filePath, projectRoot, vueDir) => {
31244
- const hmrBase = vueDir ? resolve47(vueDir) : projectRoot;
31245
- const hmrId = relative20(hmrBase, filePath).replace(/\\/g, "/").replace(/\.vue$/, "");
31267
+ const hmrBase = vueDir ? resolve48(vueDir) : projectRoot;
31268
+ const hmrId = relative21(hmrBase, filePath).replace(/\\/g, "/").replace(/\.vue$/, "");
31246
31269
  let result = code2.replace(/export\s+default\s+/, "var __hmr_comp__ = ");
31247
31270
  result += [
31248
31271
  "",
@@ -31402,7 +31425,7 @@ export default {};
31402
31425
  const escaped = virtualCss.replace(/\\/g, "\\\\").replace(/`/g, "\\`").replace(/\$/g, "\\$");
31403
31426
  return jsResponse(`var s=document.createElement('style');s.textContent=\`${escaped}\`;s.dataset.svelteHmr=${JSON.stringify(cssCheckPath)};var p=document.querySelector('style[data-svelte-hmr="${cssCheckPath}"]');if(p)p.remove();document.head.appendChild(s);`);
31404
31427
  }, resolveSourcePath2 = (relPath, projectRoot) => {
31405
- const filePath = resolve47(projectRoot, relPath);
31428
+ const filePath = resolve48(projectRoot, relPath);
31406
31429
  const ext = extname15(filePath);
31407
31430
  if (ext === ".svelte")
31408
31431
  return { ext, filePath: resolveSvelteModulePath(filePath) };
@@ -31439,14 +31462,14 @@ export default {};
31439
31462
  const absoluteCandidate = `/${tail.replace(/^\/+/, "")}`;
31440
31463
  const candidates = [
31441
31464
  absoluteCandidate,
31442
- resolve47(projectRoot, tail)
31465
+ resolve48(projectRoot, tail)
31443
31466
  ];
31444
31467
  try {
31445
31468
  const { loadConfig: loadConfig2 } = await Promise.resolve().then(() => (init_loadConfig(), exports_loadConfig));
31446
31469
  const cfg = await loadConfig2();
31447
- const angularDir = cfg.angularDirectory && resolve47(projectRoot, cfg.angularDirectory);
31470
+ const angularDir = cfg.angularDirectory && resolve48(projectRoot, cfg.angularDirectory);
31448
31471
  if (angularDir)
31449
- candidates.push(resolve47(angularDir, tail));
31472
+ candidates.push(resolve48(angularDir, tail));
31450
31473
  } catch {}
31451
31474
  for (const candidate of candidates) {
31452
31475
  if (await fileExists2(candidate)) {
@@ -31477,7 +31500,7 @@ export default {};
31477
31500
  if (!TRANSPILABLE.has(ext))
31478
31501
  return;
31479
31502
  const stat4 = statSync7(filePath);
31480
- const resolvedVueDir = vueDir ? resolve47(vueDir) : undefined;
31503
+ const resolvedVueDir = vueDir ? resolve48(vueDir) : undefined;
31481
31504
  let content = REACT_EXTENSIONS.has(ext) ? transformReactFile(filePath, projectRoot, rewriter) : transformPlainFile(filePath, projectRoot, rewriter, resolvedVueDir);
31482
31505
  const isAngularGeneratedJs = ext === ".js" && filePath.replace(/\\/g, "/").includes("/.absolutejs/generated/angular/");
31483
31506
  if (isAngularGeneratedJs) {
@@ -31536,7 +31559,7 @@ export default {};
31536
31559
  const relPath = pathname.slice(SRC_PREFIX.length);
31537
31560
  if (relPath === "bun:wrap" || relPath.startsWith("bun:wrap?"))
31538
31561
  return handleBunWrapRequest();
31539
- const virtualCssResponse = handleVirtualSvelteCss(resolve47(projectRoot, relPath));
31562
+ const virtualCssResponse = handleVirtualSvelteCss(resolve48(projectRoot, relPath));
31540
31563
  if (virtualCssResponse)
31541
31564
  return virtualCssResponse;
31542
31565
  const { filePath, ext } = resolveSourcePath2(relPath, projectRoot);
@@ -31552,11 +31575,11 @@ export default {};
31552
31575
  SRC_IMPORT_RE.lastIndex = 0;
31553
31576
  while ((match = SRC_IMPORT_RE.exec(content)) !== null) {
31554
31577
  if (match[1])
31555
- files.push(resolve47(projectRoot, match[1]));
31578
+ files.push(resolve48(projectRoot, match[1]));
31556
31579
  }
31557
31580
  return files;
31558
31581
  }, invalidateModule = (filePath) => {
31559
- const resolved = resolve47(filePath);
31582
+ const resolved = resolve48(filePath);
31560
31583
  invalidate(filePath);
31561
31584
  if (resolved !== filePath)
31562
31585
  invalidate(resolved);
@@ -31619,7 +31642,7 @@ export default {};
31619
31642
  return false;
31620
31643
  }
31621
31644
  const { patchManifestIndexes } = await Promise.resolve().then(() => (init_prepare(), exports_prepare));
31622
- patchManifestIndexes(cached.manifest, resolve47(state.resolvedPaths.buildDir, "_src_indexes"), SRC_PREFIX);
31645
+ patchManifestIndexes(cached.manifest, resolve48(state.resolvedPaths.buildDir, "_src_indexes"), SRC_PREFIX);
31623
31646
  logPageBuild(entry.source, entry.framework, Math.round(durationMs));
31624
31647
  logStartupTimingBlock("AbsoluteJS on-demand page build", [
31625
31648
  { durationMs, label: entry.name }
@@ -31790,10 +31813,10 @@ __export(exports_hmrCompiler, {
31790
31813
  encodeHmrComponentId: () => encodeHmrComponentId,
31791
31814
  getApplyMetadataModule: () => getApplyMetadataModule
31792
31815
  });
31793
- import { dirname as dirname34, relative as relative21, resolve as resolve48 } from "path";
31816
+ import { dirname as dirname34, relative as relative22, resolve as resolve49 } from "path";
31794
31817
  import { performance as performance2 } from "perf_hooks";
31795
31818
  var encodeHmrComponentId = (absoluteFilePath, className) => {
31796
- const projectRel = relative21(process.cwd(), absoluteFilePath).replace(/\\/g, "/");
31819
+ const projectRel = relative22(process.cwd(), absoluteFilePath).replace(/\\/g, "/");
31797
31820
  return `${projectRel}@${className}`;
31798
31821
  }, getApplyMetadataModule = async (encodedId) => {
31799
31822
  const decoded = decodeURIComponent(encodedId);
@@ -31802,8 +31825,8 @@ var encodeHmrComponentId = (absoluteFilePath, className) => {
31802
31825
  return null;
31803
31826
  const filePathRel = decoded.slice(0, separatorIndex);
31804
31827
  const className = decoded.slice(separatorIndex + 1);
31805
- const componentFilePath = resolve48(process.cwd(), filePathRel);
31806
- const projectRelPath = relative21(process.cwd(), componentFilePath).replace(/\\/g, "/");
31828
+ const componentFilePath = resolve49(process.cwd(), filePathRel);
31829
+ const projectRelPath = relative22(process.cwd(), componentFilePath).replace(/\\/g, "/");
31807
31830
  const cacheKey3 = encodeURIComponent(`${projectRelPath}@${className}`);
31808
31831
  const { takePendingModule: takePendingModule2 } = await Promise.resolve().then(() => (init_fastHmrCompiler(), exports_fastHmrCompiler));
31809
31832
  const cached = takePendingModule2(cacheKey3);
@@ -32047,11 +32070,11 @@ var exports_simpleHTMLHMR = {};
32047
32070
  __export(exports_simpleHTMLHMR, {
32048
32071
  handleHTMLUpdate: () => handleHTMLUpdate
32049
32072
  });
32050
- import { resolve as resolve49 } from "path";
32073
+ import { resolve as resolve50 } from "path";
32051
32074
  var handleHTMLUpdate = async (htmlFilePath) => {
32052
32075
  let htmlContent;
32053
32076
  try {
32054
- const resolvedPath = resolve49(htmlFilePath);
32077
+ const resolvedPath = resolve50(htmlFilePath);
32055
32078
  const file6 = Bun.file(resolvedPath);
32056
32079
  if (!await file6.exists()) {
32057
32080
  return null;
@@ -32077,11 +32100,11 @@ var exports_simpleHTMXHMR = {};
32077
32100
  __export(exports_simpleHTMXHMR, {
32078
32101
  handleHTMXUpdate: () => handleHTMXUpdate
32079
32102
  });
32080
- import { resolve as resolve50 } from "path";
32103
+ import { resolve as resolve51 } from "path";
32081
32104
  var handleHTMXUpdate = async (htmxFilePath) => {
32082
32105
  let htmlContent;
32083
32106
  try {
32084
- const resolvedPath = resolve50(htmxFilePath);
32107
+ const resolvedPath = resolve51(htmxFilePath);
32085
32108
  const file6 = Bun.file(resolvedPath);
32086
32109
  if (!await file6.exists()) {
32087
32110
  return null;
@@ -32113,11 +32136,11 @@ import { existsSync as existsSync45, readdirSync as readdirSync12, rmSync as rmS
32113
32136
  import {
32114
32137
  basename as basename20,
32115
32138
  dirname as dirname35,
32116
- isAbsolute as isAbsolute9,
32117
- join as join56,
32118
- relative as relative22,
32139
+ isAbsolute as isAbsolute10,
32140
+ join as join57,
32141
+ relative as relative23,
32119
32142
  resolve as resolvePath,
32120
- sep as sep5
32143
+ sep as sep6
32121
32144
  } from "path";
32122
32145
  var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSsrCssCaches = () => {
32123
32146
  clearSpaRouteCssCaches();
@@ -32241,8 +32264,8 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
32241
32264
  const relJs = `${rel.slice(0, -ext[0].length)}.js`;
32242
32265
  const generatedDir = getFrameworkGeneratedDir(framework, cwd2);
32243
32266
  for (const candidate of [
32244
- join56(generatedDir, relJs),
32245
- `${join56(generatedDir, relJs)}.map`
32267
+ join57(generatedDir, relJs),
32268
+ `${join57(generatedDir, relJs)}.map`
32246
32269
  ]) {
32247
32270
  try {
32248
32271
  rmSync4(candidate, { force: true });
@@ -32483,7 +32506,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
32483
32506
  const webPath = urlPrefix ? `/${urlPrefix}/${relFromDir}` : `/${relFromDir}`;
32484
32507
  state.assetStore.set(webPath, new Uint8Array(bytes));
32485
32508
  state.fileHashes.set(absSource, currentHash);
32486
- logHmrUpdate(relative22(process.cwd(), filePath));
32509
+ logHmrUpdate(relative23(process.cwd(), filePath));
32487
32510
  broadcastToClients(state, {
32488
32511
  data: {
32489
32512
  framework: urlPrefix || "public",
@@ -32503,7 +32526,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
32503
32526
  return;
32504
32527
  if (framework === "unknown") {
32505
32528
  invalidate(resolvePath(filePath));
32506
- const relPath = relative22(process.cwd(), filePath);
32529
+ const relPath = relative23(process.cwd(), filePath);
32507
32530
  logHmrUpdate(relPath);
32508
32531
  const { angularDir } = state.resolvedPaths;
32509
32532
  let hasAngularDependent = false;
@@ -33025,8 +33048,8 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
33025
33048
  };
33026
33049
  return ({ immediate = false } = {}) => {
33027
33050
  if (!ctx.debouncedPromise) {
33028
- ctx.debouncedPromise = new Promise((resolve51) => {
33029
- ctx.debouncedResolve = resolve51;
33051
+ ctx.debouncedPromise = new Promise((resolve52) => {
33052
+ ctx.debouncedResolve = resolve52;
33030
33053
  });
33031
33054
  }
33032
33055
  const scheduled = ctx.debouncedPromise;
@@ -33052,7 +33075,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
33052
33075
  const angularDirAbs = resolvePath(angularDir);
33053
33076
  const filesUnderAngular = Array.from(editedFiles).filter((file6) => {
33054
33077
  const abs = resolvePath(file6);
33055
- return abs === angularDirAbs || abs.startsWith(angularDirAbs + sep5);
33078
+ return abs === angularDirAbs || abs.startsWith(angularDirAbs + sep6);
33056
33079
  });
33057
33080
  if (filesUnderAngular.length === 0)
33058
33081
  return;
@@ -33095,7 +33118,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
33095
33118
  try {
33096
33119
  const { invalidateModule: invalidateModule2 } = await Promise.resolve().then(() => (init_moduleServer(), exports_moduleServer));
33097
33120
  for (const tsFile of tsFilesToRefresh) {
33098
- const rel = relative22(angularDirAbs, tsFile).replace(/\\/g, "/").replace(/\.[tj]sx?$/, ".js");
33121
+ const rel = relative23(angularDirAbs, tsFile).replace(/\\/g, "/").replace(/\.[tj]sx?$/, ".js");
33099
33122
  const compiledFile = resolvePath(compiledRoot, rel);
33100
33123
  invalidateModule2(compiledFile);
33101
33124
  }
@@ -33148,7 +33171,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
33148
33171
  const entries = await readdir5(dir, { withFileTypes: true });
33149
33172
  const files = [];
33150
33173
  for (const entry of entries) {
33151
- const full = join56(dir, entry.name);
33174
+ const full = join57(dir, entry.name);
33152
33175
  if (entry.isDirectory()) {
33153
33176
  files.push(...await walk(full));
33154
33177
  } else if (entry.isFile() && entry.name.endsWith(".ts") && !entry.name.endsWith(".d.ts")) {
@@ -33250,7 +33273,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
33250
33273
  }, getModuleUrl = async (pageFile) => {
33251
33274
  const { invalidateModule: invalidateModule2, warmCache: warmCache2, SRC_URL_PREFIX: SRC_URL_PREFIX3 } = await Promise.resolve().then(() => (init_moduleServer(), exports_moduleServer));
33252
33275
  invalidateModule2(pageFile);
33253
- const rel = relative22(process.cwd(), pageFile).replace(/\\/g, "/");
33276
+ const rel = relative23(process.cwd(), pageFile).replace(/\\/g, "/");
33254
33277
  const url = `${SRC_URL_PREFIX3}${rel}`;
33255
33278
  await warmCache2(url);
33256
33279
  return url;
@@ -33278,7 +33301,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
33278
33301
  const pageModuleUrl = await getReactModuleUrl(broadcastTarget);
33279
33302
  if (pageModuleUrl) {
33280
33303
  const serverDuration = Date.now() - startTime;
33281
- state.lastHmrPath = relative22(process.cwd(), primaryFile).replace(/\\/g, "/");
33304
+ state.lastHmrPath = relative23(process.cwd(), primaryFile).replace(/\\/g, "/");
33282
33305
  state.lastHmrFramework = "react";
33283
33306
  broadcastToClients(state, {
33284
33307
  data: {
@@ -33571,8 +33594,8 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
33571
33594
  };
33572
33595
  return () => {
33573
33596
  if (!ctx.debouncedPromise) {
33574
- ctx.debouncedPromise = new Promise((resolve51) => {
33575
- ctx.debouncedResolve = resolve51;
33597
+ ctx.debouncedPromise = new Promise((resolve52) => {
33598
+ ctx.debouncedResolve = resolve52;
33576
33599
  });
33577
33600
  }
33578
33601
  if (ctx.debounceTimer)
@@ -33723,7 +33746,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
33723
33746
  } = await compileVue2(vueFiles, vueDir, true, getStyleTransformConfig(state.config));
33724
33747
  const serverEntries = [...vueServerPaths];
33725
33748
  const clientEntries = [...vueIndexPaths, ...vueClientPaths];
33726
- const cssOutDir = join56(buildDir, state.resolvedPaths.assetsDir ? basename20(state.resolvedPaths.assetsDir) : "assets", "css");
33749
+ const cssOutDir = join57(buildDir, state.resolvedPaths.assetsDir ? basename20(state.resolvedPaths.assetsDir) : "assets", "css");
33727
33750
  const { serverRoot, serverOutDir } = await computeServerOutPaths(state.resolvedPaths, "vue");
33728
33751
  const serverExternals = await getServerBundleExternals();
33729
33752
  const serverExternalsPlugins = await getServerBundleExternalsPlugins(state.config);
@@ -33783,7 +33806,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
33783
33806
  if (vueSpaRoutesBySource.size > 0) {
33784
33807
  const spaManifestEntries = await writeSpaSideManifests(vueSpaRoutesBySource, (pascalName) => {
33785
33808
  const fromManifest = state.manifest[pascalName];
33786
- return typeof fromManifest === "string" && isAbsolute9(fromManifest) && fromManifest.endsWith(".js") ? fromManifest : undefined;
33809
+ return typeof fromManifest === "string" && isAbsolute10(fromManifest) && fromManifest.endsWith(".js") ? fromManifest : undefined;
33787
33810
  });
33788
33811
  Object.assign(state.manifest, spaManifestEntries);
33789
33812
  }
@@ -33853,8 +33876,8 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
33853
33876
  };
33854
33877
  return () => {
33855
33878
  if (!ctx.debouncedPromise) {
33856
- ctx.debouncedPromise = new Promise((resolve51) => {
33857
- ctx.debouncedResolve = resolve51;
33879
+ ctx.debouncedPromise = new Promise((resolve52) => {
33880
+ ctx.debouncedResolve = resolve52;
33858
33881
  });
33859
33882
  }
33860
33883
  if (ctx.debounceTimer)
@@ -33907,7 +33930,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
33907
33930
  const duration = Date.now() - startTime;
33908
33931
  const [primary] = emberFiles;
33909
33932
  if (primary) {
33910
- state.lastHmrPath = relative22(process.cwd(), primary).replace(/\\/g, "/");
33933
+ state.lastHmrPath = relative23(process.cwd(), primary).replace(/\\/g, "/");
33911
33934
  state.lastHmrFramework = "ember";
33912
33935
  logHmrUpdate(primary, "ember", duration);
33913
33936
  }
@@ -34176,7 +34199,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, clearDevSs
34176
34199
  const baseName = fileName.replace(/\.vue$/, "");
34177
34200
  const pascalName = toPascal(baseName);
34178
34201
  const vueRoot = config.vueDirectory;
34179
- const hmrId = vueRoot ? relative22(vueRoot, vuePagePath).replace(/\\/g, "/").replace(/\.vue$/, "") : baseName;
34202
+ const hmrId = vueRoot ? relative23(vueRoot, vuePagePath).replace(/\\/g, "/").replace(/\.vue$/, "") : baseName;
34180
34203
  const cssKey = `${pascalName}CSS`;
34181
34204
  const cssUrl = manifest[cssKey] || null;
34182
34205
  const { vueHmrMetadata: vueHmrMetadata2 } = await Promise.resolve().then(() => (init_compileVue(), exports_compileVue));
@@ -34837,7 +34860,7 @@ __export(exports_buildDepVendor, {
34837
34860
  });
34838
34861
  import { mkdirSync as mkdirSync14 } from "fs";
34839
34862
  import { isBuiltin as isBuiltin2 } from "module";
34840
- import { join as join57 } from "path";
34863
+ import { join as join58 } from "path";
34841
34864
  import { rm as rm13 } from "fs/promises";
34842
34865
  var {build: bunBuild9, Glob: Glob10 } = globalThis.Bun;
34843
34866
  var toSafeFileName6 = (specifier) => {
@@ -34995,7 +35018,7 @@ var toSafeFileName6 = (specifier) => {
34995
35018
  }), buildDepVendorPass = async (specifiers, vendorDir, tmpDir) => {
34996
35019
  const entries = await Promise.all(specifiers.map(async (specifier) => {
34997
35020
  const safeName = toSafeFileName6(specifier);
34998
- const entryPath = join57(tmpDir, `${safeName}.ts`);
35021
+ const entryPath = join58(tmpDir, `${safeName}.ts`);
34999
35022
  await Bun.write(entryPath, await generateVendorEntrySource(specifier));
35000
35023
  return { entryPath, specifier };
35001
35024
  }));
@@ -35086,9 +35109,9 @@ var toSafeFileName6 = (specifier) => {
35086
35109
  const { dep: initialSpecs, framework: frameworkRoots } = await scanBareImports(directories, files);
35087
35110
  if (initialSpecs.length === 0 && frameworkRoots.length === 0)
35088
35111
  return {};
35089
- const vendorDir = join57(buildDir, "vendor");
35112
+ const vendorDir = join58(buildDir, "vendor");
35090
35113
  mkdirSync14(vendorDir, { recursive: true });
35091
- const tmpDir = join57(buildDir, "_dep_vendor_tmp");
35114
+ const tmpDir = join58(buildDir, "_dep_vendor_tmp");
35092
35115
  mkdirSync14(tmpDir, { recursive: true });
35093
35116
  const allSpecs = new Set(initialSpecs);
35094
35117
  const alreadyScanned = new Set;
@@ -35188,7 +35211,7 @@ import {
35188
35211
  readFileSync as readFileSync39
35189
35212
  } from "fs";
35190
35213
  import { mkdir as mkdir14, readFile as readFile10, rename as rename5, rm as rm14, writeFile as writeFile11 } from "fs/promises";
35191
- import { basename as basename21, join as join58, resolve as resolve51 } from "path";
35214
+ import { basename as basename21, join as join59, resolve as resolve52 } from "path";
35192
35215
  var CACHE_ROOT2, CACHE_FORMAT_VERSION3 = 1, KEY_LENGTH = 32, LOCKFILES, computeVendorCacheKey = (inputs) => {
35193
35216
  const hash = createHash8("sha256");
35194
35217
  hash.update(String(CACHE_FORMAT_VERSION3));
@@ -35208,14 +35231,14 @@ var CACHE_ROOT2, CACHE_FORMAT_VERSION3 = 1, KEY_LENGTH = 32, LOCKFILES, computeV
35208
35231
  }
35209
35232
  for (const dir of inputs.vendorDirs) {
35210
35233
  hash.update("\x00v");
35211
- hash.update(basename21(resolve51(dir, "..")));
35234
+ hash.update(basename21(resolve52(dir, "..")));
35212
35235
  }
35213
35236
  return hash.digest("hex").slice(0, KEY_LENGTH);
35214
35237
  }, readLockfileHash = (projectRoot = process.cwd()) => {
35215
35238
  const hash = createHash8("sha256");
35216
35239
  let found = false;
35217
35240
  for (const name of LOCKFILES) {
35218
- const path2 = join58(projectRoot, name);
35241
+ const path2 = join59(projectRoot, name);
35219
35242
  if (!existsSync46(path2))
35220
35243
  continue;
35221
35244
  found = true;
@@ -35226,8 +35249,8 @@ var CACHE_ROOT2, CACHE_FORMAT_VERSION3 = 1, KEY_LENGTH = 32, LOCKFILES, computeV
35226
35249
  }, vendorCacheEnabled = () => process.env.ABSOLUTE_DEV_VENDOR_CACHE !== "0", copyTree = (fromDir, toDir) => {
35227
35250
  mkdirSync15(toDir, { recursive: true });
35228
35251
  for (const entry of readdirSync13(fromDir, { withFileTypes: true })) {
35229
- const source = join58(fromDir, entry.name);
35230
- const destination = join58(toDir, entry.name);
35252
+ const source = join59(fromDir, entry.name);
35253
+ const destination = join59(toDir, entry.name);
35231
35254
  if (entry.isDirectory())
35232
35255
  copyTree(source, destination);
35233
35256
  else
@@ -35235,7 +35258,7 @@ var CACHE_ROOT2, CACHE_FORMAT_VERSION3 = 1, KEY_LENGTH = 32, LOCKFILES, computeV
35235
35258
  }
35236
35259
  }, copySlotsInto = (cacheDir2, vendorDirs) => {
35237
35260
  for (const [index, dir] of vendorDirs.entries()) {
35238
- const source = join58(cacheDir2, slotName(index, dir));
35261
+ const source = join59(cacheDir2, slotName(index, dir));
35239
35262
  if (!existsSync46(source)) {
35240
35263
  throw new Error(`missing cached vendor dir ${source}`);
35241
35264
  }
@@ -35245,11 +35268,11 @@ var CACHE_ROOT2, CACHE_FORMAT_VERSION3 = 1, KEY_LENGTH = 32, LOCKFILES, computeV
35245
35268
  for (const [index, dir] of vendorDirs.entries()) {
35246
35269
  if (!existsSync46(dir))
35247
35270
  continue;
35248
- copyTree(dir, join58(stagingDir, slotName(index, dir)));
35271
+ copyTree(dir, join59(stagingDir, slotName(index, dir)));
35249
35272
  }
35250
- }, isVendorCachePayload = (value) => typeof value === "object" && value !== null && typeof Reflect.get(value, "depPaths") === "object", cacheDirFor = (key, projectRoot) => resolve51(projectRoot, CACHE_ROOT2, key), slotName = (index, dir) => `${index}-${basename21(resolve51(dir, ".."))}`, restoreVendorCache = async (key, vendorDirs, projectRoot = process.cwd()) => {
35273
+ }, isVendorCachePayload = (value) => typeof value === "object" && value !== null && typeof Reflect.get(value, "depPaths") === "object", cacheDirFor = (key, projectRoot) => resolve52(projectRoot, CACHE_ROOT2, key), slotName = (index, dir) => `${index}-${basename21(resolve52(dir, ".."))}`, restoreVendorCache = async (key, vendorDirs, projectRoot = process.cwd()) => {
35251
35274
  const cacheDir2 = cacheDirFor(key, projectRoot);
35252
- const payloadPath = join58(cacheDir2, "payload.json");
35275
+ const payloadPath = join59(cacheDir2, "payload.json");
35253
35276
  if (!existsSync46(payloadPath))
35254
35277
  return null;
35255
35278
  try {
@@ -35263,14 +35286,14 @@ var CACHE_ROOT2, CACHE_FORMAT_VERSION3 = 1, KEY_LENGTH = 32, LOCKFILES, computeV
35263
35286
  }
35264
35287
  }, saveVendorCache = async (key, vendorDirs, payload, projectRoot = process.cwd()) => {
35265
35288
  const cacheDir2 = cacheDirFor(key, projectRoot);
35266
- if (existsSync46(join58(cacheDir2, "payload.json")))
35289
+ if (existsSync46(join59(cacheDir2, "payload.json")))
35267
35290
  return;
35268
35291
  const stagingDir = `${cacheDir2}.${process.pid}.tmp`;
35269
35292
  try {
35270
35293
  await rm14(stagingDir, { force: true, recursive: true });
35271
35294
  await mkdir14(stagingDir, { recursive: true });
35272
35295
  copySlotsFrom(stagingDir, vendorDirs);
35273
- await writeFile11(join58(stagingDir, "payload.json"), JSON.stringify(payload));
35296
+ await writeFile11(join59(stagingDir, "payload.json"), JSON.stringify(payload));
35274
35297
  await rm14(cacheDir2, { force: true, recursive: true });
35275
35298
  await rename5(stagingDir, cacheDir2);
35276
35299
  } catch {
@@ -35280,7 +35303,7 @@ var CACHE_ROOT2, CACHE_FORMAT_VERSION3 = 1, KEY_LENGTH = 32, LOCKFILES, computeV
35280
35303
  }
35281
35304
  };
35282
35305
  var init_vendorCache = __esm(() => {
35283
- CACHE_ROOT2 = join58(".absolutejs", "vendor-cache");
35306
+ CACHE_ROOT2 = join59(".absolutejs", "vendor-cache");
35284
35307
  LOCKFILES = [
35285
35308
  "bun.lock",
35286
35309
  "bun.lockb",
@@ -35299,8 +35322,8 @@ __export(exports_devBuild, {
35299
35322
  });
35300
35323
  import { readdir as readdir5 } from "fs/promises";
35301
35324
  import { existsSync as existsSync47, statSync as statSync8 } from "fs";
35302
- import { resolve as resolve52 } from "path";
35303
- var FRAMEWORK_DIR_KEYS, devClientVendorSourceDir = () => resolve52(import.meta.dir, "../dev/client"), collectDepVendorSourceDirs = (config) => {
35325
+ import { resolve as resolve53 } from "path";
35326
+ var FRAMEWORK_DIR_KEYS, devClientVendorSourceDir = () => resolve53(import.meta.dir, "../dev/client"), collectDepVendorSourceDirs = (config) => {
35304
35327
  const configuredDirs = [
35305
35328
  ...collectConfigVendorSourceDirs(config),
35306
35329
  devClientVendorSourceDir()
@@ -35323,7 +35346,7 @@ var FRAMEWORK_DIR_KEYS, devClientVendorSourceDir = () => resolve52(import.meta.d
35323
35346
  return Object.keys(config).length > 0 ? config : null;
35324
35347
  }, reloadConfig = async () => {
35325
35348
  try {
35326
- const configPath2 = resolve52(process.env.ABSOLUTE_CONFIG ?? "absolute.config.ts");
35349
+ const configPath2 = resolve53(process.env.ABSOLUTE_CONFIG ?? "absolute.config.ts");
35327
35350
  const source = await Bun.file(configPath2).text();
35328
35351
  return parseDirectoryConfig(source);
35329
35352
  } catch {
@@ -35438,7 +35461,7 @@ var FRAMEWORK_DIR_KEYS, devClientVendorSourceDir = () => resolve52(import.meta.d
35438
35461
  });
35439
35462
  }
35440
35463
  }, handleCachedReload = async () => {
35441
- const serverMtime = statSync8(resolve52(Bun.main)).mtimeMs;
35464
+ const serverMtime = statSync8(resolve53(Bun.main)).mtimeMs;
35442
35465
  const lastMtime = globalThis.__hmrServerMtime;
35443
35466
  globalThis.__hmrServerMtime = serverMtime;
35444
35467
  const cached = globalThis.__hmrDevResult;
@@ -35479,8 +35502,8 @@ var FRAMEWORK_DIR_KEYS, devClientVendorSourceDir = () => resolve52(import.meta.d
35479
35502
  return true;
35480
35503
  }, resolveAbsoluteVersion2 = async () => {
35481
35504
  const candidates = [
35482
- resolve52(import.meta.dir, "..", "..", "package.json"),
35483
- resolve52(import.meta.dir, "..", "package.json")
35505
+ resolve53(import.meta.dir, "..", "..", "package.json"),
35506
+ resolve53(import.meta.dir, "..", "package.json")
35484
35507
  ];
35485
35508
  const [candidate, ...remaining] = candidates;
35486
35509
  if (!candidate) {
@@ -35506,7 +35529,7 @@ var FRAMEWORK_DIR_KEYS, devClientVendorSourceDir = () => resolve52(import.meta.d
35506
35529
  const entries = await readdir5(vendorDir).catch(() => emptyStringArray);
35507
35530
  await Promise.all(entries.filter((entry) => entry.endsWith(".js")).map(async (entry) => {
35508
35531
  const webPath = `/${framework}/vendor/${entry}`;
35509
- const bytes = await Bun.file(resolve52(vendorDir, entry)).bytes();
35532
+ const bytes = await Bun.file(resolve53(vendorDir, entry)).bytes();
35510
35533
  assetStore.set(webPath, bytes);
35511
35534
  }));
35512
35535
  }, devBuild = async (config) => {
@@ -35692,11 +35715,11 @@ var FRAMEWORK_DIR_KEYS, devClientVendorSourceDir = () => resolve52(import.meta.d
35692
35715
  }
35693
35716
  stepStartedAt = performance.now();
35694
35717
  setBootPhase("build vendor bundles");
35695
- const reactVendorDir = resolve52(state.resolvedPaths.buildDir, "react", "vendor");
35696
- const angularVendorDir = resolve52(state.resolvedPaths.buildDir, "angular", "vendor");
35697
- const svelteVendorDir = resolve52(state.resolvedPaths.buildDir, "svelte", "vendor");
35698
- const vueVendorDir = resolve52(state.resolvedPaths.buildDir, "vue", "vendor");
35699
- const depVendorDir = resolve52(state.resolvedPaths.buildDir, "vendor");
35718
+ const reactVendorDir = resolve53(state.resolvedPaths.buildDir, "react", "vendor");
35719
+ const angularVendorDir = resolve53(state.resolvedPaths.buildDir, "angular", "vendor");
35720
+ const svelteVendorDir = resolve53(state.resolvedPaths.buildDir, "svelte", "vendor");
35721
+ const vueVendorDir = resolve53(state.resolvedPaths.buildDir, "vue", "vendor");
35722
+ const depVendorDir = resolve53(state.resolvedPaths.buildDir, "vendor");
35700
35723
  const { buildDepVendor: buildDepVendor2 } = await Promise.resolve().then(() => (init_buildDepVendor(), exports_buildDepVendor));
35701
35724
  const activeVendorDirs = [
35702
35725
  config.reactDirectory ? reactVendorDir : null,
@@ -35819,7 +35842,7 @@ var FRAMEWORK_DIR_KEYS, devClientVendorSourceDir = () => resolve52(import.meta.d
35819
35842
  manifest
35820
35843
  };
35821
35844
  globalThis.__hmrDevResult = result;
35822
- globalThis.__hmrServerMtime = statSync8(resolve52(Bun.main)).mtimeMs;
35845
+ globalThis.__hmrServerMtime = statSync8(resolve53(Bun.main)).mtimeMs;
35823
35846
  return result;
35824
35847
  };
35825
35848
  var init_devBuild = __esm(() => {
@@ -35972,8 +35995,8 @@ var STORE_KEY = "__elysiaStore", restoredStores, getGlobalValue = (key) => Refle
35972
35995
  return null;
35973
35996
  if (!pathname.startsWith("/"))
35974
35997
  return null;
35975
- const { resolve: resolve53, normalize } = await import("path");
35976
- const candidate = resolve53(buildDir, pathname.slice(1));
35998
+ const { resolve: resolve54, normalize } = await import("path");
35999
+ const candidate = resolve54(buildDir, pathname.slice(1));
35977
36000
  const normalizedBuild = normalize(buildDir);
35978
36001
  if (!candidate.startsWith(normalizedBuild))
35979
36002
  return null;
@@ -36079,12 +36102,12 @@ __export(exports_devtoolsJson, {
36079
36102
  resolveDevtoolsUuidCachePath: () => resolveDevtoolsUuidCachePath
36080
36103
  });
36081
36104
  import { existsSync as existsSync48, mkdirSync as mkdirSync16, readFileSync as readFileSync40, writeFileSync as writeFileSync11 } from "fs";
36082
- import { dirname as dirname36, join as join59, resolve as resolve53 } from "path";
36105
+ import { dirname as dirname36, join as join60, resolve as resolve54 } from "path";
36083
36106
  import { Elysia as Elysia7 } from "elysia";
36084
36107
  var ENDPOINT = "/.well-known/appspecific/com.chrome.devtools.json", UUID_CACHE_KEY = "__absoluteDevtoolsWorkspaceUuid", getGlobalUuid = () => Reflect.get(globalThis, UUID_CACHE_KEY), setGlobalUuid = (uuid) => {
36085
36108
  Reflect.set(globalThis, UUID_CACHE_KEY, uuid);
36086
36109
  return uuid;
36087
- }, isUuidV4 = (value) => /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(value), resolveDevtoolsUuidCachePath = (buildDir, uuidCachePath) => resolve53(uuidCachePath ?? join59(buildDir, ".absolute", "chrome-devtools-workspace-uuid")), readCachedUuid = (cachePath) => {
36110
+ }, isUuidV4 = (value) => /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(value), resolveDevtoolsUuidCachePath = (buildDir, uuidCachePath) => resolve54(uuidCachePath ?? join60(buildDir, ".absolute", "chrome-devtools-workspace-uuid")), readCachedUuid = (cachePath) => {
36088
36111
  if (!existsSync48(cachePath))
36089
36112
  return null;
36090
36113
  try {
@@ -36110,7 +36133,7 @@ var ENDPOINT = "/.well-known/appspecific/com.chrome.devtools.json", UUID_CACHE_K
36110
36133
  writeFileSync11(cachePath, uuid, "utf-8");
36111
36134
  return setGlobalUuid(uuid);
36112
36135
  }, devtoolsJson = (buildDir, options = {}) => {
36113
- const rootPath = resolve53(options.projectRoot ?? process.cwd());
36136
+ const rootPath = resolve54(options.projectRoot ?? process.cwd());
36114
36137
  const root = options.normalizeForWindowsContainer === false ? rootPath : normalizeDevtoolsWorkspaceRoot(rootPath);
36115
36138
  const uuid = getOrCreateUuid(buildDir, options);
36116
36139
  return new Elysia7({ name: "absolute-devtools-json" }).get(ENDPOINT, () => ({
@@ -36123,11 +36146,11 @@ var ENDPOINT = "/.well-known/appspecific/com.chrome.devtools.json", UUID_CACHE_K
36123
36146
  if (process.env.WSL_DISTRO_NAME) {
36124
36147
  const distro = process.env.WSL_DISTRO_NAME;
36125
36148
  const withoutLeadingSlash = root.replace(/^\//, "");
36126
- return join59("\\\\wsl.localhost", distro, withoutLeadingSlash).replace(/\//g, "\\");
36149
+ return join60("\\\\wsl.localhost", distro, withoutLeadingSlash).replace(/\//g, "\\");
36127
36150
  }
36128
36151
  if (process.env.DOCKER_DESKTOP && !root.startsWith("\\\\")) {
36129
36152
  const withoutLeadingSlash = root.replace(/^\//, "");
36130
- return join59("\\\\wsl.localhost", "docker-desktop-data", withoutLeadingSlash).replace(/\//g, "\\");
36153
+ return join60("\\\\wsl.localhost", "docker-desktop-data", withoutLeadingSlash).replace(/\//g, "\\");
36131
36154
  }
36132
36155
  return root;
36133
36156
  };
@@ -36139,7 +36162,7 @@ __export(exports_imageOptimizer, {
36139
36162
  imageOptimizer: () => imageOptimizer
36140
36163
  });
36141
36164
  import { existsSync as existsSync49 } from "fs";
36142
- import { resolve as resolve54 } from "path";
36165
+ import { resolve as resolve55 } from "path";
36143
36166
  import { Elysia as Elysia8 } from "elysia";
36144
36167
  var DEFAULT_CACHE_TTL_SECONDS = 60, MS_PER_SECOND = 1000, MAX_QUALITY = 100, avifInProgress, safeResolve = (path2, baseDir) => {
36145
36168
  try {
@@ -36152,7 +36175,7 @@ var DEFAULT_CACHE_TTL_SECONDS = 60, MS_PER_SECOND = 1000, MAX_QUALITY = 100, avi
36152
36175
  }
36153
36176
  }, resolveLocalImage = (url, buildDir) => {
36154
36177
  const cleanPath = url.startsWith("/") ? url.slice(1) : url;
36155
- return safeResolve(cleanPath, buildDir) ?? safeResolve(cleanPath, resolve54(process.cwd()));
36178
+ return safeResolve(cleanPath, buildDir) ?? safeResolve(cleanPath, resolve55(process.cwd()));
36156
36179
  }, parseQueryParams = (query, allowedSizes, defaultQuality) => {
36157
36180
  const url = typeof query["url"] === "string" ? query["url"] : undefined;
36158
36181
  const wParam = typeof query["w"] === "string" ? query["w"] : undefined;
@@ -36659,7 +36682,7 @@ import {
36659
36682
  rm as rm15,
36660
36683
  writeFile as writeFile12
36661
36684
  } from "fs/promises";
36662
- import { join as join60, resolve as resolvePath2 } from "path";
36685
+ import { join as join61, resolve as resolvePath2 } from "path";
36663
36686
  var DEFAULT_MAX_PRODUCER_BYTES = 134217728, SHA_2562 = "sha256", ARTIFACT_FILE = "artifact.json", RELEASE_ID_PATTERN, DEFAULT_BLOB_PREFIX = "absolutejs/mobile-compatibility", hashBlob = async (blob) => {
36664
36687
  const bytes = new Uint8Array(await blob.arrayBuffer());
36665
36688
  return createHash10(SHA_2562).update(bytes).digest("hex");
@@ -36673,7 +36696,7 @@ var DEFAULT_MAX_PRODUCER_BYTES = 134217728, SHA_2562 = "sha256", ARTIFACT_FILE =
36673
36696
  }
36674
36697
  return releaseId;
36675
36698
  }, readStoredArtifact = async (releaseDirectory) => {
36676
- const serialized = await readFile11(join60(releaseDirectory, ARTIFACT_FILE), "utf8");
36699
+ const serialized = await readFile11(join61(releaseDirectory, ARTIFACT_FILE), "utf8");
36677
36700
  const parsed = JSON.parse(serialized);
36678
36701
  return parseAbsoluteMobileCompatibilityArtifact(parsed);
36679
36702
  }, validateStoredIdentity = (artifact, appId, releaseId) => {
@@ -36768,8 +36791,8 @@ var DEFAULT_MAX_PRODUCER_BYTES = 134217728, SHA_2562 = "sha256", ARTIFACT_FILE =
36768
36791
  }, createAbsoluteMobileFileArtifactStore = (options) => {
36769
36792
  const root = resolvePath2(options.root);
36770
36793
  const maxProducerBytes = options.maxProducerBytes ?? DEFAULT_MAX_PRODUCER_BYTES;
36771
- const appDirectory = (appId) => join60(root, appDirectoryName(appId));
36772
- const releaseDirectory = (appId, releaseId) => join60(appDirectory(appId), requireReleaseId(releaseId));
36794
+ const appDirectory = (appId) => join61(root, appDirectoryName(appId));
36795
+ const releaseDirectory = (appId, releaseId) => join61(appDirectory(appId), requireReleaseId(releaseId));
36773
36796
  const acceptExistingRelease = async (error, artifact) => {
36774
36797
  if (!errorHasCode(error, "EEXIST") && !errorHasCode(error, "ENOTEMPTY")) {
36775
36798
  return false;
@@ -36810,7 +36833,7 @@ var DEFAULT_MAX_PRODUCER_BYTES = 134217728, SHA_2562 = "sha256", ARTIFACT_FILE =
36810
36833
  }
36811
36834
  return {
36812
36835
  artifact,
36813
- producer: Bun.file(join60(directory, artifact.producer.module))
36836
+ producer: Bun.file(join61(directory, artifact.producer.module))
36814
36837
  };
36815
36838
  },
36816
36839
  write: async (release) => {
@@ -36818,14 +36841,14 @@ var DEFAULT_MAX_PRODUCER_BYTES = 134217728, SHA_2562 = "sha256", ARTIFACT_FILE =
36818
36841
  const validated = await verifyAbsoluteMobileCompatibilityProducer({ artifact: validatedArtifact, producer: release.producer }, maxProducerBytes);
36819
36842
  const parent = appDirectory(validated.artifact.appId);
36820
36843
  await mkdir15(parent, { recursive: true });
36821
- const staging = await mkdtemp2(join60(parent, ".stage-"));
36822
- const producerPath = join60(staging, validated.artifact.producer.module);
36844
+ const staging = await mkdtemp2(join61(parent, ".stage-"));
36845
+ const producerPath = join61(staging, validated.artifact.producer.module);
36823
36846
  try {
36824
36847
  await mkdir15(resolvePath2(producerPath, ".."), {
36825
36848
  recursive: true
36826
36849
  });
36827
36850
  await Promise.all([
36828
- writeFile12(join60(staging, ARTIFACT_FILE), `${JSON.stringify(validated.artifact, null, "\t")}
36851
+ writeFile12(join61(staging, ARTIFACT_FILE), `${JSON.stringify(validated.artifact, null, "\t")}
36829
36852
  `),
36830
36853
  writeFile12(producerPath, new Uint8Array(await validated.producer.arrayBuffer()))
36831
36854
  ]);
@@ -36871,7 +36894,7 @@ import {
36871
36894
  rm as rm16,
36872
36895
  writeFile as writeFile13
36873
36896
  } from "fs/promises";
36874
- import { dirname as dirname37, join as join61, resolve as resolvePath3 } from "path";
36897
+ import { dirname as dirname37, join as join62, resolve as resolvePath3 } from "path";
36875
36898
  import { pathToFileURL as pathToFileURL5 } from "url";
36876
36899
  var ABSOLUTE_MOBILE_MATERIALIZED_BUNDLE_FORMAT = 1, CURRENT_BUNDLE_FILE = "current.json", BUNDLES_DIRECTORY = "bundles", ARTIFACT_FILE2 = "artifact.json", BUNDLE_ID_PATTERN, isRecord10 = (value) => typeof value === "object" && value !== null && !Array.isArray(value), errorHasCode2 = (error, code2) => typeof error === "object" && error !== null && Reflect.get(error, "code") === code2, bundleIdFor = (currentReleaseId, releases) => {
36877
36900
  const identity = JSON.stringify({
@@ -36902,16 +36925,16 @@ var ABSOLUTE_MOBILE_MATERIALIZED_BUNDLE_FORMAT = 1, CURRENT_BUNDLE_FILE = "curre
36902
36925
  releases
36903
36926
  };
36904
36927
  }, writeRelease = async (root, release) => {
36905
- const directory = join61(root, release.artifact.releaseId);
36906
- const producerPath = join61(directory, release.artifact.producer.module);
36928
+ const directory = join62(root, release.artifact.releaseId);
36929
+ const producerPath = join62(directory, release.artifact.producer.module);
36907
36930
  await mkdir16(dirname37(producerPath), { recursive: true });
36908
36931
  await Promise.all([
36909
- writeFile13(join61(directory, ARTIFACT_FILE2), `${JSON.stringify(release.artifact, null, "\t")}
36932
+ writeFile13(join62(directory, ARTIFACT_FILE2), `${JSON.stringify(release.artifact, null, "\t")}
36910
36933
  `),
36911
36934
  writeFile13(producerPath, new Uint8Array(await release.producer.arrayBuffer()))
36912
36935
  ]);
36913
36936
  }, installImmutableBundle = async (bundlesRoot, bundleId, releases) => {
36914
- const destination = join61(bundlesRoot, bundleId);
36937
+ const destination = join62(bundlesRoot, bundleId);
36915
36938
  try {
36916
36939
  await access5(destination);
36917
36940
  return destination;
@@ -36919,7 +36942,7 @@ var ABSOLUTE_MOBILE_MATERIALIZED_BUNDLE_FORMAT = 1, CURRENT_BUNDLE_FILE = "curre
36919
36942
  if (!errorHasCode2(error, "ENOENT"))
36920
36943
  throw error;
36921
36944
  }
36922
- const staging = await mkdtemp3(join61(bundlesRoot, ".stage-"));
36945
+ const staging = await mkdtemp3(join62(bundlesRoot, ".stage-"));
36923
36946
  try {
36924
36947
  await Promise.all(releases.map((release) => writeRelease(staging, release)));
36925
36948
  await rename7(staging, destination);
@@ -36950,15 +36973,15 @@ var ABSOLUTE_MOBILE_MATERIALIZED_BUNDLE_FORMAT = 1, CURRENT_BUNDLE_FILE = "curre
36950
36973
  };
36951
36974
  }, loadAbsoluteMobileMaterializedBundle = async (root) => {
36952
36975
  const resolvedRoot = resolvePath3(root);
36953
- const serialized = await readFile12(join61(resolvedRoot, CURRENT_BUNDLE_FILE), "utf8");
36976
+ const serialized = await readFile12(join62(resolvedRoot, CURRENT_BUNDLE_FILE), "utf8");
36954
36977
  const parsed = JSON.parse(serialized);
36955
36978
  const index = parseBundleIndex(parsed);
36956
- const bundleRoot = join61(resolvedRoot, BUNDLES_DIRECTORY, index.bundleId);
36979
+ const bundleRoot = join62(resolvedRoot, BUNDLES_DIRECTORY, index.bundleId);
36957
36980
  return {
36958
36981
  artifacts: index.releases,
36959
36982
  currentReleaseId: index.currentReleaseId,
36960
36983
  loadProducer: async (artifact) => {
36961
- const modulePath = join61(bundleRoot, artifact.releaseId, artifact.producer.module);
36984
+ const modulePath = join62(bundleRoot, artifact.releaseId, artifact.producer.module);
36962
36985
  await verifyAbsoluteMobileCompatibilityProducer({
36963
36986
  artifact,
36964
36987
  producer: Bun.file(modulePath)
@@ -36984,7 +37007,7 @@ var ABSOLUTE_MOBILE_MATERIALIZED_BUNDLE_FORMAT = 1, CURRENT_BUNDLE_FILE = "curre
36984
37007
  return release;
36985
37008
  });
36986
37009
  const root = resolvePath3(input.root);
36987
- const bundlesRoot = join61(root, BUNDLES_DIRECTORY);
37010
+ const bundlesRoot = join62(root, BUNDLES_DIRECTORY);
36988
37011
  await mkdir16(bundlesRoot, { recursive: true });
36989
37012
  const bundleId = bundleIdFor(input.currentReleaseId, artifacts);
36990
37013
  await installImmutableBundle(bundlesRoot, bundleId, orderedReleases);
@@ -36994,8 +37017,8 @@ var ABSOLUTE_MOBILE_MATERIALIZED_BUNDLE_FORMAT = 1, CURRENT_BUNDLE_FILE = "curre
36994
37017
  format: ABSOLUTE_MOBILE_MATERIALIZED_BUNDLE_FORMAT,
36995
37018
  releases: artifacts
36996
37019
  };
36997
- const pointerPath = join61(root, CURRENT_BUNDLE_FILE);
36998
- const temporaryPointerPath = join61(root, `.current-${crypto.randomUUID()}.json`);
37020
+ const pointerPath = join62(root, CURRENT_BUNDLE_FILE);
37021
+ const temporaryPointerPath = join62(root, `.current-${crypto.randomUUID()}.json`);
36999
37022
  await writeFile13(temporaryPointerPath, `${JSON.stringify(index, null, "\t")}
37000
37023
  `, { flag: "wx" });
37001
37024
  await rename7(temporaryPointerPath, pointerPath);
@@ -37003,12 +37026,12 @@ var ABSOLUTE_MOBILE_MATERIALIZED_BUNDLE_FORMAT = 1, CURRENT_BUNDLE_FILE = "curre
37003
37026
  }, readAbsoluteMobileMaterializedReleases = async (root) => {
37004
37027
  const resolvedRoot = resolvePath3(root);
37005
37028
  try {
37006
- const serialized = await readFile12(join61(resolvedRoot, CURRENT_BUNDLE_FILE), "utf8");
37029
+ const serialized = await readFile12(join62(resolvedRoot, CURRENT_BUNDLE_FILE), "utf8");
37007
37030
  const parsed = JSON.parse(serialized);
37008
37031
  const index = parseBundleIndex(parsed);
37009
- const bundleRoot = join61(resolvedRoot, BUNDLES_DIRECTORY, index.bundleId);
37032
+ const bundleRoot = join62(resolvedRoot, BUNDLES_DIRECTORY, index.bundleId);
37010
37033
  return Promise.all(index.releases.map(async (artifact) => {
37011
- const producer = Bun.file(join61(bundleRoot, artifact.releaseId, artifact.producer.module));
37034
+ const producer = Bun.file(join62(bundleRoot, artifact.releaseId, artifact.producer.module));
37012
37035
  await verifyAbsoluteMobileCompatibilityProducer({
37013
37036
  artifact,
37014
37037
  producer
@@ -37203,7 +37226,7 @@ __export(exports_prerender, {
37203
37226
  routeToFilename: () => routeToFilename
37204
37227
  });
37205
37228
  import { mkdirSync as mkdirSync17, readFileSync as readFileSync41 } from "fs";
37206
- import { join as join62 } from "path";
37229
+ import { join as join63 } from "path";
37207
37230
  var SERVER_OUTPUT_LIMIT = 4000, STARTUP_POLL_INTERVAL_MS = 100, DEFAULT_STARTUP_TIMEOUT_MS = 30000, DEFAULT_FETCH_TIMEOUT_MS = 1e4, PRERENDER_BYPASS_HEADER = "X-Absolute-Prerender-Bypass", routeToFilename = (route) => route === "/" ? "index.html" : `${route.slice(1).replace(/\//g, "-")}.html`, writeTimestamp = async (htmlPath) => {
37208
37231
  const metaPath = htmlPath.replace(/\.html$/, ".meta");
37209
37232
  await Bun.write(metaPath, String(Date.now()));
@@ -37273,7 +37296,7 @@ var SERVER_OUTPUT_LIMIT = 4000, STARTUP_POLL_INTERVAL_MS = 100, DEFAULT_STARTUP_
37273
37296
  if (!isCompleteHtml(html))
37274
37297
  return false;
37275
37298
  const fileName = routeToFilename(route);
37276
- const filePath = join62(prerenderDir, fileName);
37299
+ const filePath = join63(prerenderDir, fileName);
37277
37300
  await Bun.write(filePath, html);
37278
37301
  await writeTimestamp(filePath);
37279
37302
  return true;
@@ -37303,13 +37326,13 @@ var SERVER_OUTPUT_LIMIT = 4000, STARTUP_POLL_INTERVAL_MS = 100, DEFAULT_STARTUP_
37303
37326
  return;
37304
37327
  }
37305
37328
  const fileName = routeToFilename(route);
37306
- const filePath = join62(prerenderDir, fileName);
37329
+ const filePath = join63(prerenderDir, fileName);
37307
37330
  await Bun.write(filePath, html);
37308
37331
  await writeTimestamp(filePath);
37309
37332
  result.routes.set(route, filePath);
37310
37333
  log2?.(` Pre-rendered ${route} \u2192 ${fileName} (${html.length} bytes)`);
37311
37334
  }, prerender = async (port, outDir, staticConfig, log2) => {
37312
- const prerenderDir = join62(outDir, "_prerendered");
37335
+ const prerenderDir = join63(outDir, "_prerendered");
37313
37336
  mkdirSync17(prerenderDir, { recursive: true });
37314
37337
  const baseUrl = `http://localhost:${port}`;
37315
37338
  let routes;
@@ -37428,10 +37451,10 @@ __export(exports_prepare, {
37428
37451
  });
37429
37452
  import { createHash as createHash12 } from "crypto";
37430
37453
  import { existsSync as existsSync50, readdirSync as readdirSync14, readFileSync as readFileSync42 } from "fs";
37431
- import { basename as basename22, join as join63, relative as relative23, resolve as resolvePath4 } from "path";
37454
+ import { basename as basename22, join as join64, relative as relative24, resolve as resolvePath4 } from "path";
37432
37455
  import { Elysia as Elysia11, NotFound } from "elysia";
37433
- var MS_PER_SECOND2 = 1000, DEFAULT_PORT2 = 3000, MAX_STATIC_ROUTE_COUNT, STATIC_PLUGIN_RETRY_DELAY_MS = 50, waitForStaticPluginRetry = () => new Promise((resolve55) => {
37434
- setTimeout(resolve55, STATIC_PLUGIN_RETRY_DELAY_MS);
37456
+ var MS_PER_SECOND2 = 1000, DEFAULT_PORT2 = 3000, MAX_STATIC_ROUTE_COUNT, STATIC_PLUGIN_RETRY_DELAY_MS = 50, waitForStaticPluginRetry = () => new Promise((resolve56) => {
37457
+ setTimeout(resolve56, STATIC_PLUGIN_RETRY_DELAY_MS);
37435
37458
  }), retryStaticPlugin = async (createStaticPlugin, options) => {
37436
37459
  try {
37437
37460
  return await createStaticPlugin(options);
@@ -37517,7 +37540,7 @@ var MS_PER_SECOND2 = 1000, DEFAULT_PORT2 = 3000, MAX_STATIC_ROUTE_COUNT, STATIC_
37517
37540
  return files;
37518
37541
  }, PREWARM_MAX_PAUSE_MS = 60000, toWarmTasks = function* (files, warmCache2, srcUrlPrefix) {
37519
37542
  for (const file6 of files) {
37520
- const rel = relative23(process.cwd(), file6).replace(/\\/g, "/");
37543
+ const rel = relative24(process.cwd(), file6).replace(/\\/g, "/");
37521
37544
  yield () => warmCache2(`${srcUrlPrefix}${rel}`);
37522
37545
  }
37523
37546
  }, builtPageSources = () => {
@@ -37558,7 +37581,7 @@ var MS_PER_SECOND2 = 1000, DEFAULT_PORT2 = 3000, MAX_STATIC_ROUTE_COUNT, STATIC_
37558
37581
  const srcPath = resolvePath4(devIndexDir, fileName);
37559
37582
  if (!existsSync50(srcPath))
37560
37583
  continue;
37561
- const rel = relative23(process.cwd(), srcPath).replace(/\\/g, "/");
37584
+ const rel = relative24(process.cwd(), srcPath).replace(/\\/g, "/");
37562
37585
  manifest[key] = `${SRC_URL_PREFIX3}${rel}`;
37563
37586
  }
37564
37587
  }, ICON_HASH_LENGTH = 8, registerIconVersioning = (buildDir) => {
@@ -37570,7 +37593,7 @@ var MS_PER_SECOND2 = 1000, DEFAULT_PORT2 = 3000, MAX_STATIC_ROUTE_COUNT, STATIC_
37570
37593
  if (cached !== undefined)
37571
37594
  return cached;
37572
37595
  const path2 = href.split("?")[0] ?? href;
37573
- const filePath = join63(buildDir, path2);
37596
+ const filePath = join64(buildDir, path2);
37574
37597
  let versioned = href;
37575
37598
  if (existsSync50(filePath)) {
37576
37599
  const hash = createHash12("sha256").update(readFileSync42(filePath)).digest("hex").slice(0, ICON_HASH_LENGTH);
@@ -37717,12 +37740,12 @@ var MS_PER_SECOND2 = 1000, DEFAULT_PORT2 = 3000, MAX_STATIC_ROUTE_COUNT, STATIC_
37717
37740
  continue;
37718
37741
  const name = basename22(entry, ".html");
37719
37742
  const route = name === "index" ? "/" : `/${name}`;
37720
- map.set(route, join63(prerenderDir, entry));
37743
+ map.set(route, join64(prerenderDir, entry));
37721
37744
  }
37722
37745
  return map;
37723
37746
  }, loadMobileCompatibilityPlugin = async (buildDir) => {
37724
- const root = join63(buildDir, ".absolutejs", "mobile-compatibility");
37725
- if (!existsSync50(join63(root, "current.json"))) {
37747
+ const root = join64(buildDir, ".absolutejs", "mobile-compatibility");
37748
+ if (!existsSync50(join64(root, "current.json"))) {
37726
37749
  return new Elysia11({ name: "absolutejs-mobile-compatibility-empty" });
37727
37750
  }
37728
37751
  const [
@@ -37787,12 +37810,12 @@ This usually means a build-time error in a source file. Check the dev-server ter
37787
37810
  setCurrentPageIslandMetadata(await loadPageIslandMetadata(config));
37788
37811
  recordStep("load production manifest and island metadata", stepStartedAt);
37789
37812
  stepStartedAt = performance.now();
37790
- const conventionsPath = join63(buildDir, "conventions.json");
37813
+ const conventionsPath = join64(buildDir, "conventions.json");
37791
37814
  if (existsSync50(conventionsPath)) {
37792
37815
  const conventions2 = JSON.parse(readFileSync42(conventionsPath, "utf-8"));
37793
37816
  setConventions(conventions2);
37794
37817
  }
37795
- const spaRoutesPath = join63(buildDir, "spa-routes.json");
37818
+ const spaRoutesPath = join64(buildDir, "spa-routes.json");
37796
37819
  if (existsSync50(spaRoutesPath)) {
37797
37820
  setSpaRouteManifest(JSON.parse(readFileSync42(spaRoutesPath, "utf-8")));
37798
37821
  }
@@ -37805,12 +37828,12 @@ This usually means a build-time error in a source file. Check the dev-server ter
37805
37828
  prefix: "",
37806
37829
  staticLimit: MAX_STATIC_ROUTE_COUNT
37807
37830
  });
37808
- const generatedAssetsRoot = join63(buildDir, ".absolutejs");
37831
+ const generatedAssetsRoot = join64(buildDir, ".absolutejs");
37809
37832
  const generatedAssetsPlugin = new Elysia11({
37810
37833
  name: "absolutejs-generated-assets"
37811
37834
  }).get("/.absolutejs/*", async ({ params, set }) => {
37812
37835
  const requestedPath = resolvePath4(generatedAssetsRoot, params["*"]);
37813
- if (relative23(generatedAssetsRoot, requestedPath).startsWith("..")) {
37836
+ if (relative24(generatedAssetsRoot, requestedPath).startsWith("..")) {
37814
37837
  set.status = 404;
37815
37838
  return "Not Found";
37816
37839
  }
@@ -37843,7 +37866,7 @@ This usually means a build-time error in a source file. Check the dev-server ter
37843
37866
  responseValue.headers.set("cache-control", isFingerprintedAsset(pathname) ? "public, max-age=31536000, immutable" : "public, max-age=0, must-revalidate");
37844
37867
  });
37845
37868
  stepStartedAt = performance.now();
37846
- const prerenderDir = join63(buildDir, "_prerendered");
37869
+ const prerenderDir = join64(buildDir, "_prerendered");
37847
37870
  const prerenderMap = loadPrerenderMap(prerenderDir);
37848
37871
  const mobileCompatibilityPlugin = await loadMobileCompatibilityPlugin(buildDir);
37849
37872
  const mobileAssociationPlugin = await loadMobileAssociationPlugin(config.mobile);
@@ -37966,7 +37989,7 @@ import {
37966
37989
  watch as watch2
37967
37990
  } from "fs";
37968
37991
  import { createHash as createHash13 } from "crypto";
37969
- import { dirname as dirname38, join as join66, resolve as resolve55 } from "path";
37992
+ import { dirname as dirname38, join as join67, resolve as resolve56 } from "path";
37970
37993
  var ATOMIC_RECOVERY_WINDOW_MS = 1000, RELOAD_DEBOUNCE_MS = 80, ENTRY_IMPORT_RETRY_DELAY_MS = 250, MAX_ENTRY_IMPORT_ATTEMPTS = 3, WATCH_FALLBACK_INTERVAL_MS = 250, ATOMIC_WRITE_TEMP_PATTERNS2, isAtomicWriteTemp = (filename) => filename.endsWith(".tmp") || filename.includes(".tmp.") || filename.endsWith("~") || filename.startsWith(".#") || filename.startsWith(".absolutejs-hmr-") || ATOMIC_WRITE_TEMP_PATTERNS2.some((pattern) => pattern.test(filename)), fileHash = (path2) => {
37971
37994
  try {
37972
37995
  return createHash13("sha256").update(readFileSync45(path2)).digest("hex");
@@ -37994,10 +38017,10 @@ var ATOMIC_RECOVERY_WINDOW_MS = 1000, RELOAD_DEBOUNCE_MS = 80, ENTRY_IMPORT_RETR
37994
38017
  return;
37995
38018
  globalThis.__absoluteEntryWatcherStarted = true;
37996
38019
  globalThis.__absoluteEntryWatcherReady = false;
37997
- const entryPath = resolve55(originalEntry);
38020
+ const entryPath = resolve56(originalEntry);
37998
38021
  const entryDir = dirname38(entryPath);
37999
38022
  const entryBase = entryPath.slice(entryDir.length + 1);
38000
- const configPath2 = resolve55(process.env.ABSOLUTE_CONFIG ?? "absolute.config.ts");
38023
+ const configPath2 = resolve56(process.env.ABSOLUTE_CONFIG ?? "absolute.config.ts");
38001
38024
  const configDir2 = dirname38(configPath2);
38002
38025
  const configBase = configPath2.slice(configDir2.length + 1);
38003
38026
  const recentlyHandled = new Map;
@@ -38008,7 +38031,7 @@ var ATOMIC_RECOVERY_WINDOW_MS = 1000, RELOAD_DEBOUNCE_MS = 80, ENTRY_IMPORT_RETR
38008
38031
  let pendingEntryCause = null;
38009
38032
  let siblingSequence = 0;
38010
38033
  const importFreshEntry = async (attempt = 1) => {
38011
- const siblingPath = join66(entryDir, `.absolutejs-hmr-${process.pid}-${siblingSequence++}.ts`);
38034
+ const siblingPath = join67(entryDir, `.absolutejs-hmr-${process.pid}-${siblingSequence++}.ts`);
38012
38035
  let failure;
38013
38036
  try {
38014
38037
  copyFileSync6(entryPath, siblingPath);
@@ -38121,7 +38144,7 @@ var ATOMIC_RECOVERY_WINDOW_MS = 1000, RELOAD_DEBOUNCE_MS = 80, ENTRY_IMPORT_RETR
38121
38144
  continue;
38122
38145
  let st2;
38123
38146
  try {
38124
- st2 = statSync9(join66(dir, entry.name));
38147
+ st2 = statSync9(join67(dir, entry.name));
38125
38148
  } catch {
38126
38149
  continue;
38127
38150
  }
@@ -38538,10 +38561,10 @@ import {
38538
38561
  } from "fs";
38539
38562
  import { X509Certificate as X509Certificate4 } from "crypto";
38540
38563
  import { isIP } from "net";
38541
- import { join as join64 } from "path";
38542
- var CERT_DIR = join64(process.cwd(), ".absolutejs");
38543
- var CERT_PATH = join64(CERT_DIR, "cert.pem");
38544
- var KEY_PATH = join64(CERT_DIR, "key.pem");
38564
+ import { join as join65 } from "path";
38565
+ var CERT_DIR = join65(process.cwd(), ".absolutejs");
38566
+ var CERT_PATH = join65(CERT_DIR, "cert.pem");
38567
+ var KEY_PATH = join65(CERT_DIR, "key.pem");
38545
38568
  var CERT_VALIDITY_DAYS = 365;
38546
38569
  var DEFAULT_CERTIFICATE_HOSTS = ["localhost", "127.0.0.1", "::1"];
38547
38570
  var CERTIFICATE_HOSTNAME_PATTERN = /^(?=.{1,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)(?:\.(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?))*$/u;
@@ -38701,12 +38724,12 @@ import {
38701
38724
  writeFileSync as writeFileSync12
38702
38725
  } from "fs";
38703
38726
  import { homedir as homedir2 } from "os";
38704
- import { basename as basename23, join as join65 } from "path";
38727
+ import { basename as basename23, join as join66 } from "path";
38705
38728
  var registeredPids = new Set;
38706
38729
  var exitHandlerRegistered = false;
38707
- var instanceFilePath = (pid) => join65(instanceRegistryDir(), `${pid}.json`);
38708
- var instanceLogPath = (pid) => join65(instanceRegistryDir(), `${pid}.log`);
38709
- var instanceRegistryDir = () => join65(homedir2(), ".absolutejs", "instances");
38730
+ var instanceFilePath = (pid) => join66(instanceRegistryDir(), `${pid}.json`);
38731
+ var instanceLogPath = (pid) => join66(instanceRegistryDir(), `${pid}.log`);
38732
+ var instanceRegistryDir = () => join66(homedir2(), ".absolutejs", "instances");
38710
38733
  var removeInstanceFilesSync = (pid) => {
38711
38734
  try {
38712
38735
  unlinkSync2(instanceFilePath(pid));
@@ -38741,7 +38764,7 @@ var registerInstance = (record) => {
38741
38764
  return record;
38742
38765
  };
38743
38766
  var resolveProjectName = (cwd2) => {
38744
- const parsed = readJsonFile(join65(cwd2, "package.json"));
38767
+ const parsed = readJsonFile(join66(cwd2, "package.json"));
38745
38768
  if (parsed !== null && typeof parsed === "object" && typeof parsed.name === "string" && parsed.name.trim().length > 0) {
38746
38769
  return parsed.name;
38747
38770
  }
@@ -39216,7 +39239,7 @@ var serializeSpeculationRules = (rules) => {
39216
39239
  // src/utils/defineEnv.ts
39217
39240
  var {env: bunEnv } = globalThis.Bun;
39218
39241
  import { existsSync as existsSync53, readFileSync as readFileSync46 } from "fs";
39219
- import { resolve as resolve56 } from "path";
39242
+ import { resolve as resolve57 } from "path";
39220
39243
 
39221
39244
  // node_modules/@sinclair/typebox/build/esm/type/guard/value.mjs
39222
39245
  var exports_value = {};
@@ -45251,7 +45274,7 @@ ${lines.join(`
45251
45274
  };
45252
45275
  var checkEnvFileSecurity = (properties) => {
45253
45276
  const cwd2 = process.cwd();
45254
- const envPath = resolve56(cwd2, ".env");
45277
+ const envPath = resolve57(cwd2, ".env");
45255
45278
  if (!existsSync53(envPath))
45256
45279
  return;
45257
45280
  const sensitiveKeys = Object.keys(properties).filter(isSensitive);
@@ -45261,7 +45284,7 @@ var checkEnvFileSecurity = (properties) => {
45261
45284
  const presentKeys = sensitiveKeys.filter((key) => envContent.includes(`${key}=`));
45262
45285
  if (presentKeys.length === 0)
45263
45286
  return;
45264
- const gitignorePath = resolve56(cwd2, ".gitignore");
45287
+ const gitignorePath = resolve57(cwd2, ".gitignore");
45265
45288
  if (existsSync53(gitignorePath)) {
45266
45289
  const gitignore = readFileSync46(gitignorePath, "utf-8");
45267
45290
  if (gitignore.split(`
@@ -45296,7 +45319,7 @@ var getEnv = (key) => {
45296
45319
  };
45297
45320
  // src/utils/projectRoot.ts
45298
45321
  import { existsSync as existsSync54 } from "fs";
45299
- import { dirname as dirname39, resolve as resolve57 } from "path";
45322
+ import { dirname as dirname39, resolve as resolve58 } from "path";
45300
45323
  var CONFIG_CANDIDATES = [
45301
45324
  "absolute.config.ts",
45302
45325
  "absolute.config.js",
@@ -45305,7 +45328,7 @@ var CONFIG_CANDIDATES = [
45305
45328
  "absolute.config.mts",
45306
45329
  "absolute.config.cts"
45307
45330
  ];
45308
- var hasAbsoluteConfig = (directory) => CONFIG_CANDIDATES.some((name) => existsSync54(resolve57(directory, name)));
45331
+ var hasAbsoluteConfig = (directory) => CONFIG_CANDIDATES.some((name) => existsSync54(resolve58(directory, name)));
45309
45332
  var findProjectRoot = () => {
45310
45333
  const start = process.cwd();
45311
45334
  let packageRoot = null;
@@ -45314,7 +45337,7 @@ var findProjectRoot = () => {
45314
45337
  if (hasAbsoluteConfig(directory)) {
45315
45338
  return directory;
45316
45339
  }
45317
- if (packageRoot === null && existsSync54(resolve57(directory, "package.json"))) {
45340
+ if (packageRoot === null && existsSync54(resolve58(directory, "package.json"))) {
45318
45341
  packageRoot = directory;
45319
45342
  }
45320
45343
  const parent = dirname39(directory);
@@ -45576,5 +45599,5 @@ export {
45576
45599
  wrapPageHandlerWithStreamingSlots
45577
45600
  };
45578
45601
 
45579
- //# debugId=7A4E3666D717CF7264756E2164756E21
45602
+ //# debugId=93557705CC1FD61C64756E2164756E21
45580
45603
  //# sourceMappingURL=index.js.map