@absolutejs/absolute 0.19.0-beta.977 → 0.19.0-beta.979

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/build.js CHANGED
@@ -11558,17 +11558,8 @@ var init_validateSafePath = () => {};
11558
11558
 
11559
11559
  // src/build/emitAngularProvidersFiles.ts
11560
11560
  import { mkdirSync as mkdirSync8, writeFileSync as writeFileSync7 } from "fs";
11561
- import { dirname as dirname11, isAbsolute as isAbsolute3, join as join22, relative as relative9, resolve as resolve19 } from "path";
11562
- var mapToCompiledPath = (sourceAbsPath, angularDir, angularGeneratedDir) => {
11563
- const normalizedSrc = resolve19(sourceAbsPath);
11564
- const normalizedAngularDir = resolve19(angularDir);
11565
- if (!normalizedSrc.startsWith(`${normalizedAngularDir}/`) && normalizedSrc !== normalizedAngularDir) {
11566
- return normalizedSrc;
11567
- }
11568
- const relPath = normalizedSrc.slice(normalizedAngularDir.length + 1);
11569
- const compiledRelPath = relPath.replace(/\.[cm]?[tj]sx?$/, ".js");
11570
- return join22(angularGeneratedDir, compiledRelPath);
11571
- }, relativeImportSpecifier = (fromDir, targetAbsPath) => {
11561
+ import { dirname as dirname11, join as join22, relative as relative9 } from "path";
11562
+ var relativeImportSpecifier = (fromDir, targetAbsPath) => {
11572
11563
  const targetWithoutExt = targetAbsPath.replace(/\.[cm]?[tj]sx?$/, "");
11573
11564
  const rel = relative9(fromDir, targetWithoutExt).replace(/\\/g, "/");
11574
11565
  return rel.startsWith(".") ? rel : `./${rel}`;
@@ -11622,7 +11613,7 @@ var mapToCompiledPath = (sourceAbsPath, angularDir, angularGeneratedDir) => {
11622
11613
  }
11623
11614
  return lines.join(`
11624
11615
  `);
11625
- }, ROUTER_FEATURES_DEFAULT, renderFile = (call, outputPath, basePath, pageRoutes, providersImport, context) => {
11616
+ }, ROUTER_FEATURES_DEFAULT, renderFile = (call, outputPath, basePath, pageRoutes, providersImport) => {
11626
11617
  const sections = [];
11627
11618
  sections.push("/* AUTOGENERATED by AbsoluteJS \u2014 see `scanAngularHandlerCalls`. */", "/* eslint-disable */");
11628
11619
  const groups = groupImports(call.providerImports);
@@ -11633,8 +11624,7 @@ var mapToCompiledPath = (sourceAbsPath, angularDir, angularGeneratedDir) => {
11633
11624
  }
11634
11625
  if (providersImport) {
11635
11626
  const outputDir = dirname11(outputPath);
11636
- const compiledTarget = mapToCompiledPath(providersImport.absolutePath, context.angularDir, context.angularGeneratedDir);
11637
- const specifier = relativeImportSpecifier(outputDir, compiledTarget);
11627
+ const specifier = relativeImportSpecifier(outputDir, providersImport.absolutePath);
11638
11628
  const importClause = providersImport.importedName === providersImport.bindingName ? `{ ${providersImport.bindingName} as __globalProviders }` : `{ ${providersImport.importedName} as __globalProviders }`;
11639
11629
  sections.push(`import ${importClause} from "${specifier}";`);
11640
11630
  }
@@ -11642,8 +11632,7 @@ var mapToCompiledPath = (sourceAbsPath, angularDir, angularGeneratedDir) => {
11642
11632
  sections.push(`import { APP_BASE_HREF } from "@angular/common";`, `const __basePathProvider = { provide: APP_BASE_HREF, useValue: ${JSON.stringify(basePath)} };`);
11643
11633
  }
11644
11634
  if (pageRoutes?.hasRoutes) {
11645
- const compiledPageTarget = mapToCompiledPath(pageRoutes.pageFile, context.angularDir, context.angularGeneratedDir);
11646
- const routesImport = relativeImportSpecifier(dirname11(outputPath), compiledPageTarget);
11635
+ const routesImport = relativeImportSpecifier(dirname11(outputPath), pageRoutes.pageFile);
11647
11636
  sections.push(`import { ${["provideRouter", ...ROUTER_FEATURES_DEFAULT].join(", ")} } from "@angular/router";`, `import { routes as __pageRoutes } from "${routesImport}";`, `const __routerProvider = provideRouter(__pageRoutes, ${ROUTER_FEATURES_DEFAULT.map((name) => `${name}()`).join(", ")});`);
11648
11637
  }
11649
11638
  const userProvidersExpr = call.providersExpr ?? "[]";
@@ -11669,15 +11658,9 @@ var mapToCompiledPath = (sourceAbsPath, angularDir, angularGeneratedDir) => {
11669
11658
  return null;
11670
11659
  const trimmed = mountPath.slice(0, -1);
11671
11660
  return trimmed === "/" ? null : trimmed;
11672
- }, emitAngularProvidersFiles = (projectRoot, angularDir, calls, pageRoutes, options = {}) => {
11661
+ }, emitAngularProvidersFiles = (projectRoot, calls, pageRoutes, options = {}) => {
11673
11662
  const outputDir = getProvidersOutputDir(projectRoot);
11674
11663
  mkdirSync8(outputDir, { recursive: true });
11675
- const angularGeneratedDir = getFrameworkGeneratedDir("angular", projectRoot);
11676
- const resolvedAngularDir = isAbsolute3(angularDir) ? resolve19(angularDir) : resolve19(projectRoot, angularDir);
11677
- const context = {
11678
- angularDir: resolvedAngularDir,
11679
- angularGeneratedDir
11680
- };
11681
11664
  const pageRoutesByKey = new Map;
11682
11665
  for (const entry of pageRoutes) {
11683
11666
  pageRoutesByKey.set(entry.manifestKey, entry);
@@ -11687,7 +11670,7 @@ var mapToCompiledPath = (sourceAbsPath, angularDir, angularGeneratedDir) => {
11687
11670
  const outputPath = join22(outputDir, `${call.manifestKey}.providers.ts`);
11688
11671
  const basePath = deriveBasePath(call.mountPath);
11689
11672
  const pageRoute = pageRoutesByKey.get(call.manifestKey);
11690
- const content = renderFile(call, outputPath, basePath, pageRoute, options.providersImport ?? null, context);
11673
+ const content = renderFile(call, outputPath, basePath, pageRoute, options.providersImport ?? null);
11691
11674
  writeFileSync7(outputPath, content, "utf-8");
11692
11675
  emitted.push({
11693
11676
  basePath,
@@ -11756,7 +11739,7 @@ var init_emitAngularRouteMounts = __esm(() => {
11756
11739
 
11757
11740
  // src/build/parseAngularConfigImports.ts
11758
11741
  import { existsSync as existsSync19, readFileSync as readFileSync12 } from "fs";
11759
- import { dirname as dirname12, isAbsolute as isAbsolute4, join as join24 } from "path";
11742
+ import { dirname as dirname12, isAbsolute as isAbsolute3, join as join24 } from "path";
11760
11743
  import ts6 from "typescript";
11761
11744
  var findDefineConfigCall = (sf) => {
11762
11745
  let result = null;
@@ -11846,7 +11829,7 @@ var findDefineConfigCall = (sf) => {
11846
11829
  if (!importInfo)
11847
11830
  return null;
11848
11831
  const configDir2 = dirname12(configPath2);
11849
- const absolutePath = importInfo.source.startsWith(".") ? join24(configDir2, importInfo.source).replace(/\.[cm]?[tj]sx?$/, "") : isAbsolute4(importInfo.source) ? importInfo.source.replace(/\.[cm]?[tj]sx?$/, "") : importInfo.source;
11832
+ const absolutePath = importInfo.source.startsWith(".") ? join24(configDir2, importInfo.source).replace(/\.[cm]?[tj]sx?$/, "") : isAbsolute3(importInfo.source) ? importInfo.source.replace(/\.[cm]?[tj]sx?$/, "") : importInfo.source;
11850
11833
  return {
11851
11834
  absolutePath,
11852
11835
  bindingName: binding,
@@ -11857,7 +11840,7 @@ var init_parseAngularConfigImports = () => {};
11857
11840
 
11858
11841
  // src/build/scanAngularHandlerCalls.ts
11859
11842
  import { readdirSync as readdirSync2, readFileSync as readFileSync13 } from "fs";
11860
- import { dirname as dirname13, isAbsolute as isAbsolute5, join as join25, resolve as resolve20 } from "path";
11843
+ import { dirname as dirname13, isAbsolute as isAbsolute4, join as join25, resolve as resolve19 } from "path";
11861
11844
  import ts7 from "typescript";
11862
11845
  var ELYSIA_ROUTE_METHODS2, SKIP_DIRS2, SOURCE_EXTENSIONS2, getScriptKind2 = (filePath) => {
11863
11846
  if (filePath.endsWith(".tsx"))
@@ -11905,9 +11888,9 @@ var ELYSIA_ROUTE_METHODS2, SKIP_DIRS2, SOURCE_EXTENSIONS2, getScriptKind2 = (fil
11905
11888
  };
11906
11889
  const resolveSource = (specifier) => {
11907
11890
  if (specifier.startsWith(".")) {
11908
- return resolve20(fileDir, specifier);
11891
+ return resolve19(fileDir, specifier);
11909
11892
  }
11910
- if (isAbsolute5(specifier)) {
11893
+ if (isAbsolute4(specifier)) {
11911
11894
  return specifier;
11912
11895
  }
11913
11896
  return null;
@@ -12211,11 +12194,9 @@ var runAngularHandlerScan = (projectRoot, angularDirectory) => {
12211
12194
  const calls = scanAngularHandlerCalls(projectRoot);
12212
12195
  const pageRoutes = scanAngularPageRoutes(angularDirectory);
12213
12196
  const providersImport = parseAngularProvidersImport(projectRoot);
12214
- const providersFiles = emitAngularProvidersFiles(projectRoot, angularDirectory, calls, pageRoutes, { providersImport });
12197
+ const providersFiles = emitAngularProvidersFiles(projectRoot, calls, pageRoutes, { providersImport });
12215
12198
  emitAngularRouteMounts(projectRoot, calls);
12216
- const angularEntryAddons = providersImport ? [providersImport.absolutePath] : [];
12217
12199
  return {
12218
- angularEntryAddons,
12219
12200
  calls,
12220
12201
  manifestKeysWithProviders: new Set(providersFiles.map((file) => file.manifestKey)),
12221
12202
  pageRoutes,
@@ -12376,7 +12357,7 @@ import {
12376
12357
  join as join27,
12377
12358
  basename as basename6,
12378
12359
  extname as extname5,
12379
- resolve as resolve21,
12360
+ resolve as resolve20,
12380
12361
  relative as relative10,
12381
12362
  sep as sep2
12382
12363
  } from "path";
@@ -12384,14 +12365,14 @@ import { env } from "process";
12384
12365
  var {write: write2, file, Transpiler: Transpiler2 } = globalThis.Bun;
12385
12366
  var resolveDevClientDir2 = () => {
12386
12367
  const projectRoot = process.cwd();
12387
- const fromSource = resolve21(import.meta.dir, "../dev/client");
12368
+ const fromSource = resolve20(import.meta.dir, "../dev/client");
12388
12369
  if (existsSync20(fromSource) && fromSource.startsWith(projectRoot)) {
12389
12370
  return fromSource;
12390
12371
  }
12391
- const fromNodeModules = resolve21(projectRoot, "node_modules/@absolutejs/absolute/dist/dev/client");
12372
+ const fromNodeModules = resolve20(projectRoot, "node_modules/@absolutejs/absolute/dist/dev/client");
12392
12373
  if (existsSync20(fromNodeModules))
12393
12374
  return fromNodeModules;
12394
- return resolve21(import.meta.dir, "./dev/client");
12375
+ return resolve20(import.meta.dir, "./dev/client");
12395
12376
  }, devClientDir2, hmrClientPath3, persistentCache, sourceHashCache, clearSvelteCompilerCache = () => {
12396
12377
  persistentCache.clear();
12397
12378
  sourceHashCache.clear();
@@ -12421,7 +12402,7 @@ var resolveDevClientDir2 = () => {
12421
12402
  }, resolveRelativeModule2 = async (spec, from) => {
12422
12403
  if (!spec.startsWith("."))
12423
12404
  return null;
12424
- const basePath = resolve21(dirname14(from), spec);
12405
+ const basePath = resolve20(dirname14(from), spec);
12425
12406
  const candidates = [
12426
12407
  basePath,
12427
12408
  `${basePath}.ts`,
@@ -12448,7 +12429,7 @@ var resolveDevClientDir2 = () => {
12448
12429
  const resolved = resolvePackageImport(spec);
12449
12430
  return resolved && /\.svelte(\.(?:ts|js))?$/.test(resolved) ? resolved : null;
12450
12431
  }
12451
- const basePath = resolve21(dirname14(from), spec);
12432
+ const basePath = resolve20(dirname14(from), spec);
12452
12433
  const explicit = /\.(svelte|svelte\.(?:ts|js))$/.test(basePath);
12453
12434
  if (!explicit) {
12454
12435
  const extensions = [".svelte", ".svelte.ts", ".svelte.js"];
@@ -13114,22 +13095,22 @@ import { mkdir as mkdir5 } from "fs/promises";
13114
13095
  import {
13115
13096
  basename as basename7,
13116
13097
  dirname as dirname15,
13117
- isAbsolute as isAbsolute6,
13098
+ isAbsolute as isAbsolute5,
13118
13099
  join as join28,
13119
13100
  relative as relative11,
13120
- resolve as resolve22
13101
+ resolve as resolve21
13121
13102
  } from "path";
13122
13103
  var {file: file2, write: write3, Transpiler: Transpiler3 } = globalThis.Bun;
13123
13104
  var resolveDevClientDir3 = () => {
13124
13105
  const projectRoot = process.cwd();
13125
- const fromSource = resolve22(import.meta.dir, "../dev/client");
13106
+ const fromSource = resolve21(import.meta.dir, "../dev/client");
13126
13107
  if (existsSync21(fromSource) && fromSource.startsWith(projectRoot)) {
13127
13108
  return fromSource;
13128
13109
  }
13129
- const fromNodeModules = resolve22(projectRoot, "node_modules/@absolutejs/absolute/dist/dev/client");
13110
+ const fromNodeModules = resolve21(projectRoot, "node_modules/@absolutejs/absolute/dist/dev/client");
13130
13111
  if (existsSync21(fromNodeModules))
13131
13112
  return fromNodeModules;
13132
- return resolve22(import.meta.dir, "./dev/client");
13113
+ return resolve21(import.meta.dir, "./dev/client");
13133
13114
  }, devClientDir3, hmrClientPath4, transpiler4, scriptCache, scriptSetupCache, templateCache, styleCache, persistentBuildCache, vueSourceHashCache, vueHmrMetadata, clearVueHmrCaches = () => {
13134
13115
  scriptCache.clear();
13135
13116
  scriptSetupCache.clear();
@@ -13175,7 +13156,7 @@ var resolveDevClientDir3 = () => {
13175
13156
  return filePath.replace(/\.ts$/, ".js");
13176
13157
  if (isStylePath(filePath)) {
13177
13158
  if (sourceDir && (filePath.startsWith("./") || filePath.startsWith("../"))) {
13178
- return resolve22(sourceDir, filePath);
13159
+ return resolve21(sourceDir, filePath);
13179
13160
  }
13180
13161
  return filePath;
13181
13162
  }
@@ -13239,12 +13220,12 @@ var resolveDevClientDir3 = () => {
13239
13220
  const childComponentPaths = importPaths.filter((path) => path.startsWith(".") && path.endsWith(".vue"));
13240
13221
  const packageComponentPaths = Array.from(resolvedPackageVueImports.entries());
13241
13222
  const helperModulePaths = importPaths.filter((path) => path.startsWith(".") && !path.endsWith(".vue") && !isStylePath(path));
13242
- const stylePathsImported = importPaths.filter((path) => (path.startsWith(".") || isAbsolute6(path)) && isStylePath(path)).map((path) => isAbsolute6(path) ? path : resolve22(dirname15(sourceFilePath), path));
13223
+ const stylePathsImported = importPaths.filter((path) => (path.startsWith(".") || isAbsolute5(path)) && isStylePath(path)).map((path) => isAbsolute5(path) ? path : resolve21(dirname15(sourceFilePath), path));
13243
13224
  for (const stylePath of stylePathsImported) {
13244
13225
  addStyleImporter(sourceFilePath, stylePath);
13245
13226
  }
13246
13227
  const childBuildResults = await Promise.all([
13247
- ...childComponentPaths.map((relativeChildPath) => compileVueFile(resolve22(dirname15(sourceFilePath), relativeChildPath), outputDirs, cacheMap, false, vueRootDir, compiler, stylePreprocessors)),
13228
+ ...childComponentPaths.map((relativeChildPath) => compileVueFile(resolve21(dirname15(sourceFilePath), relativeChildPath), outputDirs, cacheMap, false, vueRootDir, compiler, stylePreprocessors)),
13248
13229
  ...packageComponentPaths.map(([, absolutePath]) => compileVueFile(absolutePath, outputDirs, cacheMap, false, vueRootDir, compiler, stylePreprocessors))
13249
13230
  ]);
13250
13231
  const hasScript = descriptor.script || descriptor.scriptSetup;
@@ -13368,7 +13349,7 @@ if (typeof __VUE_HMR_RUNTIME__ !== 'undefined') {
13368
13349
  hmrId,
13369
13350
  serverPath: serverOutputPath,
13370
13351
  tsHelperPaths: [
13371
- ...helperModulePaths.map((helper) => resolve22(dirname15(sourceFilePath), helper.endsWith(".ts") ? helper : `${helper}.ts`)),
13352
+ ...helperModulePaths.map((helper) => resolve21(dirname15(sourceFilePath), helper.endsWith(".ts") ? helper : `${helper}.ts`)),
13372
13353
  ...childBuildResults.flatMap((child) => child.tsHelperPaths)
13373
13354
  ]
13374
13355
  };
@@ -13391,7 +13372,7 @@ if (typeof __VUE_HMR_RUNTIME__ !== 'undefined') {
13391
13372
  const buildCache = new Map;
13392
13373
  const allTsHelperPaths = new Set;
13393
13374
  const compiledPages = await Promise.all(entryPoints.map(async (entryPath) => {
13394
- const result = await compileVueFile(resolve22(entryPath), {
13375
+ const result = await compileVueFile(resolve21(entryPath), {
13395
13376
  client: clientOutputDir,
13396
13377
  css: cssOutputDir,
13397
13378
  server: serverOutputDir
@@ -14058,7 +14039,7 @@ __export(exports_compileAngular, {
14058
14039
  compileAngular: () => compileAngular
14059
14040
  });
14060
14041
  import { existsSync as existsSync22, readFileSync as readFileSync16, promises as fs5 } from "fs";
14061
- import { join as join29, basename as basename8, sep as sep3, dirname as dirname16, resolve as resolve23, relative as relative12 } from "path";
14042
+ import { join as join29, basename as basename8, sep as sep3, dirname as dirname16, resolve as resolve22, relative as relative12 } from "path";
14062
14043
  var {Glob: Glob6 } = globalThis.Bun;
14063
14044
  import ts9 from "typescript";
14064
14045
  var traceAngularPhase = async (name, fn2, metadata) => {
@@ -14066,10 +14047,10 @@ var traceAngularPhase = async (name, fn2, metadata) => {
14066
14047
  return tracePhase ? tracePhase(`compile/angular/${name}`, fn2, metadata) : await fn2();
14067
14048
  }, readTsconfigPathAliases = () => {
14068
14049
  try {
14069
- const configPath2 = resolve23(process.cwd(), "tsconfig.json");
14050
+ const configPath2 = resolve22(process.cwd(), "tsconfig.json");
14070
14051
  const config = ts9.readConfigFile(configPath2, ts9.sys.readFile).config;
14071
14052
  const compilerOptions = config?.compilerOptions ?? {};
14072
- const baseUrl = resolve23(process.cwd(), compilerOptions.baseUrl ?? ".");
14053
+ const baseUrl = resolve22(process.cwd(), compilerOptions.baseUrl ?? ".");
14073
14054
  const aliases = Object.entries(compilerOptions.paths ?? {}).map(([pattern, replacements]) => ({ pattern, replacements }));
14074
14055
  return { aliases, baseUrl };
14075
14056
  } catch {
@@ -14089,7 +14070,7 @@ var traceAngularPhase = async (name, fn2, metadata) => {
14089
14070
  const wildcardValue = exactMatch ? "" : specifier.slice(prefix.length, specifier.length - suffix.length);
14090
14071
  for (const replacement of alias.replacements) {
14091
14072
  const candidate = replacement.replace("*", wildcardValue);
14092
- const resolved = resolveSourceFile(resolve23(baseUrl, candidate));
14073
+ const resolved = resolveSourceFile(resolve22(baseUrl, candidate));
14093
14074
  if (resolved)
14094
14075
  return resolved;
14095
14076
  }
@@ -14108,13 +14089,13 @@ var traceAngularPhase = async (name, fn2, metadata) => {
14108
14089
  ];
14109
14090
  return candidates.find((file3) => existsSync22(file3));
14110
14091
  }, createLegacyAngularAnimationUsageResolver = (rootDir) => {
14111
- const baseDir = resolve23(rootDir);
14092
+ const baseDir = resolve22(rootDir);
14112
14093
  const tsconfigAliases = readTsconfigPathAliases();
14113
14094
  const transpiler5 = new Bun.Transpiler({ loader: "tsx" });
14114
14095
  const scanCache = new Map;
14115
14096
  const resolveLocalImport = (specifier, fromDir) => {
14116
14097
  if (specifier.startsWith(".") || specifier.startsWith("/")) {
14117
- return resolveSourceFile(resolve23(fromDir, specifier));
14098
+ return resolveSourceFile(resolve22(fromDir, specifier));
14118
14099
  }
14119
14100
  const aliased = matchTsconfigAlias(specifier, tsconfigAliases.aliases, tsconfigAliases.baseUrl, resolveSourceFile);
14120
14101
  if (aliased)
@@ -14123,7 +14104,7 @@ var traceAngularPhase = async (name, fn2, metadata) => {
14123
14104
  const resolved = Bun.resolveSync(specifier, fromDir);
14124
14105
  if (resolved.includes("/node_modules/"))
14125
14106
  return;
14126
- const absolute = resolve23(resolved);
14107
+ const absolute = resolve22(resolved);
14127
14108
  if (!absolute.startsWith(baseDir))
14128
14109
  return;
14129
14110
  return resolveSourceFile(absolute);
@@ -14139,7 +14120,7 @@ var traceAngularPhase = async (name, fn2, metadata) => {
14139
14120
  usesLegacyAnimations: false
14140
14121
  });
14141
14122
  }
14142
- const resolved = resolve23(actualPath);
14123
+ const resolved = resolve22(actualPath);
14143
14124
  const cached = scanCache.get(resolved);
14144
14125
  if (cached)
14145
14126
  return cached;
@@ -14168,7 +14149,7 @@ var traceAngularPhase = async (name, fn2, metadata) => {
14168
14149
  const actualPath = resolveSourceFile(filePath);
14169
14150
  if (!actualPath)
14170
14151
  return false;
14171
- const resolved = resolve23(actualPath);
14152
+ const resolved = resolve22(actualPath);
14172
14153
  if (visited.has(resolved))
14173
14154
  return false;
14174
14155
  visited.add(resolved);
@@ -14186,14 +14167,14 @@ var traceAngularPhase = async (name, fn2, metadata) => {
14186
14167
  return (entryPath) => visit(entryPath);
14187
14168
  }, resolveDevClientDir4 = () => {
14188
14169
  const projectRoot = process.cwd();
14189
- const fromSource = resolve23(import.meta.dir, "../dev/client");
14170
+ const fromSource = resolve22(import.meta.dir, "../dev/client");
14190
14171
  if (existsSync22(fromSource) && fromSource.startsWith(projectRoot)) {
14191
14172
  return fromSource;
14192
14173
  }
14193
- const fromNodeModules = resolve23(projectRoot, "node_modules/@absolutejs/absolute/dist/dev/client");
14174
+ const fromNodeModules = resolve22(projectRoot, "node_modules/@absolutejs/absolute/dist/dev/client");
14194
14175
  if (existsSync22(fromNodeModules))
14195
14176
  return fromNodeModules;
14196
- return resolve23(import.meta.dir, "./dev/client");
14177
+ return resolve22(import.meta.dir, "./dev/client");
14197
14178
  }, devClientDir4, hmrClientPath5, formatDiagnosticMessage = (diagnostic) => {
14198
14179
  try {
14199
14180
  return ts9.flattenDiagnosticMessageText(diagnostic.messageText, `
@@ -14236,11 +14217,11 @@ var traceAngularPhase = async (name, fn2, metadata) => {
14236
14217
  if (hasJsLikeExtension(path))
14237
14218
  return `${path}${query}`;
14238
14219
  const importerDir = dirname16(importerOutputPath);
14239
- const fileCandidate = resolve23(importerDir, `${path}.js`);
14220
+ const fileCandidate = resolve22(importerDir, `${path}.js`);
14240
14221
  if (outputFiles?.has(fileCandidate) || existsSync22(fileCandidate)) {
14241
14222
  return `${path}.js${query}`;
14242
14223
  }
14243
- const indexCandidate = resolve23(importerDir, path, "index.js");
14224
+ const indexCandidate = resolve22(importerDir, path, "index.js");
14244
14225
  if (outputFiles?.has(indexCandidate) || existsSync22(indexCandidate)) {
14245
14226
  return `${path}/index.js${query}`;
14246
14227
  }
@@ -14268,7 +14249,7 @@ var traceAngularPhase = async (name, fn2, metadata) => {
14268
14249
  }, resolveLocalTsImport = (fromFile, specifier) => {
14269
14250
  if (!isRelativeModuleSpecifier(specifier))
14270
14251
  return null;
14271
- const basePath = resolve23(dirname16(fromFile), specifier);
14252
+ const basePath = resolve22(dirname16(fromFile), specifier);
14272
14253
  const candidates = /\.[cm]?[tj]sx?$/.test(basePath) ? [basePath] : [
14273
14254
  `${basePath}.ts`,
14274
14255
  `${basePath}.tsx`,
@@ -14279,7 +14260,7 @@ var traceAngularPhase = async (name, fn2, metadata) => {
14279
14260
  join29(basePath, "index.mts"),
14280
14261
  join29(basePath, "index.cts")
14281
14262
  ];
14282
- return candidates.map((candidate) => resolve23(candidate)).find((candidate) => existsSync22(candidate) && !candidate.endsWith(".d.ts")) ?? null;
14263
+ return candidates.map((candidate) => resolve22(candidate)).find((candidate) => existsSync22(candidate) && !candidate.endsWith(".d.ts")) ?? null;
14283
14264
  }, readFileForAotTransform = async (fileName, readFile6) => {
14284
14265
  const hostSource = readFile6?.(fileName);
14285
14266
  if (typeof hostSource === "string")
@@ -14314,7 +14295,7 @@ var traceAngularPhase = async (name, fn2, metadata) => {
14314
14295
  paths.push(join29(fileDir, urlMatch.replace(/['"]/g, "")));
14315
14296
  }
14316
14297
  }
14317
- return paths.map((path) => resolve23(path));
14298
+ return paths.map((path) => resolve22(path));
14318
14299
  }, readResourceCacheFile = async (cachePath) => {
14319
14300
  try {
14320
14301
  const entry = JSON.parse(await fs5.readFile(cachePath, "utf-8"));
@@ -14356,7 +14337,7 @@ var traceAngularPhase = async (name, fn2, metadata) => {
14356
14337
  transformedFiles: 0
14357
14338
  };
14358
14339
  const transformFile = async (filePath) => {
14359
- const resolvedPath = resolve23(filePath);
14340
+ const resolvedPath = resolve22(filePath);
14360
14341
  if (visited.has(resolvedPath))
14361
14342
  return;
14362
14343
  visited.add(resolvedPath);
@@ -14391,7 +14372,7 @@ var traceAngularPhase = async (name, fn2, metadata) => {
14391
14372
  return { stats, transformedSources };
14392
14373
  }, compileAngularFiles = async (inputPaths, outDir, stylePreprocessors) => {
14393
14374
  const islandMetadataByOutputPath = await traceAngularPhase("aot/island-metadata", () => new Map(inputPaths.map((inputPath) => {
14394
- const outputPath = resolve23(join29(outDir, relative12(process.cwd(), resolve23(inputPath)).replace(/\.[cm]?[tj]sx?$/, ".js")));
14375
+ const outputPath = resolve22(join29(outDir, relative12(process.cwd(), resolve22(inputPath)).replace(/\.[cm]?[tj]sx?$/, ".js")));
14395
14376
  return [
14396
14377
  outputPath,
14397
14378
  buildIslandMetadataExports(readFileSync16(inputPath, "utf-8"))
@@ -14402,7 +14383,7 @@ var traceAngularPhase = async (name, fn2, metadata) => {
14402
14383
  const tsLibDir = await traceAngularPhase("aot/resolve-typescript-lib", () => {
14403
14384
  const tsPath = __require.resolve("typescript");
14404
14385
  const tsRootDir = dirname16(tsPath);
14405
- return tsRootDir.endsWith("lib") ? tsRootDir : resolve23(tsRootDir, "lib");
14386
+ return tsRootDir.endsWith("lib") ? tsRootDir : resolve22(tsRootDir, "lib");
14406
14387
  });
14407
14388
  const config = await traceAngularPhase("aot/read-configuration", () => readConfiguration("./tsconfig.json"));
14408
14389
  const options = {
@@ -14444,7 +14425,7 @@ var traceAngularPhase = async (name, fn2, metadata) => {
14444
14425
  return originalGetSourceFile?.call(host, fileName, languageVersion, onError);
14445
14426
  };
14446
14427
  const emitted = {};
14447
- const resolvedOutDir = resolve23(outDir);
14428
+ const resolvedOutDir = resolve22(outDir);
14448
14429
  host.writeFile = (fileName, text) => {
14449
14430
  const relativePath = resolveRelativePath(fileName, resolvedOutDir, outDir);
14450
14431
  emitted[relativePath] = text;
@@ -14466,12 +14447,12 @@ var traceAngularPhase = async (name, fn2, metadata) => {
14466
14447
  if (!fileName.endsWith(".ts") || fileName.endsWith(".d.ts")) {
14467
14448
  return source;
14468
14449
  }
14469
- const resolvedPath = resolve23(fileName);
14450
+ const resolvedPath = resolve22(fileName);
14470
14451
  return transformedSources.get(resolvedPath) ?? source;
14471
14452
  };
14472
14453
  const originalGetSourceFileForCompile = host.getSourceFile;
14473
14454
  host.getSourceFile = (fileName, languageVersion, onError) => {
14474
- const source = transformedSources.get(resolve23(fileName));
14455
+ const source = transformedSources.get(resolve22(fileName));
14475
14456
  if (source) {
14476
14457
  return ts9.createSourceFile(fileName, source, languageVersion, true);
14477
14458
  }
@@ -14495,7 +14476,7 @@ var traceAngularPhase = async (name, fn2, metadata) => {
14495
14476
  content,
14496
14477
  target: join29(outDir, fileName)
14497
14478
  }));
14498
- const outputFiles = new Set(rawEntries.map(({ target }) => resolve23(target)));
14479
+ const outputFiles = new Set(rawEntries.map(({ target }) => resolve22(target)));
14499
14480
  return rawEntries.map(({ content, target }) => {
14500
14481
  let processedContent = content.replace(/from\s+(['"])(\.\.?\/[^'"]+)(\1)/g, (match, quote, path) => {
14501
14482
  const rewritten = rewriteRelativeJsSpecifier(target, path, outputFiles);
@@ -14510,7 +14491,7 @@ var traceAngularPhase = async (name, fn2, metadata) => {
14510
14491
  return cleaned ? `import { ${cleaned}, InternalInjectFlags } from '@angular/core'` : `import { InternalInjectFlags } from '@angular/core'`;
14511
14492
  });
14512
14493
  processedContent = processedContent.replace(/\b(?<!Internal)InjectFlags\b/g, "InternalInjectFlags");
14513
- processedContent += islandMetadataByOutputPath.get(resolve23(target)) ?? "";
14494
+ processedContent += islandMetadataByOutputPath.get(resolve22(target)) ?? "";
14514
14495
  return { content: processedContent, target };
14515
14496
  });
14516
14497
  });
@@ -14520,7 +14501,7 @@ var traceAngularPhase = async (name, fn2, metadata) => {
14520
14501
  })), { outputs: entries.length });
14521
14502
  return await traceAngularPhase("aot/collect-output-paths", () => entries.map(({ target }) => target), { outputs: entries.length });
14522
14503
  }, compileAngularFile = async (inputPath, outDir, stylePreprocessors) => compileAngularFiles([inputPath], outDir, stylePreprocessors), jitContentCache, invalidateAngularJitCache = (filePath) => {
14523
- jitContentCache.delete(resolve23(filePath));
14504
+ jitContentCache.delete(resolve22(filePath));
14524
14505
  }, wrapperOutputCache, escapeTemplateContent = (content) => content.replace(/\\/g, "\\\\").replace(/`/g, "\\`").replace(/\$\{/g, "\\${"), findUncommentedMatch = (source, pattern) => {
14525
14506
  const re2 = new RegExp(pattern.source, pattern.flags.includes("g") ? pattern.flags : pattern.flags + "g");
14526
14507
  let match;
@@ -14533,7 +14514,7 @@ var traceAngularPhase = async (name, fn2, metadata) => {
14533
14514
  }
14534
14515
  return null;
14535
14516
  }, resolveAngularDeferImportSpecifier = () => {
14536
- const sourceEntry = resolve23(import.meta.dir, "../angular/components/index.ts");
14517
+ const sourceEntry = resolve22(import.meta.dir, "../angular/components/index.ts");
14537
14518
  if (existsSync22(sourceEntry)) {
14538
14519
  return sourceEntry.replace(/\\/g, "/");
14539
14520
  }
@@ -14763,10 +14744,10 @@ ${fields}
14763
14744
  source: result
14764
14745
  };
14765
14746
  }, compileAngularFileJIT = async (inputPath, outDir, rootDir, stylePreprocessors, cacheBuster) => {
14766
- const entryPath = resolve23(inputPath);
14747
+ const entryPath = resolve22(inputPath);
14767
14748
  const allOutputs = [];
14768
14749
  const visited = new Set;
14769
- const baseDir = resolve23(rootDir ?? process.cwd());
14750
+ const baseDir = resolve22(rootDir ?? process.cwd());
14770
14751
  let usesLegacyAnimations = false;
14771
14752
  const angularTranspiler = new Bun.Transpiler({
14772
14753
  loader: "ts",
@@ -14794,7 +14775,7 @@ ${fields}
14794
14775
  };
14795
14776
  const resolveLocalImport = (specifier, fromDir) => {
14796
14777
  if (specifier.startsWith(".") || specifier.startsWith("/")) {
14797
- return resolveSourceFile2(resolve23(fromDir, specifier));
14778
+ return resolveSourceFile2(resolve22(fromDir, specifier));
14798
14779
  }
14799
14780
  const aliased = matchTsconfigAlias(specifier, tsconfigAliases.aliases, tsconfigAliases.baseUrl, resolveSourceFile2);
14800
14781
  if (aliased)
@@ -14803,7 +14784,7 @@ ${fields}
14803
14784
  const resolved = Bun.resolveSync(specifier, fromDir);
14804
14785
  if (resolved.includes("/node_modules/"))
14805
14786
  return;
14806
- const absolute = resolve23(resolved);
14787
+ const absolute = resolve22(resolved);
14807
14788
  if (!absolute.startsWith(baseDir))
14808
14789
  return;
14809
14790
  return resolveSourceFile2(absolute);
@@ -14813,8 +14794,11 @@ ${fields}
14813
14794
  };
14814
14795
  const toOutputPath = (sourcePath) => {
14815
14796
  const inputDir = dirname16(sourcePath);
14816
- const relativeDir = inputDir.startsWith(baseDir) ? inputDir.substring(baseDir.length + 1) : inputDir;
14817
14797
  const fileBase = basename8(sourcePath).replace(/\.[cm]?[tj]sx?$/, ".js");
14798
+ if (inputDir === outDir || inputDir.startsWith(`${outDir}${sep3}`)) {
14799
+ return join29(inputDir, fileBase);
14800
+ }
14801
+ const relativeDir = inputDir.startsWith(baseDir) ? inputDir.substring(baseDir.length + 1) : inputDir;
14818
14802
  return join29(outDir, relativeDir, fileBase);
14819
14803
  };
14820
14804
  const withCacheBuster = (specifier) => {
@@ -14852,13 +14836,13 @@ ${fields}
14852
14836
  return `${prefix}${dots}`;
14853
14837
  return `${prefix}../${dots}`;
14854
14838
  });
14855
- if (resolve23(actualPath) === entryPath) {
14839
+ if (resolve22(actualPath) === entryPath) {
14856
14840
  processedContent += buildIslandMetadataExports(sourceCode);
14857
14841
  }
14858
14842
  return processedContent;
14859
14843
  };
14860
14844
  const transpileFile = async (filePath) => {
14861
- const resolved = resolve23(filePath);
14845
+ const resolved = resolve22(filePath);
14862
14846
  if (visited.has(resolved))
14863
14847
  return;
14864
14848
  visited.add(resolved);
@@ -14881,10 +14865,10 @@ ${fields}
14881
14865
  const inlined = await inlineResources(sourceCode, dirname16(actualPath), stylePreprocessors);
14882
14866
  sourceCode = inlineTemplateAndLowerDeferSync(inlined.source, dirname16(actualPath)).source;
14883
14867
  const inputDir = dirname16(actualPath);
14884
- const relativeDir = inputDir.startsWith(baseDir) ? inputDir.substring(baseDir.length + 1) : inputDir;
14885
14868
  const fileBase = basename8(actualPath).replace(/\.[cm]?[tj]sx?$/, ".js");
14886
- const targetDir = join29(outDir, relativeDir);
14887
14869
  const targetPath = toOutputPath(actualPath);
14870
+ const targetDir = dirname16(targetPath);
14871
+ const relativeDir = relative12(outDir, targetDir).replace(/\\/g, "/");
14888
14872
  const localImports = [];
14889
14873
  const importRewrites = new Map;
14890
14874
  const fromRegex = /(?:from|import)\s+['"]([^'".][^'"]*|\.\.?\/[^'"]+)['"]/g;
@@ -14910,7 +14894,7 @@ ${fields}
14910
14894
  importRewrites.set(specifier, relativeRewrite);
14911
14895
  return resolved2;
14912
14896
  }).filter((path) => Boolean(path));
14913
- const isEntry = resolve23(actualPath) === resolve23(entryPath);
14897
+ const isEntry = resolve22(actualPath) === resolve22(entryPath);
14914
14898
  const contentHash = Bun.hash(sourceCode).toString(BASE_36_RADIX);
14915
14899
  const cacheKey2 = actualPath;
14916
14900
  const shouldWriteFile = cacheBuster && isEntry ? true : jitContentCache.get(cacheKey2) !== contentHash || !existsSync22(targetPath);
@@ -14946,11 +14930,11 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
14946
14930
  const compiledRoot = compiledParent;
14947
14931
  const indexesDir = join29(compiledParent, "indexes");
14948
14932
  await traceAngularPhase("setup/create-indexes-dir", () => fs5.mkdir(indexesDir, { recursive: true }));
14949
- const aotOutputs = hmr ? [] : await traceAngularPhase("aot/compile-files", () => compileAngularFiles(entryPoints.map((entry) => resolve23(entry)), compiledRoot, stylePreprocessors), { entries: entryPoints.length });
14933
+ const aotOutputs = hmr ? [] : await traceAngularPhase("aot/compile-files", () => compileAngularFiles(entryPoints.map((entry) => resolve22(entry)), compiledRoot, stylePreprocessors), { entries: entryPoints.length });
14950
14934
  if (!hmr) {
14951
14935
  await traceAngularPhase("aot/copy-json-resources", async () => {
14952
14936
  const cwd = process.cwd();
14953
- const angularSrcDir = resolve23(outRoot);
14937
+ const angularSrcDir = resolve22(outRoot);
14954
14938
  if (!existsSync22(angularSrcDir))
14955
14939
  return;
14956
14940
  const jsonGlob = new Glob6("**/*.json");
@@ -14968,7 +14952,7 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
14968
14952
  }
14969
14953
  const usesLegacyAngularAnimations = await traceAngularPhase("setup/legacy-animation-resolver", () => createLegacyAngularAnimationUsageResolver(outRoot));
14970
14954
  const compileTasks = entryPoints.map(async (entry) => {
14971
- const resolvedEntry = resolve23(entry);
14955
+ const resolvedEntry = resolve22(entry);
14972
14956
  const relativeEntry = relative12(outRoot, resolvedEntry).replace(/\.[tj]s$/, ".js");
14973
14957
  const compileEntry = () => compileAngularFileJIT(resolvedEntry, compiledRoot, outRoot, stylePreprocessors);
14974
14958
  let outputs = hmr ? await traceAngularPhase("jit/compile-entry", compileEntry, {
@@ -14980,10 +14964,10 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
14980
14964
  join29(compiledRoot, relativeEntry),
14981
14965
  join29(compiledRoot, "pages", jsName),
14982
14966
  join29(compiledRoot, jsName)
14983
- ].map((file3) => resolve23(file3));
14967
+ ].map((file3) => resolve22(file3));
14984
14968
  const resolveRawServerFile = (candidatePaths) => {
14985
14969
  const normalizedCandidates = [
14986
- ...candidatePaths.map((file3) => resolve23(file3)),
14970
+ ...candidatePaths.map((file3) => resolve22(file3)),
14987
14971
  ...compiledFallbackPaths
14988
14972
  ];
14989
14973
  let candidate = normalizedCandidates.find((file3) => existsSync22(file3) && file3.endsWith(`${sep3}${relativeEntry}`));
@@ -15050,16 +15034,24 @@ export default ${componentClassName};
15050
15034
  if (usesLegacyAnimations) {
15051
15035
  rewritten += `
15052
15036
  export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
15037
+ `;
15038
+ }
15039
+ const providersServerPath = join29(compiledParent, "providers", `${toPascal(fileBase)}.providers.js`);
15040
+ if (existsSync22(providersServerPath)) {
15041
+ const rel = relative12(dirname16(rawServerFile), providersServerPath).replace(/\\/g, "/");
15042
+ const specifier = rel.startsWith(".") ? rel : `./${rel}`;
15043
+ rewritten += `
15044
+ export { providers } from "${specifier}";
15053
15045
  `;
15054
15046
  }
15055
15047
  await traceAngularPhase("wrapper/write-server-output", () => fs5.writeFile(rawServerFile, rewritten, "utf-8"), { entry: resolvedEntry });
15056
15048
  const relativePath = relative12(indexesDir, rawServerFile).replace(/\\/g, "/");
15057
15049
  const normalizedImportPath = relativePath.startsWith(".") ? relativePath : `./${relativePath}`;
15058
15050
  const manifestKeyForProviders = toPascal(fileBase);
15059
- const providersFilePath = join29(compiledParent, "providers", `${manifestKeyForProviders}.providers.ts`);
15060
- const hasGeneratedProviders = existsSync22(providersFilePath);
15051
+ const providersServerFilePath = join29(compiledParent, "providers", `${manifestKeyForProviders}.providers.js`);
15052
+ const hasGeneratedProviders = existsSync22(providersServerFilePath);
15061
15053
  const providersImportPath = hasGeneratedProviders ? (() => {
15062
- const rel = relative12(indexesDir, providersFilePath.replace(/\.ts$/, "")).replace(/\\/g, "/");
15054
+ const rel = relative12(indexesDir, providersServerFilePath.replace(/\.js$/, "")).replace(/\\/g, "/");
15063
15055
  return rel.startsWith(".") ? rel : `./${rel}`;
15064
15056
  })() : null;
15065
15057
  const generatedProvidersImport = providersImportPath ? `import { providers as generatedProviders } from '${providersImportPath}';` : "var generatedProviders = null;";
@@ -15987,7 +15979,7 @@ __export(exports_fastHmrCompiler, {
15987
15979
  invalidateFingerprintCache: () => invalidateFingerprintCache
15988
15980
  });
15989
15981
  import { existsSync as existsSync23, readFileSync as readFileSync17, statSync as statSync2 } from "fs";
15990
- import { dirname as dirname17, extname as extname6, relative as relative13, resolve as resolve24 } from "path";
15982
+ import { dirname as dirname17, extname as extname6, relative as relative13, resolve as resolve23 } from "path";
15991
15983
  import ts13 from "typescript";
15992
15984
  var fail = (reason, detail, location) => ({
15993
15985
  ok: false,
@@ -16291,7 +16283,7 @@ var fail = (reason, detail, location) => ({
16291
16283
  if (!spec.startsWith(".") && !spec.startsWith("/")) {
16292
16284
  return true;
16293
16285
  }
16294
- const base = resolve24(componentDir, spec);
16286
+ const base = resolve23(componentDir, spec);
16295
16287
  const candidates = [
16296
16288
  `${base}.ts`,
16297
16289
  `${base}.tsx`,
@@ -17095,7 +17087,7 @@ var fail = (reason, detail, location) => ({
17095
17087
  return null;
17096
17088
  }, resolveDtsFromSpec = (spec, fromDir) => {
17097
17089
  const stripped = spec.replace(/\.[mc]?js$/, "");
17098
- const base = resolve24(fromDir, stripped);
17090
+ const base = resolve23(fromDir, stripped);
17099
17091
  const candidates = [
17100
17092
  `${base}.d.ts`,
17101
17093
  `${base}.d.mts`,
@@ -17119,7 +17111,7 @@ var fail = (reason, detail, location) => ({
17119
17111
  return null;
17120
17112
  }, resolveChildComponentInfo = (className, spec, componentDir, projectRoot) => {
17121
17113
  if (spec.startsWith(".") || spec.startsWith("/")) {
17122
- const base = resolve24(componentDir, spec);
17114
+ const base = resolve23(componentDir, spec);
17123
17115
  const candidates = [
17124
17116
  `${base}.ts`,
17125
17117
  `${base}.tsx`,
@@ -17338,13 +17330,13 @@ var fail = (reason, detail, location) => ({
17338
17330
  }
17339
17331
  if (!matches)
17340
17332
  continue;
17341
- const resolved = resolve24(componentDir, spec);
17333
+ const resolved = resolve23(componentDir, spec);
17342
17334
  for (const ext of TS_EXTENSIONS) {
17343
17335
  const candidate = resolved + ext;
17344
17336
  if (existsSync23(candidate))
17345
17337
  return candidate;
17346
17338
  }
17347
- const indexCandidate = resolve24(resolved, "index.ts");
17339
+ const indexCandidate = resolve23(resolved, "index.ts");
17348
17340
  if (existsSync23(indexCandidate))
17349
17341
  return indexCandidate;
17350
17342
  }
@@ -17577,7 +17569,7 @@ ${transpiled}
17577
17569
  }
17578
17570
  }${staticPatch}`;
17579
17571
  }, STYLE_PREPROCESSED_EXT, resolveAndReadStyleResource = (componentDir, url) => {
17580
- const abs = resolve24(componentDir, url);
17572
+ const abs = resolve23(componentDir, url);
17581
17573
  if (!existsSync23(abs))
17582
17574
  return null;
17583
17575
  const ext = extname6(abs).toLowerCase();
@@ -17617,7 +17609,7 @@ ${block}
17617
17609
  const cached = projectOptionsCache.get(projectRoot);
17618
17610
  if (cached !== undefined)
17619
17611
  return cached;
17620
- const tsconfigPath = resolve24(projectRoot, "tsconfig.json");
17612
+ const tsconfigPath = resolve23(projectRoot, "tsconfig.json");
17621
17613
  const opts = {};
17622
17614
  if (existsSync23(tsconfigPath)) {
17623
17615
  try {
@@ -17701,7 +17693,7 @@ ${block}
17701
17693
  templateText = decoratorMeta.template;
17702
17694
  templatePath = componentFilePath;
17703
17695
  } else if (decoratorMeta.templateUrl) {
17704
- const tplAbs = resolve24(componentDir, decoratorMeta.templateUrl);
17696
+ const tplAbs = resolve23(componentDir, decoratorMeta.templateUrl);
17705
17697
  if (!existsSync23(tplAbs)) {
17706
17698
  return fail("template-resource-not-found", `Template file not found: ${tplAbs}`, { file: componentFilePath });
17707
17699
  }
@@ -18464,7 +18456,7 @@ __export(exports_compileEmber, {
18464
18456
  });
18465
18457
  import { existsSync as existsSync24 } from "fs";
18466
18458
  import { mkdir as mkdir6, rm as rm4 } from "fs/promises";
18467
- import { basename as basename9, dirname as dirname18, extname as extname7, join as join30, resolve as resolve25 } from "path";
18459
+ import { basename as basename9, dirname as dirname18, extname as extname7, join as join30, resolve as resolve24 } from "path";
18468
18460
  var {build: bunBuild2, Transpiler: Transpiler4, write: write4, file: file3 } = globalThis.Bun;
18469
18461
  var cachedPreprocessor = null, getPreprocessor = async () => {
18470
18462
  if (cachedPreprocessor)
@@ -18560,7 +18552,7 @@ export const importSync = (specifier) => {
18560
18552
  const originalImporter = stagedSourceMap.get(args.importer);
18561
18553
  if (!originalImporter)
18562
18554
  return;
18563
- const candidateBase = resolve25(dirname18(originalImporter), args.path);
18555
+ const candidateBase = resolve24(dirname18(originalImporter), args.path);
18564
18556
  const extensionsToTry = ["", ".gts", ".gjs", ".ts", ".js"];
18565
18557
  for (const ext of extensionsToTry) {
18566
18558
  const candidate = candidateBase + ext;
@@ -18619,7 +18611,7 @@ export const renderToHTML = (props = {}) => {
18619
18611
  export { PageComponent };
18620
18612
  export default PageComponent;
18621
18613
  `, compileEmberFile = async (entry, compiledRoot, cwd = process.cwd()) => {
18622
- const resolvedEntry = resolve25(entry);
18614
+ const resolvedEntry = resolve24(entry);
18623
18615
  const source = await file3(resolvedEntry).text();
18624
18616
  let preprocessed = source;
18625
18617
  if (isTemplateTagFile(resolvedEntry)) {
@@ -18639,8 +18631,8 @@ export default PageComponent;
18639
18631
  mkdir6(serverDir, { recursive: true }),
18640
18632
  mkdir6(clientDir, { recursive: true })
18641
18633
  ]);
18642
- const tmpPagePath = resolve25(join30(tmpDir, `${baseName}.module.js`));
18643
- const tmpHarnessPath = resolve25(join30(tmpDir, `${baseName}.harness.js`));
18634
+ const tmpPagePath = resolve24(join30(tmpDir, `${baseName}.module.js`));
18635
+ const tmpHarnessPath = resolve24(join30(tmpDir, `${baseName}.harness.js`));
18644
18636
  await Promise.all([
18645
18637
  write4(tmpPagePath, transpiled),
18646
18638
  write4(tmpHarnessPath, generateServerHarness(tmpPagePath))
@@ -18682,7 +18674,7 @@ export default PageComponent;
18682
18674
  serverPaths: outputs.map((o3) => o3.serverPath)
18683
18675
  };
18684
18676
  }, compileEmberFileSource = async (entry) => {
18685
- const resolvedEntry = resolve25(entry);
18677
+ const resolvedEntry = resolve24(entry);
18686
18678
  const source = await file3(resolvedEntry).text();
18687
18679
  let preprocessed = source;
18688
18680
  if (isTemplateTagFile(resolvedEntry)) {
@@ -18715,24 +18707,24 @@ __export(exports_buildReactVendor, {
18715
18707
  buildReactVendor: () => buildReactVendor
18716
18708
  });
18717
18709
  import { existsSync as existsSync25, mkdirSync as mkdirSync10 } from "fs";
18718
- import { join as join31, resolve as resolve26 } from "path";
18710
+ import { join as join31, resolve as resolve25 } from "path";
18719
18711
  import { rm as rm5 } from "fs/promises";
18720
18712
  var {build: bunBuild3 } = globalThis.Bun;
18721
18713
  var resolveJsxDevRuntimeCompatPath = () => {
18722
18714
  const candidates = [
18723
- resolve26(import.meta.dir, "react", "jsxDevRuntimeCompat.js"),
18724
- resolve26(import.meta.dir, "src", "react", "jsxDevRuntimeCompat.ts"),
18725
- resolve26(import.meta.dir, "..", "react", "jsxDevRuntimeCompat.js"),
18726
- resolve26(import.meta.dir, "..", "src", "react", "jsxDevRuntimeCompat.ts"),
18727
- resolve26(import.meta.dir, "..", "..", "dist", "react", "jsxDevRuntimeCompat.js"),
18728
- resolve26(import.meta.dir, "..", "..", "src", "react", "jsxDevRuntimeCompat.ts")
18715
+ resolve25(import.meta.dir, "react", "jsxDevRuntimeCompat.js"),
18716
+ resolve25(import.meta.dir, "src", "react", "jsxDevRuntimeCompat.ts"),
18717
+ resolve25(import.meta.dir, "..", "react", "jsxDevRuntimeCompat.js"),
18718
+ resolve25(import.meta.dir, "..", "src", "react", "jsxDevRuntimeCompat.ts"),
18719
+ resolve25(import.meta.dir, "..", "..", "dist", "react", "jsxDevRuntimeCompat.js"),
18720
+ resolve25(import.meta.dir, "..", "..", "src", "react", "jsxDevRuntimeCompat.ts")
18729
18721
  ];
18730
18722
  for (const candidate of candidates) {
18731
18723
  if (existsSync25(candidate)) {
18732
18724
  return candidate.replace(/\\/g, "/");
18733
18725
  }
18734
18726
  }
18735
- return (candidates[0] ?? resolve26(import.meta.dir, "react", "jsxDevRuntimeCompat.js")).replace(/\\/g, "/");
18727
+ return (candidates[0] ?? resolve25(import.meta.dir, "react", "jsxDevRuntimeCompat.js")).replace(/\\/g, "/");
18736
18728
  }, jsxDevRuntimeCompatPath, reactSpecifiers, isResolvable = (specifier) => {
18737
18729
  try {
18738
18730
  Bun.resolveSync(specifier, process.cwd());
@@ -19382,7 +19374,7 @@ import {
19382
19374
  statSync as statSync3,
19383
19375
  writeFileSync as writeFileSync10
19384
19376
  } from "fs";
19385
- import { basename as basename10, dirname as dirname19, extname as extname8, join as join36, relative as relative14, resolve as resolve27 } from "path";
19377
+ import { basename as basename10, dirname as dirname19, extname as extname8, join as join36, relative as relative14, resolve as resolve26 } from "path";
19386
19378
  import { cwd, env as env2, exit } from "process";
19387
19379
  var {build: bunBuild7, Glob: Glob8 } = globalThis.Bun;
19388
19380
  var isDev, isBuildTraceEnabled = () => {
@@ -19473,8 +19465,8 @@ var isDev, isBuildTraceEnabled = () => {
19473
19465
  }
19474
19466
  }, resolveAbsoluteVersion = async () => {
19475
19467
  const candidates = [
19476
- resolve27(import.meta.dir, "..", "..", "package.json"),
19477
- resolve27(import.meta.dir, "..", "package.json")
19468
+ resolve26(import.meta.dir, "..", "..", "package.json"),
19469
+ resolve26(import.meta.dir, "..", "package.json")
19478
19470
  ];
19479
19471
  const resolveCandidate = async (remaining) => {
19480
19472
  const [candidate, ...rest] = remaining;
@@ -19490,7 +19482,7 @@ var isDev, isBuildTraceEnabled = () => {
19490
19482
  };
19491
19483
  await resolveCandidate(candidates);
19492
19484
  }, SKIP_DIRS4, addWorkerPathIfExists = (file4, relPath, workerPaths) => {
19493
- const absPath = resolve27(file4, "..", relPath);
19485
+ const absPath = resolve26(file4, "..", relPath);
19494
19486
  try {
19495
19487
  statSync3(absPath);
19496
19488
  workerPaths.add(absPath);
@@ -19552,7 +19544,7 @@ var isDev, isBuildTraceEnabled = () => {
19552
19544
  return;
19553
19545
  }
19554
19546
  const indexFiles = readDir(reactIndexesPath).filter((file4) => file4.endsWith(".tsx"));
19555
- const pagesRel = relative14(process.cwd(), resolve27(reactPagesPath)).replace(/\\/g, "/");
19547
+ const pagesRel = relative14(process.cwd(), resolve26(reactPagesPath)).replace(/\\/g, "/");
19556
19548
  for (const file4 of indexFiles) {
19557
19549
  let content = readFileSync18(join36(reactIndexesPath, file4), "utf-8");
19558
19550
  content = content.replace(/from\s*['"]([^'"]*\/pages\/([^'"]+))['"]/g, (_match, _fullPath, componentName) => `from '/@src/${pagesRel}/${componentName}'`);
@@ -19560,27 +19552,27 @@ var isDev, isBuildTraceEnabled = () => {
19560
19552
  }
19561
19553
  }, copySvelteDevIndexes = (svelteDir, sveltePagesPath, svelteEntries, devIndexDir) => {
19562
19554
  const svelteIndexDir = join36(getFrameworkGeneratedDir("svelte"), "indexes");
19563
- const sveltePageEntries = svelteEntries.filter((file4) => resolve27(file4).startsWith(resolve27(sveltePagesPath)));
19555
+ const sveltePageEntries = svelteEntries.filter((file4) => resolve26(file4).startsWith(resolve26(sveltePagesPath)));
19564
19556
  for (const entry of sveltePageEntries) {
19565
19557
  const name = basename10(entry).replace(/\.svelte(\.(ts|js))?$/, "");
19566
19558
  const indexFile = join36(svelteIndexDir, "pages", `${name}.js`);
19567
19559
  if (!existsSync26(indexFile))
19568
19560
  continue;
19569
19561
  let content = readFileSync18(indexFile, "utf-8");
19570
- const srcRel = relative14(process.cwd(), resolve27(entry)).replace(/\\/g, "/");
19562
+ const srcRel = relative14(process.cwd(), resolve26(entry)).replace(/\\/g, "/");
19571
19563
  content = content.replace(/import\s+Component\s+from\s+['"]([^'"]+)['"]/, `import Component from "/@src/${srcRel}"`);
19572
19564
  writeFileSync10(join36(devIndexDir, `${name}.svelte.js`), content);
19573
19565
  }
19574
19566
  }, copyVueDevIndexes = (vueDir, vuePagesPath, vueEntries, devIndexDir) => {
19575
19567
  const vueIndexDir = join36(getFrameworkGeneratedDir("vue"), "indexes");
19576
- const vuePageEntries = vueEntries.filter((file4) => resolve27(file4).startsWith(resolve27(vuePagesPath)));
19568
+ const vuePageEntries = vueEntries.filter((file4) => resolve26(file4).startsWith(resolve26(vuePagesPath)));
19577
19569
  for (const entry of vuePageEntries) {
19578
19570
  const name = basename10(entry, ".vue");
19579
19571
  const indexFile = join36(vueIndexDir, `${name}.js`);
19580
19572
  if (!existsSync26(indexFile))
19581
19573
  continue;
19582
19574
  let content = readFileSync18(indexFile, "utf-8");
19583
- const srcRel = relative14(process.cwd(), resolve27(entry)).replace(/\\/g, "/");
19575
+ const srcRel = relative14(process.cwd(), resolve26(entry)).replace(/\\/g, "/");
19584
19576
  content = content.replace(/import\s+Comp(?:\s*,\s*\*\s+as\s+\w+)?\s+from\s+['"]([^'"]+)['"]/, (match) => match.replace(/from\s+['"][^'"]+['"]/, `from "/@src/${srcRel}"`));
19585
19577
  writeFileSync10(join36(devIndexDir, `${name}.vue.js`), content);
19586
19578
  }
@@ -19593,7 +19585,7 @@ var isDev, isBuildTraceEnabled = () => {
19593
19585
  const last = allComments[allComments.length - 1];
19594
19586
  if (!last?.[1])
19595
19587
  return JSON.stringify(outputPath);
19596
- const srcPath = resolve27(projectRoot, last[1].replace("/client/", "/").replace(/\.js$/, ".ts"));
19588
+ const srcPath = resolve26(projectRoot, last[1].replace("/client/", "/").replace(/\.js$/, ".ts"));
19597
19589
  return JSON.stringify(srcPath);
19598
19590
  }, QUOTE_CHARS, OPEN_BRACES, CLOSE_BRACES, findFunctionExpressionEnd = (content, startPos) => {
19599
19591
  let depth = 0;
@@ -19919,13 +19911,13 @@ ${content.slice(firstUseIdx)}`;
19919
19911
  const filterToIncrementalEntries = (entryPoints, mapToSource) => {
19920
19912
  if (!isIncremental || !incrementalFiles)
19921
19913
  return entryPoints;
19922
- const normalizedIncremental = new Set(incrementalFiles.map((f2) => resolve27(f2)));
19914
+ const normalizedIncremental = new Set(incrementalFiles.map((f2) => resolve26(f2)));
19923
19915
  const matchingEntries = [];
19924
19916
  for (const entry of entryPoints) {
19925
19917
  const sourceFile = mapToSource(entry);
19926
19918
  if (!sourceFile)
19927
19919
  continue;
19928
- if (!normalizedIncremental.has(resolve27(sourceFile)))
19920
+ if (!normalizedIncremental.has(resolve26(sourceFile)))
19929
19921
  continue;
19930
19922
  matchingEntries.push(entry);
19931
19923
  }
@@ -20090,7 +20082,7 @@ ${content.slice(firstUseIdx)}`;
20090
20082
  }
20091
20083
  const shouldIncludeHtmlAssets = !isIncremental || normalizedIncrementalFiles?.some((f2) => f2.includes("/html/") && (f2.endsWith(".html") || isStylePath(f2)));
20092
20084
  const reactEntries = isIncremental && reactIndexesPath && reactPagesPath ? filterToIncrementalEntries(allReactEntries, (entry) => {
20093
- if (entry.startsWith(resolve27(reactIndexesPath))) {
20085
+ if (entry.startsWith(resolve26(reactIndexesPath))) {
20094
20086
  const pageName = basename10(entry, ".tsx");
20095
20087
  return join36(reactPagesPath, `${pageName}.tsx`);
20096
20088
  }
@@ -20125,12 +20117,12 @@ ${content.slice(firstUseIdx)}`;
20125
20117
  const shouldCompileIslandSvelte = svelteDir && islandSvelteSources.length > 0;
20126
20118
  const shouldCompileIslandVue = vueDir && islandVueSources.length > 0;
20127
20119
  const shouldCompileIslandAngular = angularDir && islandAngularSources.length > 0;
20128
- let angularProvidersEntryAddons = [];
20120
+ let angularProvidersFilesToCompile = [];
20129
20121
  if (shouldCompileAngular && angularDir) {
20130
20122
  await tracePhase("scan/angular-handlers", async () => {
20131
20123
  const { runAngularHandlerScan: runAngularHandlerScan2 } = await Promise.resolve().then(() => (init_runAngularHandlerScan(), exports_runAngularHandlerScan));
20132
20124
  const scanResult = runAngularHandlerScan2(projectRoot, angularDir);
20133
- angularProvidersEntryAddons = scanResult.angularEntryAddons;
20125
+ angularProvidersFilesToCompile = scanResult.providersFiles.map((file4) => file4.outputPath);
20134
20126
  });
20135
20127
  }
20136
20128
  const [
@@ -20155,13 +20147,12 @@ ${content.slice(firstUseIdx)}`;
20155
20147
  },
20156
20148
  shouldCompileAngular ? tracePhase("compile/angular", async () => {
20157
20149
  const mod = await Promise.resolve().then(() => (init_compileAngular(), exports_compileAngular));
20158
- const result = await mod.compileAngular(angularEntries, angularDir, hmr, styleTransformConfig);
20159
- if (angularProvidersEntryAddons.length > 0 && angularDir) {
20160
- const { compileAngularFileJIT: compileAngularFileJIT2 } = await Promise.resolve().then(() => (init_compileAngular(), exports_compileAngular));
20150
+ if (angularProvidersFilesToCompile.length > 0 && angularDir) {
20161
20151
  const { getFrameworkGeneratedDir: getFrameworkGeneratedDir2 } = await Promise.resolve().then(() => (init_generatedDir(), exports_generatedDir));
20162
20152
  const compiledRoot = getFrameworkGeneratedDir2("angular", projectRoot);
20163
- await Promise.all(angularProvidersEntryAddons.map((entry) => compileAngularFileJIT2(entry, compiledRoot, angularDir, styleTransformConfig)));
20153
+ await Promise.all(angularProvidersFilesToCompile.map((entry) => mod.compileAngularFileJIT(entry, compiledRoot, angularDir, styleTransformConfig)));
20164
20154
  }
20155
+ const result = await mod.compileAngular(angularEntries, angularDir, hmr, styleTransformConfig);
20165
20156
  if (hmr) {
20166
20157
  try {
20167
20158
  const { primeComponentFingerprint: primeComponentFingerprint2 } = await Promise.resolve().then(() => (init_fastHmrCompiler(), exports_fastHmrCompiler));
@@ -20211,7 +20202,7 @@ ${content.slice(firstUseIdx)}`;
20211
20202
  const clientPath = islandSvelteClientPaths[idx];
20212
20203
  if (!sourcePath || !clientPath)
20213
20204
  continue;
20214
- islandSvelteClientPathMap.set(resolve27(sourcePath), clientPath);
20205
+ islandSvelteClientPathMap.set(resolve26(sourcePath), clientPath);
20215
20206
  }
20216
20207
  const islandVueClientPathMap = new Map;
20217
20208
  for (let idx = 0;idx < islandVueSources.length; idx++) {
@@ -20219,7 +20210,7 @@ ${content.slice(firstUseIdx)}`;
20219
20210
  const clientPath = islandVueClientPaths[idx];
20220
20211
  if (!sourcePath || !clientPath)
20221
20212
  continue;
20222
- islandVueClientPathMap.set(resolve27(sourcePath), clientPath);
20213
+ islandVueClientPathMap.set(resolve26(sourcePath), clientPath);
20223
20214
  }
20224
20215
  const islandAngularClientPathMap = new Map;
20225
20216
  for (let idx = 0;idx < islandAngularSources.length; idx++) {
@@ -20227,7 +20218,7 @@ ${content.slice(firstUseIdx)}`;
20227
20218
  const clientPath = islandAngularClientPaths[idx];
20228
20219
  if (!sourcePath || !clientPath)
20229
20220
  continue;
20230
- islandAngularClientPathMap.set(resolve27(sourcePath), clientPath);
20221
+ islandAngularClientPathMap.set(resolve26(sourcePath), clientPath);
20231
20222
  }
20232
20223
  const reactConventionSources = collectConventionSourceFiles(conventionsMap.react);
20233
20224
  const svelteConventionSources = collectConventionSourceFiles(conventionsMap.svelte);
@@ -21152,7 +21143,7 @@ __export(exports_dependencyGraph, {
21152
21143
  });
21153
21144
  import { existsSync as existsSync28, readFileSync as readFileSync19 } from "fs";
21154
21145
  var {Glob: Glob9 } = globalThis.Bun;
21155
- import { resolve as resolve28 } from "path";
21146
+ import { resolve as resolve27 } from "path";
21156
21147
  var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath) => {
21157
21148
  const lower = filePath.toLowerCase();
21158
21149
  if (lower.endsWith(".ts") || lower.endsWith(".tsx") || lower.endsWith(".jsx"))
@@ -21166,8 +21157,8 @@ var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath)
21166
21157
  if (!importPath.startsWith(".") && !importPath.startsWith("/")) {
21167
21158
  return null;
21168
21159
  }
21169
- const fromDir = resolve28(fromFile, "..");
21170
- const normalized = resolve28(fromDir, importPath);
21160
+ const fromDir = resolve27(fromFile, "..");
21161
+ const normalized = resolve27(fromDir, importPath);
21171
21162
  const extensions = [
21172
21163
  ".ts",
21173
21164
  ".tsx",
@@ -21197,7 +21188,7 @@ var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath)
21197
21188
  dependents.delete(normalizedPath);
21198
21189
  }
21199
21190
  }, addFileToGraph = (graph, filePath) => {
21200
- const normalizedPath = resolve28(filePath);
21191
+ const normalizedPath = resolve27(filePath);
21201
21192
  if (!existsSync28(normalizedPath))
21202
21193
  return;
21203
21194
  const dependencies = extractDependencies(normalizedPath);
@@ -21224,10 +21215,10 @@ var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath)
21224
21215
  }, IGNORED_SEGMENTS, buildInitialDependencyGraph = (graph, directories) => {
21225
21216
  const processedFiles = new Set;
21226
21217
  const glob = new Glob9("**/*.{ts,tsx,js,jsx,vue,svelte,html,htm}");
21227
- const resolvedDirs = directories.map((dir) => resolve28(dir)).filter((dir) => existsSync28(dir));
21218
+ const resolvedDirs = directories.map((dir) => resolve27(dir)).filter((dir) => existsSync28(dir));
21228
21219
  const allFiles = resolvedDirs.flatMap((dir) => Array.from(glob.scanSync({ absolute: true, cwd: dir })));
21229
21220
  for (const file4 of allFiles) {
21230
- const fullPath = resolve28(file4);
21221
+ const fullPath = resolve27(file4);
21231
21222
  if (IGNORED_SEGMENTS.some((seg) => fullPath.includes(seg)))
21232
21223
  continue;
21233
21224
  if (processedFiles.has(fullPath))
@@ -21340,7 +21331,7 @@ var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath)
21340
21331
  return [];
21341
21332
  }
21342
21333
  }, getAffectedFiles = (graph, changedFile) => {
21343
- const normalizedPath = resolve28(changedFile);
21334
+ const normalizedPath = resolve27(changedFile);
21344
21335
  const affected = new Set;
21345
21336
  const toProcess = [normalizedPath];
21346
21337
  const processNode = (current) => {
@@ -21371,7 +21362,7 @@ var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath)
21371
21362
  }, removeDependentsForFile = (graph, normalizedPath) => {
21372
21363
  graph.dependents.delete(normalizedPath);
21373
21364
  }, removeFileFromGraph = (graph, filePath) => {
21374
- const normalizedPath = resolve28(filePath);
21365
+ const normalizedPath = resolve27(filePath);
21375
21366
  removeDepsForFile(graph, normalizedPath);
21376
21367
  removeDependentsForFile(graph, normalizedPath);
21377
21368
  };
@@ -21414,12 +21405,12 @@ var globalVersionCounter = 0, createModuleVersionTracker = () => new Map, getNex
21414
21405
  };
21415
21406
 
21416
21407
  // src/dev/configResolver.ts
21417
- import { resolve as resolve29 } from "path";
21408
+ import { resolve as resolve28 } from "path";
21418
21409
  var resolveBuildPaths = (config) => {
21419
21410
  const cwd2 = process.cwd();
21420
21411
  const normalize = (path) => path.replace(/\\/g, "/");
21421
- const withDefault = (value, fallback) => normalize(resolve29(cwd2, value ?? fallback));
21422
- const optional = (value) => value ? normalize(resolve29(cwd2, value)) : undefined;
21412
+ const withDefault = (value, fallback) => normalize(resolve28(cwd2, value ?? fallback));
21413
+ const optional = (value) => value ? normalize(resolve28(cwd2, value)) : undefined;
21423
21414
  return {
21424
21415
  angularDir: optional(config.angularDirectory),
21425
21416
  assetsDir: optional(config.assetsDirectory),
@@ -21473,7 +21464,7 @@ var init_clientManager = __esm(() => {
21473
21464
 
21474
21465
  // src/dev/pathUtils.ts
21475
21466
  import { existsSync as existsSync29, readdirSync as readdirSync4, readFileSync as readFileSync20 } from "fs";
21476
- import { dirname as dirname20, resolve as resolve30 } from "path";
21467
+ import { dirname as dirname20, resolve as resolve29 } from "path";
21477
21468
  var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
21478
21469
  if (shouldIgnorePath(filePath, resolved)) {
21479
21470
  return "ignored";
@@ -21549,7 +21540,7 @@ var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
21549
21540
  return "unknown";
21550
21541
  }, collectAngularResourceDirs = (angularDir) => {
21551
21542
  const out = new Set;
21552
- const angularRoot = resolve30(angularDir);
21543
+ const angularRoot = resolve29(angularDir);
21553
21544
  const angularRootNormalized = normalizePath(angularRoot);
21554
21545
  const walk = (dir) => {
21555
21546
  let entries;
@@ -21562,7 +21553,7 @@ var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
21562
21553
  if (entry.name.startsWith(".") || entry.name === "node_modules") {
21563
21554
  continue;
21564
21555
  }
21565
- const full = resolve30(dir, entry.name);
21556
+ const full = resolve29(dir, entry.name);
21566
21557
  if (entry.isDirectory()) {
21567
21558
  walk(full);
21568
21559
  continue;
@@ -21603,7 +21594,7 @@ var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
21603
21594
  }
21604
21595
  const componentDir = dirname20(full);
21605
21596
  for (const ref of refs) {
21606
- const refAbs = normalizePath(resolve30(componentDir, ref));
21597
+ const refAbs = normalizePath(resolve29(componentDir, ref));
21607
21598
  const refDir = normalizePath(dirname20(refAbs));
21608
21599
  if (refDir === angularRootNormalized || refDir.startsWith(angularRootNormalized + "/")) {
21609
21600
  continue;
@@ -21620,7 +21611,7 @@ var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
21620
21611
  const push = (path) => {
21621
21612
  if (!path)
21622
21613
  return;
21623
- const abs = normalizePath(resolve30(cwd2, path));
21614
+ const abs = normalizePath(resolve29(cwd2, path));
21624
21615
  if (!roots.includes(abs))
21625
21616
  roots.push(abs);
21626
21617
  };
@@ -21645,7 +21636,7 @@ var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
21645
21636
  push(cfg.assetsDir);
21646
21637
  push(cfg.stylesDir);
21647
21638
  for (const candidate of ["src", "db", "assets", "styles"]) {
21648
- const abs = normalizePath(resolve30(cwd2, candidate));
21639
+ const abs = normalizePath(resolve29(cwd2, candidate));
21649
21640
  if (existsSync29(abs) && !roots.includes(abs))
21650
21641
  roots.push(abs);
21651
21642
  }
@@ -21657,7 +21648,7 @@ var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
21657
21648
  continue;
21658
21649
  if (entry.name.startsWith("."))
21659
21650
  continue;
21660
- const abs = normalizePath(resolve30(cwd2, entry.name));
21651
+ const abs = normalizePath(resolve29(cwd2, entry.name));
21661
21652
  if (roots.includes(abs))
21662
21653
  continue;
21663
21654
  if (shouldIgnorePath(abs, resolved))
@@ -21732,7 +21723,7 @@ var init_pathUtils = __esm(() => {
21732
21723
  // src/dev/fileWatcher.ts
21733
21724
  import { watch } from "fs";
21734
21725
  import { existsSync as existsSync30, readdirSync as readdirSync5, statSync as statSync4 } from "fs";
21735
- import { dirname as dirname21, join as join38, resolve as resolve31 } from "path";
21726
+ import { dirname as dirname21, join as join38, resolve as resolve30 } from "path";
21736
21727
  var safeRemoveFromGraph = (graph, fullPath) => {
21737
21728
  try {
21738
21729
  removeFileFromGraph(graph, fullPath);
@@ -21813,7 +21804,7 @@ var safeRemoveFromGraph = (graph, fullPath) => {
21813
21804
  }, addFileWatchers = (state, paths, onFileChange) => {
21814
21805
  const stylesDir = state.resolvedPaths?.stylesDir;
21815
21806
  paths.forEach((path) => {
21816
- const absolutePath = resolve31(path).replace(/\\/g, "/");
21807
+ const absolutePath = resolve30(path).replace(/\\/g, "/");
21817
21808
  if (!existsSync30(absolutePath)) {
21818
21809
  return;
21819
21810
  }
@@ -21824,7 +21815,7 @@ var safeRemoveFromGraph = (graph, fullPath) => {
21824
21815
  const watchPaths = getWatchPaths(config, state.resolvedPaths);
21825
21816
  const stylesDir = state.resolvedPaths?.stylesDir;
21826
21817
  watchPaths.forEach((path) => {
21827
- const absolutePath = resolve31(path).replace(/\\/g, "/");
21818
+ const absolutePath = resolve30(path).replace(/\\/g, "/");
21828
21819
  if (!existsSync30(absolutePath)) {
21829
21820
  return;
21830
21821
  }
@@ -21843,13 +21834,13 @@ var init_fileWatcher = __esm(() => {
21843
21834
  });
21844
21835
 
21845
21836
  // src/dev/assetStore.ts
21846
- import { resolve as resolve32 } from "path";
21837
+ import { resolve as resolve31 } from "path";
21847
21838
  import { readdir as readdir4, unlink } from "fs/promises";
21848
21839
  var mimeTypes, getMimeType = (filePath) => {
21849
21840
  const ext = filePath.slice(filePath.lastIndexOf("."));
21850
21841
  return mimeTypes[ext] ?? "application/octet-stream";
21851
21842
  }, HASHED_FILE_RE, stripHash = (webPath) => webPath.replace(/\.[a-z0-9]{8}(\.(js|css|mjs))$/, "$1"), processWalkEntry = (entry, dir, liveByIdentity, walkAndClean) => {
21852
- const fullPath = resolve32(dir, entry.name);
21843
+ const fullPath = resolve31(dir, entry.name);
21853
21844
  if (entry.isDirectory()) {
21854
21845
  return walkAndClean(fullPath);
21855
21846
  }
@@ -21865,10 +21856,10 @@ var mimeTypes, getMimeType = (filePath) => {
21865
21856
  }, cleanStaleAssets = async (store, manifest, buildDir) => {
21866
21857
  const liveByIdentity = new Map;
21867
21858
  for (const webPath of store.keys()) {
21868
- const diskPath = resolve32(buildDir, webPath.slice(1));
21859
+ const diskPath = resolve31(buildDir, webPath.slice(1));
21869
21860
  liveByIdentity.set(stripHash(diskPath), diskPath);
21870
21861
  }
21871
- const absBuildDir = resolve32(buildDir);
21862
+ const absBuildDir = resolve31(buildDir);
21872
21863
  Object.values(manifest).forEach((val) => {
21873
21864
  if (!HASHED_FILE_RE.test(val))
21874
21865
  return;
@@ -21886,7 +21877,7 @@ var mimeTypes, getMimeType = (filePath) => {
21886
21877
  } catch {}
21887
21878
  }, lookupAsset = (store, path) => store.get(path), processScanEntry = (entry, dir, prefix, store, scanDir) => {
21888
21879
  if (entry.isDirectory()) {
21889
- return scanDir(resolve32(dir, entry.name), `${prefix}${entry.name}/`);
21880
+ return scanDir(resolve31(dir, entry.name), `${prefix}${entry.name}/`);
21890
21881
  }
21891
21882
  if (!entry.name.startsWith("chunk-")) {
21892
21883
  return null;
@@ -21895,7 +21886,7 @@ var mimeTypes, getMimeType = (filePath) => {
21895
21886
  if (store.has(webPath)) {
21896
21887
  return null;
21897
21888
  }
21898
- return Bun.file(resolve32(dir, entry.name)).bytes().then((bytes) => {
21889
+ return Bun.file(resolve31(dir, entry.name)).bytes().then((bytes) => {
21899
21890
  store.set(webPath, bytes);
21900
21891
  return;
21901
21892
  }).catch(() => {});
@@ -21917,7 +21908,7 @@ var mimeTypes, getMimeType = (filePath) => {
21917
21908
  for (const webPath of newIdentities.values()) {
21918
21909
  if (store.has(webPath))
21919
21910
  continue;
21920
- loadPromises.push(Bun.file(resolve32(buildDir, webPath.slice(1))).bytes().then((bytes) => {
21911
+ loadPromises.push(Bun.file(resolve31(buildDir, webPath.slice(1))).bytes().then((bytes) => {
21921
21912
  store.set(webPath, bytes);
21922
21913
  return;
21923
21914
  }).catch(() => {}));
@@ -21948,7 +21939,7 @@ var init_assetStore = __esm(() => {
21948
21939
 
21949
21940
  // src/islands/pageMetadata.ts
21950
21941
  import { readFileSync as readFileSync21 } from "fs";
21951
- import { dirname as dirname22, resolve as resolve33 } from "path";
21942
+ import { dirname as dirname22, resolve as resolve32 } from "path";
21952
21943
  var pagePatterns, getPageDirs = (config) => [
21953
21944
  { dir: config.angularDirectory, framework: "angular" },
21954
21945
  { dir: config.emberDirectory, framework: "ember" },
@@ -21968,15 +21959,15 @@ var pagePatterns, getPageDirs = (config) => [
21968
21959
  const source = definition.buildReference?.source;
21969
21960
  if (!source)
21970
21961
  continue;
21971
- const resolvedSource = source.startsWith("file://") ? new URL(source).pathname : resolve33(dirname22(buildInfo.resolvedRegistryPath), source);
21972
- lookup.set(`${definition.framework}:${definition.component}`, resolve33(resolvedSource));
21962
+ const resolvedSource = source.startsWith("file://") ? new URL(source).pathname : resolve32(dirname22(buildInfo.resolvedRegistryPath), source);
21963
+ lookup.set(`${definition.framework}:${definition.component}`, resolve32(resolvedSource));
21973
21964
  }
21974
21965
  return lookup;
21975
21966
  }, getCurrentPageIslandMetadata = () => globalThis.__absolutePageIslandMetadata ?? new Map, metadataUsesSource = (metadata, target) => metadata.islands.some((usage) => {
21976
21967
  const candidate = usage.source;
21977
- return candidate ? resolve33(candidate) === target : false;
21968
+ return candidate ? resolve32(candidate) === target : false;
21978
21969
  }), getPagesUsingIslandSource = (sourcePath) => {
21979
- const target = resolve33(sourcePath);
21970
+ const target = resolve32(sourcePath);
21980
21971
  return [...getCurrentPageIslandMetadata().values()].filter((metadata) => metadataUsesSource(metadata, target)).map((metadata) => metadata.pagePath);
21981
21972
  }, resolveIslandUsages = (islands, islandSourceLookup) => islands.map((usage) => {
21982
21973
  const sourcePath = islandSourceLookup.get(`${usage.framework}:${usage.component}`);
@@ -21988,13 +21979,13 @@ var pagePatterns, getPageDirs = (config) => [
21988
21979
  const pattern = pagePatterns[entry.framework];
21989
21980
  if (!pattern)
21990
21981
  return;
21991
- const files = await scanEntryPoints(resolve33(entry.dir), pattern);
21982
+ const files = await scanEntryPoints(resolve32(entry.dir), pattern);
21992
21983
  for (const filePath of files) {
21993
21984
  const source = readFileSync21(filePath, "utf-8");
21994
21985
  const islands = extractIslandUsagesFromSource(source);
21995
- pageMetadata.set(resolve33(filePath), {
21986
+ pageMetadata.set(resolve32(filePath), {
21996
21987
  islands: resolveIslandUsages(islands, islandSourceLookup),
21997
- pagePath: resolve33(filePath)
21988
+ pagePath: resolve32(filePath)
21998
21989
  });
21999
21990
  }
22000
21991
  }, loadPageIslandMetadata = async (config) => {
@@ -22117,9 +22108,9 @@ var init_transformCache = __esm(() => {
22117
22108
  });
22118
22109
 
22119
22110
  // src/dev/reactComponentClassifier.ts
22120
- import { resolve as resolve34 } from "path";
22111
+ import { resolve as resolve33 } from "path";
22121
22112
  var classifyComponent = (filePath) => {
22122
- const normalizedPath = resolve34(filePath);
22113
+ const normalizedPath = resolve33(filePath);
22123
22114
  if (normalizedPath.includes("/react/pages/")) {
22124
22115
  return "server";
22125
22116
  }
@@ -22131,7 +22122,7 @@ var classifyComponent = (filePath) => {
22131
22122
  var init_reactComponentClassifier = () => {};
22132
22123
 
22133
22124
  // src/dev/moduleMapper.ts
22134
- import { basename as basename11, resolve as resolve35 } from "path";
22125
+ import { basename as basename11, resolve as resolve34 } from "path";
22135
22126
  var buildModulePaths = (moduleKeys, manifest) => {
22136
22127
  const modulePaths = {};
22137
22128
  moduleKeys.forEach((key) => {
@@ -22141,7 +22132,7 @@ var buildModulePaths = (moduleKeys, manifest) => {
22141
22132
  });
22142
22133
  return modulePaths;
22143
22134
  }, processChangedFile = (sourceFile, framework, manifest, resolvedPaths, processedFiles) => {
22144
- const normalizedFile = resolve35(sourceFile);
22135
+ const normalizedFile = resolve34(sourceFile);
22145
22136
  const normalizedPath = normalizedFile.replace(/\\/g, "/");
22146
22137
  if (processedFiles.has(normalizedFile)) {
22147
22138
  return null;
@@ -22177,7 +22168,7 @@ var buildModulePaths = (moduleKeys, manifest) => {
22177
22168
  });
22178
22169
  return grouped;
22179
22170
  }, mapSourceFileToManifestKeys = (sourceFile, framework, resolvedPaths) => {
22180
- const normalizedFile = resolve35(sourceFile);
22171
+ const normalizedFile = resolve34(sourceFile);
22181
22172
  const fileName = basename11(normalizedFile);
22182
22173
  const baseName = fileName.replace(/\.(tsx?|jsx?|vue|svelte|css|html)$/, "");
22183
22174
  const pascalName = toPascal(baseName);
@@ -22239,7 +22230,7 @@ __export(exports_resolveOwningComponents, {
22239
22230
  invalidateResourceIndex: () => invalidateResourceIndex
22240
22231
  });
22241
22232
  import { readdirSync as readdirSync6, readFileSync as readFileSync23, statSync as statSync5 } from "fs";
22242
- import { dirname as dirname23, extname as extname9, join as join39, resolve as resolve36 } from "path";
22233
+ import { dirname as dirname23, extname as extname9, join as join39, resolve as resolve35 } from "path";
22243
22234
  import ts14 from "typescript";
22244
22235
  var ENTITY_DECORATORS, isAngularSourceFile = (file4) => file4.endsWith(".ts") || file4.endsWith(".tsx"), walkAngularSourceFiles = (root) => {
22245
22236
  const out = [];
@@ -22352,7 +22343,7 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file4) => file4.endsWith(".ts") ||
22352
22343
  };
22353
22344
  visit(sourceFile);
22354
22345
  return out;
22355
- }, safeNormalize = (path) => resolve36(path).replace(/\\/g, "/"), resolveOwningComponents = (params) => {
22346
+ }, safeNormalize = (path) => resolve35(path).replace(/\\/g, "/"), resolveOwningComponents = (params) => {
22356
22347
  const { changedFilePath, userAngularRoot } = params;
22357
22348
  const changedAbs = safeNormalize(changedFilePath);
22358
22349
  const out = [];
@@ -22421,7 +22412,7 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file4) => file4.endsWith(".ts") ||
22421
22412
  if (!spec.startsWith(".") && !spec.startsWith("/")) {
22422
22413
  return null;
22423
22414
  }
22424
- const base = resolve36(childDir, spec);
22415
+ const base = resolve35(childDir, spec);
22425
22416
  const candidates = [
22426
22417
  `${base}.ts`,
22427
22418
  `${base}.tsx`,
@@ -22459,7 +22450,7 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file4) => file4.endsWith(".ts") ||
22459
22450
  };
22460
22451
  if (cls.kind === "component") {
22461
22452
  for (const url of [...cls.templateUrls, ...cls.styleUrls]) {
22462
- const abs = safeNormalize(resolve36(componentDir, url));
22453
+ const abs = safeNormalize(resolve35(componentDir, url));
22463
22454
  const existing = resource.get(abs);
22464
22455
  if (existing)
22465
22456
  existing.push(entity);
@@ -22644,7 +22635,7 @@ __export(exports_loadConfig, {
22644
22635
  isWorkspaceConfig: () => isWorkspaceConfig,
22645
22636
  getWorkspaceServices: () => getWorkspaceServices
22646
22637
  });
22647
- import { resolve as resolve37 } from "path";
22638
+ import { resolve as resolve36 } from "path";
22648
22639
  var RESERVED_TOP_LEVEL_KEYS, isObject2 = (value) => typeof value === "object" && value !== null, isCommandService = (service) => service.kind === "command" || Array.isArray(service.command), isServiceCandidate = (value) => isObject2(value) && (typeof value.entry === "string" || Array.isArray(value.command)), isWorkspaceConfig = (config) => {
22649
22640
  if (!isObject2(config)) {
22650
22641
  return false;
@@ -22695,7 +22686,7 @@ var RESERVED_TOP_LEVEL_KEYS, isObject2 = (value) => typeof value === "object" &&
22695
22686
  }
22696
22687
  return config;
22697
22688
  }, loadRawConfig = async (configPath2) => {
22698
- const resolved = resolve37(configPath2 ?? process.env.ABSOLUTE_CONFIG ?? "absolute.config.ts");
22689
+ const resolved = resolve36(configPath2 ?? process.env.ABSOLUTE_CONFIG ?? "absolute.config.ts");
22699
22690
  const mod = await import(resolved);
22700
22691
  const config = mod.default ?? mod.config;
22701
22692
  if (!config) {
@@ -22756,7 +22747,7 @@ __export(exports_moduleServer, {
22756
22747
  SRC_URL_PREFIX: () => SRC_URL_PREFIX
22757
22748
  });
22758
22749
  import { existsSync as existsSync31, readFileSync as readFileSync24, statSync as statSync6 } from "fs";
22759
- import { basename as basename12, dirname as dirname24, extname as extname10, join as join40, resolve as resolve38, relative as relative15 } from "path";
22750
+ import { basename as basename12, dirname as dirname24, extname as extname10, join as join40, resolve as resolve37, relative as relative15 } from "path";
22760
22751
  var SRC_PREFIX = "/@src/", jsTranspiler2, tsTranspiler2, tsxTranspiler, TRANSPILABLE, ALL_EXPORTS_RE, STRING_CONTENTS_RE, preserveTypeExports = (originalSource, transpiled, valueExports) => {
22761
22752
  const codeOnly = originalSource.replace(STRING_CONTENTS_RE, '""');
22762
22753
  const allExports = [];
@@ -22776,7 +22767,7 @@ var SRC_PREFIX = "/@src/", jsTranspiler2, tsTranspiler2, tsxTranspiler, TRANSPIL
22776
22767
  ${stubs}
22777
22768
  `;
22778
22769
  }, resolveRelativeExtension = (srcPath, projectRoot, extensions) => {
22779
- const found = extensions.find((ext) => existsSync31(resolve38(projectRoot, srcPath + ext)));
22770
+ const found = extensions.find((ext) => existsSync31(resolve37(projectRoot, srcPath + ext)));
22780
22771
  return found ? srcPath + found : srcPath;
22781
22772
  }, IMPORT_EXTENSIONS, SIDE_EFFECT_EXTENSIONS, MODULE_EXTENSIONS, RESOLVED_MODULE_EXTENSIONS, REACT_EXTENSIONS, escapeRegex3 = (str) => str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), buildImportRewriter = (vendorPaths) => {
22782
22773
  const entries = Object.entries(vendorPaths).sort(([a], [b2]) => b2.length - a.length);
@@ -22791,7 +22782,7 @@ ${stubs}
22791
22782
  return invalidationVersion > 0 ? `${mtime}.${invalidationVersion}` : `${mtime}`;
22792
22783
  }, srcUrl = (relPath, projectRoot) => {
22793
22784
  const base = `${SRC_PREFIX}${relPath.replace(/\\/g, "/")}`;
22794
- const absPath = resolve38(projectRoot, relPath);
22785
+ const absPath = resolve37(projectRoot, relPath);
22795
22786
  const cached = mtimeCache.get(absPath);
22796
22787
  if (cached !== undefined)
22797
22788
  return `${base}?v=${buildVersion(cached, absPath)}`;
@@ -22803,12 +22794,12 @@ ${stubs}
22803
22794
  return base;
22804
22795
  }
22805
22796
  }, resolveRelativeImport = (relPath, fileDir, projectRoot, extensions) => {
22806
- const absPath = resolve38(fileDir, relPath);
22797
+ const absPath = resolve37(fileDir, relPath);
22807
22798
  const rel = relative15(projectRoot, absPath);
22808
22799
  const extension = extname10(rel);
22809
22800
  let srcPath = RESOLVED_MODULE_EXTENSIONS.has(extension) ? rel : resolveRelativeExtension(rel, projectRoot, extensions);
22810
22801
  if (extname10(srcPath) === ".svelte") {
22811
- srcPath = relative15(projectRoot, resolveSvelteModulePath(resolve38(projectRoot, srcPath)));
22802
+ srcPath = relative15(projectRoot, resolveSvelteModulePath(resolve37(projectRoot, srcPath)));
22812
22803
  }
22813
22804
  return srcUrl(srcPath, projectRoot);
22814
22805
  }, NODE_BUILTIN_RE, resolveAbsoluteSpecifier = (specifier, projectRoot) => {
@@ -22827,13 +22818,13 @@ ${stubs}
22827
22818
  const packageName = isScoped ? `${parts[0]}/${parts[1]}` : parts[0];
22828
22819
  const subpath = isScoped ? parts.slice(2).join("/") : parts.slice(1).join("/");
22829
22820
  if (!subpath) {
22830
- const pkgDir = resolve38(projectRoot, "node_modules", packageName ?? "");
22821
+ const pkgDir = resolve37(projectRoot, "node_modules", packageName ?? "");
22831
22822
  const pkgJsonPath = join40(pkgDir, "package.json");
22832
22823
  if (existsSync31(pkgJsonPath)) {
22833
22824
  const pkg = JSON.parse(readFileSync24(pkgJsonPath, "utf-8"));
22834
22825
  const esmEntry = typeof pkg.module === "string" && pkg.module || typeof pkg.browser === "string" && pkg.browser;
22835
22826
  if (esmEntry) {
22836
- const resolved = resolve38(pkgDir, esmEntry);
22827
+ const resolved = resolve37(pkgDir, esmEntry);
22837
22828
  if (existsSync31(resolved))
22838
22829
  return relative15(projectRoot, resolved);
22839
22830
  }
@@ -22880,12 +22871,12 @@ ${stubs}
22880
22871
  result = result.replace(/((?:from|import)\s*["'])(\/[^"']+\.(tsx?|jsx?|ts))(["'])/g, rewriteAbsoluteToSrc);
22881
22872
  result = result.replace(/(import\s*\(\s*["'])(\/[^"']+\.(tsx?|jsx?|ts))(["']\s*\))/g, rewriteAbsoluteToSrc);
22882
22873
  result = result.replace(/new\s+URL\(\s*["'](\.\.?\/[^"']+)["']\s*,\s*import\.meta\.url\s*\)/g, (_match, relPath) => {
22883
- const absPath = resolve38(fileDir, relPath);
22874
+ const absPath = resolve37(fileDir, relPath);
22884
22875
  const rel = relative15(projectRoot, absPath);
22885
22876
  return `new URL('${srcUrl(rel, projectRoot)}', import.meta.url)`;
22886
22877
  });
22887
22878
  result = result.replace(/import\.meta\.resolve\(\s*["'](\.\.?\/[^"']+)["']\s*\)/g, (_match, relPath) => {
22888
- const absPath = resolve38(fileDir, relPath);
22879
+ const absPath = resolve37(fileDir, relPath);
22889
22880
  const rel = relative15(projectRoot, absPath);
22890
22881
  return `'${srcUrl(rel, projectRoot)}'`;
22891
22882
  });
@@ -23198,7 +23189,7 @@ ${code}`;
23198
23189
  code = injectVueHmr(code, filePath, projectRoot, vueDir);
23199
23190
  return rewriteImports(code, filePath, projectRoot, rewriter);
23200
23191
  }, injectVueHmr = (code, filePath, projectRoot, vueDir) => {
23201
- const hmrBase = vueDir ? resolve38(vueDir) : projectRoot;
23192
+ const hmrBase = vueDir ? resolve37(vueDir) : projectRoot;
23202
23193
  const hmrId = relative15(hmrBase, filePath).replace(/\\/g, "/").replace(/\.vue$/, "");
23203
23194
  let result = code.replace(/export\s+default\s+/, "var __hmr_comp__ = ");
23204
23195
  result += [
@@ -23362,7 +23353,7 @@ export default {};
23362
23353
  const escaped = virtualCss.replace(/\\/g, "\\\\").replace(/`/g, "\\`").replace(/\$/g, "\\$");
23363
23354
  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);`);
23364
23355
  }, resolveSourcePath = (relPath, projectRoot) => {
23365
- const filePath = resolve38(projectRoot, relPath);
23356
+ const filePath = resolve37(projectRoot, relPath);
23366
23357
  const ext = extname10(filePath);
23367
23358
  if (ext === ".svelte")
23368
23359
  return { ext, filePath: resolveSvelteModulePath(filePath) };
@@ -23399,14 +23390,14 @@ export default {};
23399
23390
  const absoluteCandidate = "/" + tail.replace(/^\/+/, "");
23400
23391
  const candidates = [
23401
23392
  absoluteCandidate,
23402
- resolve38(projectRoot, tail)
23393
+ resolve37(projectRoot, tail)
23403
23394
  ];
23404
23395
  try {
23405
23396
  const { loadConfig: loadConfig2 } = await Promise.resolve().then(() => (init_loadConfig(), exports_loadConfig));
23406
23397
  const cfg = await loadConfig2();
23407
- const angularDir = cfg.angularDirectory && resolve38(projectRoot, cfg.angularDirectory);
23398
+ const angularDir = cfg.angularDirectory && resolve37(projectRoot, cfg.angularDirectory);
23408
23399
  if (angularDir)
23409
- candidates.push(resolve38(angularDir, tail));
23400
+ candidates.push(resolve37(angularDir, tail));
23410
23401
  } catch {}
23411
23402
  for (const candidate of candidates) {
23412
23403
  if (await fileExists(candidate)) {
@@ -23437,7 +23428,7 @@ export default {};
23437
23428
  if (!TRANSPILABLE.has(ext))
23438
23429
  return;
23439
23430
  const stat3 = statSync6(filePath);
23440
- const resolvedVueDir = vueDir ? resolve38(vueDir) : undefined;
23431
+ const resolvedVueDir = vueDir ? resolve37(vueDir) : undefined;
23441
23432
  let content = REACT_EXTENSIONS.has(ext) ? transformReactFile(filePath, projectRoot, rewriter) : transformPlainFile(filePath, projectRoot, rewriter, resolvedVueDir);
23442
23433
  const isAngularGeneratedJs = ext === ".js" && filePath.replace(/\\/g, "/").includes("/.absolutejs/generated/angular/");
23443
23434
  if (isAngularGeneratedJs) {
@@ -23496,7 +23487,7 @@ export default {};
23496
23487
  const relPath = pathname.slice(SRC_PREFIX.length);
23497
23488
  if (relPath === "bun:wrap" || relPath.startsWith("bun:wrap?"))
23498
23489
  return handleBunWrapRequest();
23499
- const virtualCssResponse = handleVirtualSvelteCss(resolve38(projectRoot, relPath));
23490
+ const virtualCssResponse = handleVirtualSvelteCss(resolve37(projectRoot, relPath));
23500
23491
  if (virtualCssResponse)
23501
23492
  return virtualCssResponse;
23502
23493
  const { filePath, ext } = resolveSourcePath(relPath, projectRoot);
@@ -23512,11 +23503,11 @@ export default {};
23512
23503
  SRC_IMPORT_RE.lastIndex = 0;
23513
23504
  while ((match = SRC_IMPORT_RE.exec(content)) !== null) {
23514
23505
  if (match[1])
23515
- files.push(resolve38(projectRoot, match[1]));
23506
+ files.push(resolve37(projectRoot, match[1]));
23516
23507
  }
23517
23508
  return files;
23518
23509
  }, invalidateModule = (filePath) => {
23519
- const resolved = resolve38(filePath);
23510
+ const resolved = resolve37(filePath);
23520
23511
  invalidate(filePath);
23521
23512
  if (resolved !== filePath)
23522
23513
  invalidate(resolved);
@@ -23661,7 +23652,7 @@ __export(exports_hmrCompiler, {
23661
23652
  getApplyMetadataModule: () => getApplyMetadataModule,
23662
23653
  encodeHmrComponentId: () => encodeHmrComponentId
23663
23654
  });
23664
- import { dirname as dirname25, relative as relative16, resolve as resolve39 } from "path";
23655
+ import { dirname as dirname25, relative as relative16, resolve as resolve38 } from "path";
23665
23656
  import { performance as performance2 } from "perf_hooks";
23666
23657
  var getApplyMetadataModule = async (encodedId) => {
23667
23658
  const decoded = decodeURIComponent(encodedId);
@@ -23670,7 +23661,7 @@ var getApplyMetadataModule = async (encodedId) => {
23670
23661
  return null;
23671
23662
  const filePathRel = decoded.slice(0, at2);
23672
23663
  const className = decoded.slice(at2 + 1);
23673
- const componentFilePath = resolve39(process.cwd(), filePathRel);
23664
+ const componentFilePath = resolve38(process.cwd(), filePathRel);
23674
23665
  const projectRelPath = relative16(process.cwd(), componentFilePath).replace(/\\/g, "/");
23675
23666
  const cacheKey2 = encodeURIComponent(`${projectRelPath}@${className}`);
23676
23667
  const { takePendingModule: takePendingModule2 } = await Promise.resolve().then(() => (init_fastHmrCompiler(), exports_fastHmrCompiler));
@@ -23832,11 +23823,11 @@ var exports_simpleHTMLHMR = {};
23832
23823
  __export(exports_simpleHTMLHMR, {
23833
23824
  handleHTMLUpdate: () => handleHTMLUpdate
23834
23825
  });
23835
- import { resolve as resolve40 } from "path";
23826
+ import { resolve as resolve39 } from "path";
23836
23827
  var handleHTMLUpdate = async (htmlFilePath) => {
23837
23828
  let htmlContent;
23838
23829
  try {
23839
- const resolvedPath = resolve40(htmlFilePath);
23830
+ const resolvedPath = resolve39(htmlFilePath);
23840
23831
  const file4 = Bun.file(resolvedPath);
23841
23832
  if (!await file4.exists()) {
23842
23833
  return null;
@@ -23862,11 +23853,11 @@ var exports_simpleHTMXHMR = {};
23862
23853
  __export(exports_simpleHTMXHMR, {
23863
23854
  handleHTMXUpdate: () => handleHTMXUpdate
23864
23855
  });
23865
- import { resolve as resolve41 } from "path";
23856
+ import { resolve as resolve40 } from "path";
23866
23857
  var handleHTMXUpdate = async (htmxFilePath) => {
23867
23858
  let htmlContent;
23868
23859
  try {
23869
- const resolvedPath = resolve41(htmxFilePath);
23860
+ const resolvedPath = resolve40(htmxFilePath);
23870
23861
  const file4 = Bun.file(resolvedPath);
23871
23862
  if (!await file4.exists()) {
23872
23863
  return null;
@@ -23889,7 +23880,7 @@ var init_simpleHTMXHMR = () => {};
23889
23880
 
23890
23881
  // src/dev/rebuildTrigger.ts
23891
23882
  import { existsSync as existsSync32, rmSync as rmSync3 } from "fs";
23892
- import { basename as basename13, dirname as dirname26, join as join41, relative as relative17, resolve as resolve42, sep as sep4 } from "path";
23883
+ import { basename as basename13, dirname as dirname26, join as join41, relative as relative17, resolve as resolve41, sep as sep4 } from "path";
23893
23884
  var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequentially = (items, action) => items.reduce((chain, item) => chain.then(() => action(item)), Promise.resolve()), getStyleTransformConfig = (config) => createStyleTransformConfig(config.stylePreprocessors, config.postcss), recompileTailwindForFastPath = async (state, config, files) => {
23894
23885
  if (!config.tailwind)
23895
23886
  return;
@@ -23901,7 +23892,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
23901
23892
  if (!cssChanged)
23902
23893
  return;
23903
23894
  try {
23904
- const outputPath = resolve42(state.resolvedPaths.buildDir, config.tailwind.output);
23895
+ const outputPath = resolve41(state.resolvedPaths.buildDir, config.tailwind.output);
23905
23896
  const bytes = await Bun.file(outputPath).bytes();
23906
23897
  const webPath = `/${config.tailwind.output.replace(/^\/+/, "")}`;
23907
23898
  state.assetStore.set(webPath, bytes);
@@ -23991,12 +23982,12 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
23991
23982
  }, isValidDeletedAffectedFile = (affectedFile, deletedPathResolved, processedFiles) => affectedFile !== deletedPathResolved && !processedFiles.has(affectedFile) && existsSync32(affectedFile), FRAMEWORK_DIR_KEYS_FOR_CLEANUP, removeStaleGenerated = (state, deletedFile) => {
23992
23983
  const config = state.config;
23993
23984
  const cwd2 = process.cwd();
23994
- const absDeleted = resolve42(deletedFile).replace(/\\/g, "/");
23985
+ const absDeleted = resolve41(deletedFile).replace(/\\/g, "/");
23995
23986
  for (const { configKey, framework } of FRAMEWORK_DIR_KEYS_FOR_CLEANUP) {
23996
23987
  const dir = config[configKey];
23997
23988
  if (!dir)
23998
23989
  continue;
23999
- const absDir = resolve42(cwd2, dir).replace(/\\/g, "/");
23990
+ const absDir = resolve41(cwd2, dir).replace(/\\/g, "/");
24000
23991
  if (!absDeleted.startsWith(`${absDir}/`))
24001
23992
  continue;
24002
23993
  const rel = absDeleted.slice(absDir.length + 1);
@@ -24020,7 +24011,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24020
24011
  removeStaleGenerated(state, filePathInSet);
24021
24012
  try {
24022
24013
  const affectedFiles = getAffectedFiles(state.dependencyGraph, filePathInSet);
24023
- const deletedPathResolved = resolve42(filePathInSet);
24014
+ const deletedPathResolved = resolve41(filePathInSet);
24024
24015
  affectedFiles.forEach((affectedFile) => {
24025
24016
  if (isValidDeletedAffectedFile(affectedFile, deletedPathResolved, processedFiles)) {
24026
24017
  validFiles.push(affectedFile);
@@ -24064,7 +24055,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24064
24055
  if (storedHash !== undefined && storedHash === fileHash) {
24065
24056
  return;
24066
24057
  }
24067
- const normalizedFilePath = resolve42(filePathInSet);
24058
+ const normalizedFilePath = resolve41(filePathInSet);
24068
24059
  if (!processedFiles.has(normalizedFilePath)) {
24069
24060
  validFiles.push(normalizedFilePath);
24070
24061
  processedFiles.add(normalizedFilePath);
@@ -24202,7 +24193,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24202
24193
  const publicDir = state.resolvedPaths.publicDir;
24203
24194
  const assetsDir = state.resolvedPaths.assetsDir;
24204
24195
  const handleStaticMirror = async (sourceDir, urlPrefix) => {
24205
- const absSource = resolve42(filePath);
24196
+ const absSource = resolve41(filePath);
24206
24197
  const normalizedSource = absSource.replace(/\\/g, "/");
24207
24198
  const normalizedDir = sourceDir.replace(/\\/g, "/");
24208
24199
  if (!normalizedSource.startsWith(normalizedDir + "/"))
@@ -24210,7 +24201,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24210
24201
  try {
24211
24202
  const relFromDir = normalizedSource.slice(normalizedDir.length + 1);
24212
24203
  const buildDir = state.resolvedPaths.buildDir;
24213
- const destPath = resolve42(buildDir, urlPrefix ? `${urlPrefix}/${relFromDir}` : relFromDir);
24204
+ const destPath = resolve41(buildDir, urlPrefix ? `${urlPrefix}/${relFromDir}` : relFromDir);
24214
24205
  const { mkdir: mkdir7, copyFile, readFile: readFile6 } = await import("fs/promises");
24215
24206
  const { dirname: dirname27 } = await import("path");
24216
24207
  await mkdir7(dirname27(destPath), { recursive: true });
@@ -24236,7 +24227,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24236
24227
  if (assetsDir && await handleStaticMirror(assetsDir, "assets"))
24237
24228
  return;
24238
24229
  if (framework === "unknown") {
24239
- invalidate(resolve42(filePath));
24230
+ invalidate(resolve41(filePath));
24240
24231
  const relPath = relative17(process.cwd(), filePath);
24241
24232
  logHmrUpdate(relPath);
24242
24233
  const angularDir = state.resolvedPaths.angularDir;
@@ -24244,10 +24235,10 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24244
24235
  if (angularDir && state.dependencyGraph) {
24245
24236
  try {
24246
24237
  const { addFileToGraph: addFileToGraph2 } = await Promise.resolve().then(() => (init_dependencyGraph(), exports_dependencyGraph));
24247
- addFileToGraph2(state.dependencyGraph, resolve42(filePath));
24248
- const affected = getAffectedFiles(state.dependencyGraph, resolve42(filePath));
24238
+ addFileToGraph2(state.dependencyGraph, resolve41(filePath));
24239
+ const affected = getAffectedFiles(state.dependencyGraph, resolve41(filePath));
24249
24240
  for (const dependent of affected) {
24250
- if (dependent === resolve42(filePath))
24241
+ if (dependent === resolve41(filePath))
24251
24242
  continue;
24252
24243
  const dependentFramework = detectFramework(dependent, state.resolvedPaths);
24253
24244
  if (dependentFramework !== "angular")
@@ -24264,14 +24255,14 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24264
24255
  } catch {}
24265
24256
  }
24266
24257
  if (!hasAngularDependent) {
24267
- console.log(`[abs:restart] ${resolve42(filePath)}`);
24258
+ console.log(`[abs:restart] ${resolve41(filePath)}`);
24268
24259
  return;
24269
24260
  }
24270
24261
  try {
24271
24262
  const { getFrameworkGeneratedDir: getFrameworkGeneratedDir2 } = await Promise.resolve().then(() => (init_generatedDir(), exports_generatedDir));
24272
24263
  const { invalidateModule: invalidateModuleServer } = await Promise.resolve().then(() => (init_moduleServer(), exports_moduleServer));
24273
24264
  const generatedAngularRoot = getFrameworkGeneratedDir2("angular");
24274
- const sourceAbs = resolve42(filePath).replace(/\\/g, "/");
24265
+ const sourceAbs = resolve41(filePath).replace(/\\/g, "/");
24275
24266
  const generatedTwin = `${generatedAngularRoot.replace(/\\/g, "/")}${sourceAbs.replace(/\.ts$/, ".js")}`;
24276
24267
  invalidateModuleServer(generatedTwin);
24277
24268
  } catch {}
@@ -24305,7 +24296,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24305
24296
  const userEditedFiles = new Set;
24306
24297
  state.fileChangeQueue.forEach((filePaths) => {
24307
24298
  for (const filePath2 of filePaths) {
24308
- userEditedFiles.add(resolve42(filePath2));
24299
+ userEditedFiles.add(resolve41(filePath2));
24309
24300
  }
24310
24301
  });
24311
24302
  state.lastUserEditedFiles = userEditedFiles;
@@ -24334,7 +24325,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24334
24325
  }
24335
24326
  if (!graph)
24336
24327
  return componentFile;
24337
- const dependents = graph.dependents.get(resolve42(componentFile));
24328
+ const dependents = graph.dependents.get(resolve41(componentFile));
24338
24329
  if (!dependents)
24339
24330
  return componentFile;
24340
24331
  for (const dep of dependents) {
@@ -24343,7 +24334,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24343
24334
  }
24344
24335
  return componentFile;
24345
24336
  }, resolveAngularPageEntries = (state, angularFiles, angularPagesPath) => {
24346
- const pageEntries = angularFiles.filter((file4) => file4.endsWith(".ts") && resolve42(file4).startsWith(angularPagesPath));
24337
+ const pageEntries = angularFiles.filter((file4) => file4.endsWith(".ts") && resolve41(file4).startsWith(angularPagesPath));
24347
24338
  if (pageEntries.length > 0 || !state.dependencyGraph) {
24348
24339
  return pageEntries;
24349
24340
  }
@@ -24352,7 +24343,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24352
24343
  const lookupFile = resolveComponentLookupFile(componentFile, state.dependencyGraph);
24353
24344
  const affected = getAffectedFiles(state.dependencyGraph, lookupFile);
24354
24345
  affected.forEach((file4) => {
24355
- if (file4.endsWith(".ts") && resolve42(file4).startsWith(angularPagesPath)) {
24346
+ if (file4.endsWith(".ts") && resolve41(file4).startsWith(angularPagesPath)) {
24356
24347
  resolvedPages.add(file4);
24357
24348
  }
24358
24349
  });
@@ -24393,8 +24384,8 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24393
24384
  if (serverDirs.length <= 1) {
24394
24385
  const dir = getFrameworkGeneratedDir2(framework, projectRoot);
24395
24386
  return {
24396
- serverOutDir: resolve42(resolvedPaths.buildDir, basename13(dir)),
24397
- serverRoot: resolve42(dir, "server")
24387
+ serverOutDir: resolve41(resolvedPaths.buildDir, basename13(dir)),
24388
+ serverRoot: resolve41(dir, "server")
24398
24389
  };
24399
24390
  }
24400
24391
  return {
@@ -24555,8 +24546,8 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24555
24546
  if (detected !== "unknown")
24556
24547
  continue;
24557
24548
  try {
24558
- const affected = getAffectedFiles(state.dependencyGraph, resolve42(editedFile));
24559
- const hasAngularConsumer = affected.some((dep) => dep !== resolve42(editedFile) && detectFramework(dep, state.resolvedPaths) === "angular");
24549
+ const affected = getAffectedFiles(state.dependencyGraph, resolve41(editedFile));
24550
+ const hasAngularConsumer = affected.some((dep) => dep !== resolve41(editedFile) && detectFramework(dep, state.resolvedPaths) === "angular");
24560
24551
  if (hasAngularConsumer) {
24561
24552
  return {
24562
24553
  kind: "rebootstrap",
@@ -24603,7 +24594,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24603
24594
  }
24604
24595
  if (owners.length === 0 && (editedFile.endsWith(".ts") || editedFile.endsWith(".json")) && !editedFile.endsWith(".d.ts")) {
24605
24596
  const normalized = editedFile.replace(/\\/g, "/");
24606
- const angularDirAbs = resolve42(angularDir).replace(/\\/g, "/");
24597
+ const angularDirAbs = resolve41(angularDir).replace(/\\/g, "/");
24607
24598
  if (normalized.startsWith(angularDirAbs + "/")) {
24608
24599
  return {
24609
24600
  kind: "rebootstrap",
@@ -24746,16 +24737,16 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24746
24737
  };
24747
24738
  const fire = () => {
24748
24739
  ctx.debounceTimer = null;
24749
- const resolve43 = ctx.debouncedResolve;
24740
+ const resolve42 = ctx.debouncedResolve;
24750
24741
  ctx.debouncedResolve = null;
24751
24742
  ctx.debouncedPromise = null;
24752
24743
  if (ctx.inFlight) {
24753
24744
  ctx.pending = true;
24754
- ctx.inFlight.finally(() => resolve43?.());
24745
+ ctx.inFlight.finally(() => resolve42?.());
24755
24746
  return;
24756
24747
  }
24757
24748
  ctx.inFlight = drive();
24758
- ctx.inFlight.finally(() => resolve43?.());
24749
+ ctx.inFlight.finally(() => resolve42?.());
24759
24750
  };
24760
24751
  return ({ immediate = false } = {}) => {
24761
24752
  if (!ctx.debouncedPromise) {
@@ -24782,9 +24773,9 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24782
24773
  const diskRefreshPromise = (async () => {
24783
24774
  if (!angularDir || editedFiles.size === 0)
24784
24775
  return;
24785
- const angularDirAbs = resolve42(angularDir);
24776
+ const angularDirAbs = resolve41(angularDir);
24786
24777
  const filesUnderAngular = Array.from(editedFiles).filter((file4) => {
24787
- const abs = resolve42(file4);
24778
+ const abs = resolve41(file4);
24788
24779
  return abs === angularDirAbs || abs.startsWith(angularDirAbs + sep4);
24789
24780
  });
24790
24781
  if (filesUnderAngular.length === 0)
@@ -24806,7 +24797,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24806
24797
  if (!ext)
24807
24798
  continue;
24808
24799
  if (ext === ".ts" || ext === ".tsx") {
24809
- tsFilesToRefresh.add(resolve42(file4));
24800
+ tsFilesToRefresh.add(resolve41(file4));
24810
24801
  continue;
24811
24802
  }
24812
24803
  const owners = resolveOwningComponents2({
@@ -24814,7 +24805,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24814
24805
  userAngularRoot: angularDirAbs
24815
24806
  });
24816
24807
  for (const owner of owners) {
24817
- tsFilesToRefresh.add(resolve42(owner.componentFilePath));
24808
+ tsFilesToRefresh.add(resolve41(owner.componentFilePath));
24818
24809
  }
24819
24810
  }
24820
24811
  if (tsFilesToRefresh.size === 0)
@@ -24829,7 +24820,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24829
24820
  const { invalidateModule: invalidateModule2 } = await Promise.resolve().then(() => (init_moduleServer(), exports_moduleServer));
24830
24821
  for (const tsFile of tsFilesToRefresh) {
24831
24822
  const rel = relative17(angularDirAbs, tsFile).replace(/\\/g, "/").replace(/\.[tj]sx?$/, ".js");
24832
- const compiledFile = resolve42(compiledRoot, rel);
24823
+ const compiledFile = resolve41(compiledRoot, rel);
24833
24824
  invalidateModule2(compiledFile);
24834
24825
  }
24835
24826
  } catch {}
@@ -24880,7 +24871,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24880
24871
  serverPaths.forEach((serverPath, idx) => {
24881
24872
  const fileBase = basename13(serverPath, ".js");
24882
24873
  const ssrPath = ssrPaths[idx] ?? serverPath;
24883
- state.manifest[toPascal(fileBase)] = resolve42(ssrPath);
24874
+ state.manifest[toPascal(fileBase)] = resolve41(ssrPath);
24884
24875
  });
24885
24876
  if (clientPaths.length > 0) {
24886
24877
  await bundleAngularClient(state, clientPaths, state.resolvedPaths.buildDir, angularDir);
@@ -24893,9 +24884,9 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24893
24884
  const angularDir = config.angularDirectory ?? "";
24894
24885
  const angularFiles = filesToRebuild.filter((file4) => detectFramework(file4, state.resolvedPaths) === "angular");
24895
24886
  for (const file4 of angularFiles) {
24896
- state.fileHashes.set(resolve42(file4), computeFileHash(file4));
24887
+ state.fileHashes.set(resolve41(file4), computeFileHash(file4));
24897
24888
  }
24898
- const angularPagesPath = resolve42(angularDir, "pages");
24889
+ const angularPagesPath = resolve41(angularDir, "pages");
24899
24890
  const pageEntries = resolveAngularPageEntries(state, angularFiles, angularPagesPath);
24900
24891
  const tierStart = performance.now();
24901
24892
  const verdict = await decideAngularTier(state, angularDir);
@@ -24936,11 +24927,11 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24936
24927
  if (isComponentFile2)
24937
24928
  return primaryFile;
24938
24929
  const { findNearestComponent: findNearestComponent2 } = await Promise.resolve().then(() => (init_transformCache(), exports_transformCache));
24939
- const nearest = findNearestComponent2(resolve42(primaryFile));
24930
+ const nearest = findNearestComponent2(resolve41(primaryFile));
24940
24931
  return nearest ?? primaryFile;
24941
24932
  }, handleReactModuleServerPath = async (state, reactFiles, startTime, onRebuildComplete) => {
24942
24933
  for (const file4 of reactFiles) {
24943
- state.fileHashes.set(resolve42(file4), computeFileHash(file4));
24934
+ state.fileHashes.set(resolve41(file4), computeFileHash(file4));
24944
24935
  }
24945
24936
  const primaryFile = reactFiles.find((file4) => !file4.replace(/\\/g, "/").includes("/pages/")) ?? reactFiles[0];
24946
24937
  if (!primaryFile) {
@@ -25021,7 +25012,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
25021
25012
  });
25022
25013
  }, handleSvelteModuleServerPath = async (state, svelteFiles, config, startTime, onRebuildComplete) => {
25023
25014
  for (const file4 of svelteFiles) {
25024
- state.fileHashes.set(resolve42(file4), computeFileHash(file4));
25015
+ state.fileHashes.set(resolve41(file4), computeFileHash(file4));
25025
25016
  }
25026
25017
  const serverDuration = Date.now() - startTime;
25027
25018
  await runSequentially(svelteFiles, (changedFile) => broadcastSvelteModuleUpdate(state, changedFile, svelteFiles, serverDuration));
@@ -25268,7 +25259,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
25268
25259
  });
25269
25260
  }, handleVueModuleServerPath = async (state, vueFiles, nonVueFiles, config, startTime, onRebuildComplete) => {
25270
25261
  for (const file4 of [...vueFiles, ...nonVueFiles]) {
25271
- state.fileHashes.set(resolve42(file4), computeFileHash(file4));
25262
+ state.fileHashes.set(resolve41(file4), computeFileHash(file4));
25272
25263
  }
25273
25264
  await invalidateNonVueModules(nonVueFiles);
25274
25265
  const serverDuration = Date.now() - startTime;
@@ -25417,7 +25408,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
25417
25408
  recursive: true,
25418
25409
  withFileTypes: true
25419
25410
  });
25420
- return entries.filter((entry) => entry.isFile() && EMBER_PAGE_EXTENSIONS.some((ext) => entry.name.endsWith(ext))).map((entry) => resolve42(emberPagesPath, entry.name));
25411
+ return entries.filter((entry) => entry.isFile() && EMBER_PAGE_EXTENSIONS.some((ext) => entry.name.endsWith(ext))).map((entry) => resolve41(emberPagesPath, entry.name));
25421
25412
  } catch {
25422
25413
  return [];
25423
25414
  }
@@ -25429,10 +25420,10 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
25429
25420
  return state.manifest;
25430
25421
  }
25431
25422
  for (const file4 of emberFiles) {
25432
- state.fileHashes.set(resolve42(file4), computeFileHash(file4));
25423
+ state.fileHashes.set(resolve41(file4), computeFileHash(file4));
25433
25424
  }
25434
- const emberPagesPath = resolve42(emberDir, "pages");
25435
- const directPageEntries = emberFiles.filter((file4) => resolve42(file4).startsWith(emberPagesPath));
25425
+ const emberPagesPath = resolve41(emberDir, "pages");
25426
+ const directPageEntries = emberFiles.filter((file4) => resolve41(file4).startsWith(emberPagesPath));
25436
25427
  const allPageEntries = directPageEntries.length > 0 ? directPageEntries : await collectAllEmberPages(emberPagesPath);
25437
25428
  if (allPageEntries.length === 0) {
25438
25429
  onRebuildComplete({ hmrState: state, manifest: state.manifest });
@@ -25442,7 +25433,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
25442
25433
  const { serverPaths } = await compileEmber2(allPageEntries, emberDir, process.cwd(), true);
25443
25434
  for (const serverPath of serverPaths) {
25444
25435
  const fileBase = basename13(serverPath, ".js");
25445
- state.manifest[toPascal(fileBase)] = resolve42(serverPath);
25436
+ state.manifest[toPascal(fileBase)] = resolve41(serverPath);
25446
25437
  }
25447
25438
  const { invalidateEmberSsrCache: invalidateEmberSsrCache2 } = await Promise.resolve().then(() => (init_ember(), exports_ember));
25448
25439
  invalidateEmberSsrCache2();
@@ -25534,8 +25525,8 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
25534
25525
  if (!buildReference?.source) {
25535
25526
  return;
25536
25527
  }
25537
- const sourcePath = buildReference.source.startsWith("file://") ? new URL(buildReference.source).pathname : resolve42(dirname26(buildInfo.resolvedRegistryPath), buildReference.source);
25538
- islandFiles.add(resolve42(sourcePath));
25528
+ const sourcePath = buildReference.source.startsWith("file://") ? new URL(buildReference.source).pathname : resolve41(dirname26(buildInfo.resolvedRegistryPath), buildReference.source);
25529
+ islandFiles.add(resolve41(sourcePath));
25539
25530
  }, resolveIslandSourceFiles = async (config) => {
25540
25531
  const registryPath = config.islands?.registry;
25541
25532
  if (!registryPath) {
@@ -25543,7 +25534,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
25543
25534
  }
25544
25535
  const buildInfo = await loadIslandRegistryBuildInfo(registryPath);
25545
25536
  const islandFiles = new Set([
25546
- resolve42(buildInfo.resolvedRegistryPath)
25537
+ resolve41(buildInfo.resolvedRegistryPath)
25547
25538
  ]);
25548
25539
  for (const definition of buildInfo.definitions) {
25549
25540
  resolveIslandDefinitionSource(definition, buildInfo, islandFiles);
@@ -25554,7 +25545,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
25554
25545
  if (islandFiles.size === 0) {
25555
25546
  return false;
25556
25547
  }
25557
- return filesToRebuild.some((file4) => islandFiles.has(resolve42(file4)));
25548
+ return filesToRebuild.some((file4) => islandFiles.has(resolve41(file4)));
25558
25549
  }, handleIslandSourceReload = async (state, config, filesToRebuild, manifest) => {
25559
25550
  const shouldReload = await didStaticPagesNeedIslandRefresh(config, filesToRebuild);
25560
25551
  if (!shouldReload) {
@@ -25589,10 +25580,10 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
25589
25580
  }, computeOutputPagesDir = (state, config, framework) => {
25590
25581
  const isSingle = !config.reactDirectory && !config.svelteDirectory && !config.vueDirectory && (framework === "html" ? !config.htmxDirectory : !config.htmlDirectory);
25591
25582
  if (isSingle) {
25592
- return resolve42(state.resolvedPaths.buildDir, "pages");
25583
+ return resolve41(state.resolvedPaths.buildDir, "pages");
25593
25584
  }
25594
25585
  const dirName = framework === "html" ? basename13(config.htmlDirectory ?? "html") : basename13(config.htmxDirectory ?? "htmx");
25595
- return resolve42(state.resolvedPaths.buildDir, dirName, "pages");
25586
+ return resolve41(state.resolvedPaths.buildDir, dirName, "pages");
25596
25587
  }, processHtmlPageUpdate = async (state, pageFile, builtHtmlPagePath, manifest, duration) => {
25597
25588
  try {
25598
25589
  const { handleHTMLUpdate: handleHTMLUpdate2 } = await Promise.resolve().then(() => (init_simpleHTMLHMR(), exports_simpleHTMLHMR));
@@ -25631,7 +25622,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
25631
25622
  const pageFilesToUpdate = shouldRefreshAllPages ? await scanEntryPoints(outputHtmlPages, "*.html") : htmlPageFiles;
25632
25623
  await runSequentially(pageFilesToUpdate, async (pageFile) => {
25633
25624
  const htmlPageName = basename13(pageFile);
25634
- const builtHtmlPagePath = resolve42(outputHtmlPages, htmlPageName);
25625
+ const builtHtmlPagePath = resolve41(outputHtmlPages, htmlPageName);
25635
25626
  await processHtmlPageUpdate(state, pageFile, builtHtmlPagePath, manifest, duration);
25636
25627
  });
25637
25628
  }, handleVueCssOnlyUpdate = (state, vueCssFiles, manifest, duration) => {
@@ -25696,7 +25687,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
25696
25687
  const cssKey = `${pascalName}CSS`;
25697
25688
  const cssUrl = manifest[cssKey] || null;
25698
25689
  const { vueHmrMetadata: vueHmrMetadata2 } = await Promise.resolve().then(() => (init_compileVue(), exports_compileVue));
25699
- const hmrMeta = vueHmrMetadata2.get(resolve42(vuePagePath));
25690
+ const hmrMeta = vueHmrMetadata2.get(resolve41(vuePagePath));
25700
25691
  const changeType = hmrMeta?.changeType ?? "full";
25701
25692
  if (changeType === "style-only") {
25702
25693
  broadcastVueStyleOnly(state, vuePagePath, baseName, cssUrl, hmrId, manifest, duration);
@@ -25881,7 +25872,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
25881
25872
  const pageFilesToUpdate = shouldRefreshAllPages ? await scanEntryPoints(outputHtmxPages, "*.html") : htmxPageFiles;
25882
25873
  await runSequentially(pageFilesToUpdate, async (htmxPageFile) => {
25883
25874
  const htmxPageName = basename13(htmxPageFile);
25884
- const builtHtmxPagePath = resolve42(outputHtmxPages, htmxPageName);
25875
+ const builtHtmxPagePath = resolve41(outputHtmxPages, htmxPageName);
25885
25876
  await processHtmxPageUpdate(state, htmxPageFile, builtHtmxPagePath, manifest, duration);
25886
25877
  });
25887
25878
  }, collectUpdatedModulePaths = (allModuleUpdates) => {
@@ -25990,7 +25981,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
25990
25981
  html = html.slice(0, bodyClose.index) + hmrScript + html.slice(bodyClose.index);
25991
25982
  writeFs(destPath, html);
25992
25983
  }, processMarkupFileFastPath = async (state, sourceFile, outputDir, framework, startTime, updateAssetPaths2, handleUpdate, readFs, writeFs) => {
25993
- const destPath = resolve42(outputDir, basename13(sourceFile));
25984
+ const destPath = resolve41(outputDir, basename13(sourceFile));
25994
25985
  const hmrScript = extractHmrScript(destPath, readFs);
25995
25986
  const source = await Bun.file(sourceFile).text();
25996
25987
  await Bun.write(destPath, source);
@@ -26132,7 +26123,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
26132
26123
  });
26133
26124
  if (config.tailwind && filesToRebuild && filesToRebuild.some(isTailwindCandidate)) {
26134
26125
  try {
26135
- const outputPath = resolve42(state.resolvedPaths.buildDir, config.tailwind.output);
26126
+ const outputPath = resolve41(state.resolvedPaths.buildDir, config.tailwind.output);
26136
26127
  const bytes = await Bun.file(outputPath).bytes();
26137
26128
  const webPath = `/${config.tailwind.output.replace(/^\/+/, "")}`;
26138
26129
  state.assetStore.set(webPath, bytes);
@@ -26566,7 +26557,7 @@ __export(exports_devBuild, {
26566
26557
  });
26567
26558
  import { readdir as readdir5 } from "fs/promises";
26568
26559
  import { statSync as statSync7 } from "fs";
26569
- import { resolve as resolve43 } from "path";
26560
+ import { resolve as resolve42 } from "path";
26570
26561
  var FRAMEWORK_DIR_KEYS, collectDepVendorSourceDirs = (config) => {
26571
26562
  const configuredDirs = [
26572
26563
  config.reactDirectory,
@@ -26589,7 +26580,7 @@ var FRAMEWORK_DIR_KEYS, collectDepVendorSourceDirs = (config) => {
26589
26580
  return Object.keys(config).length > 0 ? config : null;
26590
26581
  }, reloadConfig = async () => {
26591
26582
  try {
26592
- const configPath2 = resolve43(process.env.ABSOLUTE_CONFIG ?? "absolute.config.ts");
26583
+ const configPath2 = resolve42(process.env.ABSOLUTE_CONFIG ?? "absolute.config.ts");
26593
26584
  const source = await Bun.file(configPath2).text();
26594
26585
  return parseDirectoryConfig(source);
26595
26586
  } catch {
@@ -26696,7 +26687,7 @@ var FRAMEWORK_DIR_KEYS, collectDepVendorSourceDirs = (config) => {
26696
26687
  state.fileChangeQueue.clear();
26697
26688
  }
26698
26689
  }, handleCachedReload = async () => {
26699
- const serverMtime = statSync7(resolve43(Bun.main)).mtimeMs;
26690
+ const serverMtime = statSync7(resolve42(Bun.main)).mtimeMs;
26700
26691
  const lastMtime = globalThis.__hmrServerMtime;
26701
26692
  globalThis.__hmrServerMtime = serverMtime;
26702
26693
  const cached = globalThis.__hmrDevResult;
@@ -26733,8 +26724,8 @@ var FRAMEWORK_DIR_KEYS, collectDepVendorSourceDirs = (config) => {
26733
26724
  return true;
26734
26725
  }, resolveAbsoluteVersion2 = async () => {
26735
26726
  const candidates = [
26736
- resolve43(import.meta.dir, "..", "..", "package.json"),
26737
- resolve43(import.meta.dir, "..", "package.json")
26727
+ resolve42(import.meta.dir, "..", "..", "package.json"),
26728
+ resolve42(import.meta.dir, "..", "package.json")
26738
26729
  ];
26739
26730
  const [candidate, ...remaining] = candidates;
26740
26731
  if (!candidate) {
@@ -26760,7 +26751,7 @@ var FRAMEWORK_DIR_KEYS, collectDepVendorSourceDirs = (config) => {
26760
26751
  const entries = await readdir5(vendorDir).catch(() => emptyStringArray);
26761
26752
  await Promise.all(entries.filter((entry) => entry.endsWith(".js")).map(async (entry) => {
26762
26753
  const webPath = `/${framework}/vendor/${entry}`;
26763
- const bytes = await Bun.file(resolve43(vendorDir, entry)).bytes();
26754
+ const bytes = await Bun.file(resolve42(vendorDir, entry)).bytes();
26764
26755
  assetStore.set(webPath, bytes);
26765
26756
  }));
26766
26757
  }, devBuild = async (config) => {
@@ -26839,11 +26830,11 @@ var FRAMEWORK_DIR_KEYS, collectDepVendorSourceDirs = (config) => {
26839
26830
  cleanStaleAssets(state.assetStore, manifest, state.resolvedPaths.buildDir);
26840
26831
  recordStep("populate asset store", stepStartedAt);
26841
26832
  stepStartedAt = performance.now();
26842
- const reactVendorDir = resolve43(state.resolvedPaths.buildDir, "react", "vendor");
26843
- const angularVendorDir = resolve43(state.resolvedPaths.buildDir, "angular", "vendor");
26844
- const svelteVendorDir = resolve43(state.resolvedPaths.buildDir, "svelte", "vendor");
26845
- const vueVendorDir = resolve43(state.resolvedPaths.buildDir, "vue", "vendor");
26846
- const depVendorDir = resolve43(state.resolvedPaths.buildDir, "vendor");
26833
+ const reactVendorDir = resolve42(state.resolvedPaths.buildDir, "react", "vendor");
26834
+ const angularVendorDir = resolve42(state.resolvedPaths.buildDir, "angular", "vendor");
26835
+ const svelteVendorDir = resolve42(state.resolvedPaths.buildDir, "svelte", "vendor");
26836
+ const vueVendorDir = resolve42(state.resolvedPaths.buildDir, "vue", "vendor");
26837
+ const depVendorDir = resolve42(state.resolvedPaths.buildDir, "vendor");
26847
26838
  const { buildDepVendor: buildDepVendor2 } = await Promise.resolve().then(() => (init_buildDepVendor(), exports_buildDepVendor));
26848
26839
  const [, angularSpecs, , , , , depPaths] = await Promise.all([
26849
26840
  config.reactDirectory ? buildReactVendor(state.resolvedPaths.buildDir) : Promise.resolve(undefined),
@@ -26954,7 +26945,7 @@ var FRAMEWORK_DIR_KEYS, collectDepVendorSourceDirs = (config) => {
26954
26945
  manifest
26955
26946
  };
26956
26947
  globalThis.__hmrDevResult = result;
26957
- globalThis.__hmrServerMtime = statSync7(resolve43(Bun.main)).mtimeMs;
26948
+ globalThis.__hmrServerMtime = statSync7(resolve42(Bun.main)).mtimeMs;
26958
26949
  return result;
26959
26950
  };
26960
26951
  var init_devBuild = __esm(() => {
@@ -26994,5 +26985,5 @@ export {
26994
26985
  build
26995
26986
  };
26996
26987
 
26997
- //# debugId=991A7554EBD83B3564756E2164756E21
26988
+ //# debugId=67DA0FCF6F77A9D364756E2164756E21
26998
26989
  //# sourceMappingURL=build.js.map