@absolutejs/absolute 0.19.0-beta.976 → 0.19.0-beta.978

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);
@@ -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,8 +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 combinedAngularEntries = angularProvidersEntryAddons.length > 0 ? [...angularEntries, ...angularProvidersEntryAddons] : angularEntries;
20159
- const result = await mod.compileAngular(combinedAngularEntries, angularDir, hmr, styleTransformConfig);
20150
+ if (angularProvidersFilesToCompile.length > 0 && angularDir) {
20151
+ const { getFrameworkGeneratedDir: getFrameworkGeneratedDir2 } = await Promise.resolve().then(() => (init_generatedDir(), exports_generatedDir));
20152
+ const compiledRoot = getFrameworkGeneratedDir2("angular", projectRoot);
20153
+ await Promise.all(angularProvidersFilesToCompile.map((entry) => mod.compileAngularFileJIT(entry, compiledRoot, angularDir, styleTransformConfig)));
20154
+ }
20155
+ const result = await mod.compileAngular(angularEntries, angularDir, hmr, styleTransformConfig);
20160
20156
  if (hmr) {
20161
20157
  try {
20162
20158
  const { primeComponentFingerprint: primeComponentFingerprint2 } = await Promise.resolve().then(() => (init_fastHmrCompiler(), exports_fastHmrCompiler));
@@ -20206,7 +20202,7 @@ ${content.slice(firstUseIdx)}`;
20206
20202
  const clientPath = islandSvelteClientPaths[idx];
20207
20203
  if (!sourcePath || !clientPath)
20208
20204
  continue;
20209
- islandSvelteClientPathMap.set(resolve27(sourcePath), clientPath);
20205
+ islandSvelteClientPathMap.set(resolve26(sourcePath), clientPath);
20210
20206
  }
20211
20207
  const islandVueClientPathMap = new Map;
20212
20208
  for (let idx = 0;idx < islandVueSources.length; idx++) {
@@ -20214,7 +20210,7 @@ ${content.slice(firstUseIdx)}`;
20214
20210
  const clientPath = islandVueClientPaths[idx];
20215
20211
  if (!sourcePath || !clientPath)
20216
20212
  continue;
20217
- islandVueClientPathMap.set(resolve27(sourcePath), clientPath);
20213
+ islandVueClientPathMap.set(resolve26(sourcePath), clientPath);
20218
20214
  }
20219
20215
  const islandAngularClientPathMap = new Map;
20220
20216
  for (let idx = 0;idx < islandAngularSources.length; idx++) {
@@ -20222,7 +20218,7 @@ ${content.slice(firstUseIdx)}`;
20222
20218
  const clientPath = islandAngularClientPaths[idx];
20223
20219
  if (!sourcePath || !clientPath)
20224
20220
  continue;
20225
- islandAngularClientPathMap.set(resolve27(sourcePath), clientPath);
20221
+ islandAngularClientPathMap.set(resolve26(sourcePath), clientPath);
20226
20222
  }
20227
20223
  const reactConventionSources = collectConventionSourceFiles(conventionsMap.react);
20228
20224
  const svelteConventionSources = collectConventionSourceFiles(conventionsMap.svelte);
@@ -21147,7 +21143,7 @@ __export(exports_dependencyGraph, {
21147
21143
  });
21148
21144
  import { existsSync as existsSync28, readFileSync as readFileSync19 } from "fs";
21149
21145
  var {Glob: Glob9 } = globalThis.Bun;
21150
- import { resolve as resolve28 } from "path";
21146
+ import { resolve as resolve27 } from "path";
21151
21147
  var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath) => {
21152
21148
  const lower = filePath.toLowerCase();
21153
21149
  if (lower.endsWith(".ts") || lower.endsWith(".tsx") || lower.endsWith(".jsx"))
@@ -21161,8 +21157,8 @@ var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath)
21161
21157
  if (!importPath.startsWith(".") && !importPath.startsWith("/")) {
21162
21158
  return null;
21163
21159
  }
21164
- const fromDir = resolve28(fromFile, "..");
21165
- const normalized = resolve28(fromDir, importPath);
21160
+ const fromDir = resolve27(fromFile, "..");
21161
+ const normalized = resolve27(fromDir, importPath);
21166
21162
  const extensions = [
21167
21163
  ".ts",
21168
21164
  ".tsx",
@@ -21192,7 +21188,7 @@ var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath)
21192
21188
  dependents.delete(normalizedPath);
21193
21189
  }
21194
21190
  }, addFileToGraph = (graph, filePath) => {
21195
- const normalizedPath = resolve28(filePath);
21191
+ const normalizedPath = resolve27(filePath);
21196
21192
  if (!existsSync28(normalizedPath))
21197
21193
  return;
21198
21194
  const dependencies = extractDependencies(normalizedPath);
@@ -21219,10 +21215,10 @@ var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath)
21219
21215
  }, IGNORED_SEGMENTS, buildInitialDependencyGraph = (graph, directories) => {
21220
21216
  const processedFiles = new Set;
21221
21217
  const glob = new Glob9("**/*.{ts,tsx,js,jsx,vue,svelte,html,htm}");
21222
- const resolvedDirs = directories.map((dir) => resolve28(dir)).filter((dir) => existsSync28(dir));
21218
+ const resolvedDirs = directories.map((dir) => resolve27(dir)).filter((dir) => existsSync28(dir));
21223
21219
  const allFiles = resolvedDirs.flatMap((dir) => Array.from(glob.scanSync({ absolute: true, cwd: dir })));
21224
21220
  for (const file4 of allFiles) {
21225
- const fullPath = resolve28(file4);
21221
+ const fullPath = resolve27(file4);
21226
21222
  if (IGNORED_SEGMENTS.some((seg) => fullPath.includes(seg)))
21227
21223
  continue;
21228
21224
  if (processedFiles.has(fullPath))
@@ -21335,7 +21331,7 @@ var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath)
21335
21331
  return [];
21336
21332
  }
21337
21333
  }, getAffectedFiles = (graph, changedFile) => {
21338
- const normalizedPath = resolve28(changedFile);
21334
+ const normalizedPath = resolve27(changedFile);
21339
21335
  const affected = new Set;
21340
21336
  const toProcess = [normalizedPath];
21341
21337
  const processNode = (current) => {
@@ -21366,7 +21362,7 @@ var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath)
21366
21362
  }, removeDependentsForFile = (graph, normalizedPath) => {
21367
21363
  graph.dependents.delete(normalizedPath);
21368
21364
  }, removeFileFromGraph = (graph, filePath) => {
21369
- const normalizedPath = resolve28(filePath);
21365
+ const normalizedPath = resolve27(filePath);
21370
21366
  removeDepsForFile(graph, normalizedPath);
21371
21367
  removeDependentsForFile(graph, normalizedPath);
21372
21368
  };
@@ -21409,12 +21405,12 @@ var globalVersionCounter = 0, createModuleVersionTracker = () => new Map, getNex
21409
21405
  };
21410
21406
 
21411
21407
  // src/dev/configResolver.ts
21412
- import { resolve as resolve29 } from "path";
21408
+ import { resolve as resolve28 } from "path";
21413
21409
  var resolveBuildPaths = (config) => {
21414
21410
  const cwd2 = process.cwd();
21415
21411
  const normalize = (path) => path.replace(/\\/g, "/");
21416
- const withDefault = (value, fallback) => normalize(resolve29(cwd2, value ?? fallback));
21417
- 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;
21418
21414
  return {
21419
21415
  angularDir: optional(config.angularDirectory),
21420
21416
  assetsDir: optional(config.assetsDirectory),
@@ -21468,7 +21464,7 @@ var init_clientManager = __esm(() => {
21468
21464
 
21469
21465
  // src/dev/pathUtils.ts
21470
21466
  import { existsSync as existsSync29, readdirSync as readdirSync4, readFileSync as readFileSync20 } from "fs";
21471
- import { dirname as dirname20, resolve as resolve30 } from "path";
21467
+ import { dirname as dirname20, resolve as resolve29 } from "path";
21472
21468
  var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
21473
21469
  if (shouldIgnorePath(filePath, resolved)) {
21474
21470
  return "ignored";
@@ -21544,7 +21540,7 @@ var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
21544
21540
  return "unknown";
21545
21541
  }, collectAngularResourceDirs = (angularDir) => {
21546
21542
  const out = new Set;
21547
- const angularRoot = resolve30(angularDir);
21543
+ const angularRoot = resolve29(angularDir);
21548
21544
  const angularRootNormalized = normalizePath(angularRoot);
21549
21545
  const walk = (dir) => {
21550
21546
  let entries;
@@ -21557,7 +21553,7 @@ var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
21557
21553
  if (entry.name.startsWith(".") || entry.name === "node_modules") {
21558
21554
  continue;
21559
21555
  }
21560
- const full = resolve30(dir, entry.name);
21556
+ const full = resolve29(dir, entry.name);
21561
21557
  if (entry.isDirectory()) {
21562
21558
  walk(full);
21563
21559
  continue;
@@ -21598,7 +21594,7 @@ var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
21598
21594
  }
21599
21595
  const componentDir = dirname20(full);
21600
21596
  for (const ref of refs) {
21601
- const refAbs = normalizePath(resolve30(componentDir, ref));
21597
+ const refAbs = normalizePath(resolve29(componentDir, ref));
21602
21598
  const refDir = normalizePath(dirname20(refAbs));
21603
21599
  if (refDir === angularRootNormalized || refDir.startsWith(angularRootNormalized + "/")) {
21604
21600
  continue;
@@ -21615,7 +21611,7 @@ var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
21615
21611
  const push = (path) => {
21616
21612
  if (!path)
21617
21613
  return;
21618
- const abs = normalizePath(resolve30(cwd2, path));
21614
+ const abs = normalizePath(resolve29(cwd2, path));
21619
21615
  if (!roots.includes(abs))
21620
21616
  roots.push(abs);
21621
21617
  };
@@ -21640,7 +21636,7 @@ var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
21640
21636
  push(cfg.assetsDir);
21641
21637
  push(cfg.stylesDir);
21642
21638
  for (const candidate of ["src", "db", "assets", "styles"]) {
21643
- const abs = normalizePath(resolve30(cwd2, candidate));
21639
+ const abs = normalizePath(resolve29(cwd2, candidate));
21644
21640
  if (existsSync29(abs) && !roots.includes(abs))
21645
21641
  roots.push(abs);
21646
21642
  }
@@ -21652,7 +21648,7 @@ var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
21652
21648
  continue;
21653
21649
  if (entry.name.startsWith("."))
21654
21650
  continue;
21655
- const abs = normalizePath(resolve30(cwd2, entry.name));
21651
+ const abs = normalizePath(resolve29(cwd2, entry.name));
21656
21652
  if (roots.includes(abs))
21657
21653
  continue;
21658
21654
  if (shouldIgnorePath(abs, resolved))
@@ -21727,7 +21723,7 @@ var init_pathUtils = __esm(() => {
21727
21723
  // src/dev/fileWatcher.ts
21728
21724
  import { watch } from "fs";
21729
21725
  import { existsSync as existsSync30, readdirSync as readdirSync5, statSync as statSync4 } from "fs";
21730
- 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";
21731
21727
  var safeRemoveFromGraph = (graph, fullPath) => {
21732
21728
  try {
21733
21729
  removeFileFromGraph(graph, fullPath);
@@ -21808,7 +21804,7 @@ var safeRemoveFromGraph = (graph, fullPath) => {
21808
21804
  }, addFileWatchers = (state, paths, onFileChange) => {
21809
21805
  const stylesDir = state.resolvedPaths?.stylesDir;
21810
21806
  paths.forEach((path) => {
21811
- const absolutePath = resolve31(path).replace(/\\/g, "/");
21807
+ const absolutePath = resolve30(path).replace(/\\/g, "/");
21812
21808
  if (!existsSync30(absolutePath)) {
21813
21809
  return;
21814
21810
  }
@@ -21819,7 +21815,7 @@ var safeRemoveFromGraph = (graph, fullPath) => {
21819
21815
  const watchPaths = getWatchPaths(config, state.resolvedPaths);
21820
21816
  const stylesDir = state.resolvedPaths?.stylesDir;
21821
21817
  watchPaths.forEach((path) => {
21822
- const absolutePath = resolve31(path).replace(/\\/g, "/");
21818
+ const absolutePath = resolve30(path).replace(/\\/g, "/");
21823
21819
  if (!existsSync30(absolutePath)) {
21824
21820
  return;
21825
21821
  }
@@ -21838,13 +21834,13 @@ var init_fileWatcher = __esm(() => {
21838
21834
  });
21839
21835
 
21840
21836
  // src/dev/assetStore.ts
21841
- import { resolve as resolve32 } from "path";
21837
+ import { resolve as resolve31 } from "path";
21842
21838
  import { readdir as readdir4, unlink } from "fs/promises";
21843
21839
  var mimeTypes, getMimeType = (filePath) => {
21844
21840
  const ext = filePath.slice(filePath.lastIndexOf("."));
21845
21841
  return mimeTypes[ext] ?? "application/octet-stream";
21846
21842
  }, HASHED_FILE_RE, stripHash = (webPath) => webPath.replace(/\.[a-z0-9]{8}(\.(js|css|mjs))$/, "$1"), processWalkEntry = (entry, dir, liveByIdentity, walkAndClean) => {
21847
- const fullPath = resolve32(dir, entry.name);
21843
+ const fullPath = resolve31(dir, entry.name);
21848
21844
  if (entry.isDirectory()) {
21849
21845
  return walkAndClean(fullPath);
21850
21846
  }
@@ -21860,10 +21856,10 @@ var mimeTypes, getMimeType = (filePath) => {
21860
21856
  }, cleanStaleAssets = async (store, manifest, buildDir) => {
21861
21857
  const liveByIdentity = new Map;
21862
21858
  for (const webPath of store.keys()) {
21863
- const diskPath = resolve32(buildDir, webPath.slice(1));
21859
+ const diskPath = resolve31(buildDir, webPath.slice(1));
21864
21860
  liveByIdentity.set(stripHash(diskPath), diskPath);
21865
21861
  }
21866
- const absBuildDir = resolve32(buildDir);
21862
+ const absBuildDir = resolve31(buildDir);
21867
21863
  Object.values(manifest).forEach((val) => {
21868
21864
  if (!HASHED_FILE_RE.test(val))
21869
21865
  return;
@@ -21881,7 +21877,7 @@ var mimeTypes, getMimeType = (filePath) => {
21881
21877
  } catch {}
21882
21878
  }, lookupAsset = (store, path) => store.get(path), processScanEntry = (entry, dir, prefix, store, scanDir) => {
21883
21879
  if (entry.isDirectory()) {
21884
- return scanDir(resolve32(dir, entry.name), `${prefix}${entry.name}/`);
21880
+ return scanDir(resolve31(dir, entry.name), `${prefix}${entry.name}/`);
21885
21881
  }
21886
21882
  if (!entry.name.startsWith("chunk-")) {
21887
21883
  return null;
@@ -21890,7 +21886,7 @@ var mimeTypes, getMimeType = (filePath) => {
21890
21886
  if (store.has(webPath)) {
21891
21887
  return null;
21892
21888
  }
21893
- return Bun.file(resolve32(dir, entry.name)).bytes().then((bytes) => {
21889
+ return Bun.file(resolve31(dir, entry.name)).bytes().then((bytes) => {
21894
21890
  store.set(webPath, bytes);
21895
21891
  return;
21896
21892
  }).catch(() => {});
@@ -21912,7 +21908,7 @@ var mimeTypes, getMimeType = (filePath) => {
21912
21908
  for (const webPath of newIdentities.values()) {
21913
21909
  if (store.has(webPath))
21914
21910
  continue;
21915
- 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) => {
21916
21912
  store.set(webPath, bytes);
21917
21913
  return;
21918
21914
  }).catch(() => {}));
@@ -21943,7 +21939,7 @@ var init_assetStore = __esm(() => {
21943
21939
 
21944
21940
  // src/islands/pageMetadata.ts
21945
21941
  import { readFileSync as readFileSync21 } from "fs";
21946
- import { dirname as dirname22, resolve as resolve33 } from "path";
21942
+ import { dirname as dirname22, resolve as resolve32 } from "path";
21947
21943
  var pagePatterns, getPageDirs = (config) => [
21948
21944
  { dir: config.angularDirectory, framework: "angular" },
21949
21945
  { dir: config.emberDirectory, framework: "ember" },
@@ -21963,15 +21959,15 @@ var pagePatterns, getPageDirs = (config) => [
21963
21959
  const source = definition.buildReference?.source;
21964
21960
  if (!source)
21965
21961
  continue;
21966
- const resolvedSource = source.startsWith("file://") ? new URL(source).pathname : resolve33(dirname22(buildInfo.resolvedRegistryPath), source);
21967
- 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));
21968
21964
  }
21969
21965
  return lookup;
21970
21966
  }, getCurrentPageIslandMetadata = () => globalThis.__absolutePageIslandMetadata ?? new Map, metadataUsesSource = (metadata, target) => metadata.islands.some((usage) => {
21971
21967
  const candidate = usage.source;
21972
- return candidate ? resolve33(candidate) === target : false;
21968
+ return candidate ? resolve32(candidate) === target : false;
21973
21969
  }), getPagesUsingIslandSource = (sourcePath) => {
21974
- const target = resolve33(sourcePath);
21970
+ const target = resolve32(sourcePath);
21975
21971
  return [...getCurrentPageIslandMetadata().values()].filter((metadata) => metadataUsesSource(metadata, target)).map((metadata) => metadata.pagePath);
21976
21972
  }, resolveIslandUsages = (islands, islandSourceLookup) => islands.map((usage) => {
21977
21973
  const sourcePath = islandSourceLookup.get(`${usage.framework}:${usage.component}`);
@@ -21983,13 +21979,13 @@ var pagePatterns, getPageDirs = (config) => [
21983
21979
  const pattern = pagePatterns[entry.framework];
21984
21980
  if (!pattern)
21985
21981
  return;
21986
- const files = await scanEntryPoints(resolve33(entry.dir), pattern);
21982
+ const files = await scanEntryPoints(resolve32(entry.dir), pattern);
21987
21983
  for (const filePath of files) {
21988
21984
  const source = readFileSync21(filePath, "utf-8");
21989
21985
  const islands = extractIslandUsagesFromSource(source);
21990
- pageMetadata.set(resolve33(filePath), {
21986
+ pageMetadata.set(resolve32(filePath), {
21991
21987
  islands: resolveIslandUsages(islands, islandSourceLookup),
21992
- pagePath: resolve33(filePath)
21988
+ pagePath: resolve32(filePath)
21993
21989
  });
21994
21990
  }
21995
21991
  }, loadPageIslandMetadata = async (config) => {
@@ -22112,9 +22108,9 @@ var init_transformCache = __esm(() => {
22112
22108
  });
22113
22109
 
22114
22110
  // src/dev/reactComponentClassifier.ts
22115
- import { resolve as resolve34 } from "path";
22111
+ import { resolve as resolve33 } from "path";
22116
22112
  var classifyComponent = (filePath) => {
22117
- const normalizedPath = resolve34(filePath);
22113
+ const normalizedPath = resolve33(filePath);
22118
22114
  if (normalizedPath.includes("/react/pages/")) {
22119
22115
  return "server";
22120
22116
  }
@@ -22126,7 +22122,7 @@ var classifyComponent = (filePath) => {
22126
22122
  var init_reactComponentClassifier = () => {};
22127
22123
 
22128
22124
  // src/dev/moduleMapper.ts
22129
- import { basename as basename11, resolve as resolve35 } from "path";
22125
+ import { basename as basename11, resolve as resolve34 } from "path";
22130
22126
  var buildModulePaths = (moduleKeys, manifest) => {
22131
22127
  const modulePaths = {};
22132
22128
  moduleKeys.forEach((key) => {
@@ -22136,7 +22132,7 @@ var buildModulePaths = (moduleKeys, manifest) => {
22136
22132
  });
22137
22133
  return modulePaths;
22138
22134
  }, processChangedFile = (sourceFile, framework, manifest, resolvedPaths, processedFiles) => {
22139
- const normalizedFile = resolve35(sourceFile);
22135
+ const normalizedFile = resolve34(sourceFile);
22140
22136
  const normalizedPath = normalizedFile.replace(/\\/g, "/");
22141
22137
  if (processedFiles.has(normalizedFile)) {
22142
22138
  return null;
@@ -22172,7 +22168,7 @@ var buildModulePaths = (moduleKeys, manifest) => {
22172
22168
  });
22173
22169
  return grouped;
22174
22170
  }, mapSourceFileToManifestKeys = (sourceFile, framework, resolvedPaths) => {
22175
- const normalizedFile = resolve35(sourceFile);
22171
+ const normalizedFile = resolve34(sourceFile);
22176
22172
  const fileName = basename11(normalizedFile);
22177
22173
  const baseName = fileName.replace(/\.(tsx?|jsx?|vue|svelte|css|html)$/, "");
22178
22174
  const pascalName = toPascal(baseName);
@@ -22234,7 +22230,7 @@ __export(exports_resolveOwningComponents, {
22234
22230
  invalidateResourceIndex: () => invalidateResourceIndex
22235
22231
  });
22236
22232
  import { readdirSync as readdirSync6, readFileSync as readFileSync23, statSync as statSync5 } from "fs";
22237
- 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";
22238
22234
  import ts14 from "typescript";
22239
22235
  var ENTITY_DECORATORS, isAngularSourceFile = (file4) => file4.endsWith(".ts") || file4.endsWith(".tsx"), walkAngularSourceFiles = (root) => {
22240
22236
  const out = [];
@@ -22347,7 +22343,7 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file4) => file4.endsWith(".ts") ||
22347
22343
  };
22348
22344
  visit(sourceFile);
22349
22345
  return out;
22350
- }, safeNormalize = (path) => resolve36(path).replace(/\\/g, "/"), resolveOwningComponents = (params) => {
22346
+ }, safeNormalize = (path) => resolve35(path).replace(/\\/g, "/"), resolveOwningComponents = (params) => {
22351
22347
  const { changedFilePath, userAngularRoot } = params;
22352
22348
  const changedAbs = safeNormalize(changedFilePath);
22353
22349
  const out = [];
@@ -22416,7 +22412,7 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file4) => file4.endsWith(".ts") ||
22416
22412
  if (!spec.startsWith(".") && !spec.startsWith("/")) {
22417
22413
  return null;
22418
22414
  }
22419
- const base = resolve36(childDir, spec);
22415
+ const base = resolve35(childDir, spec);
22420
22416
  const candidates = [
22421
22417
  `${base}.ts`,
22422
22418
  `${base}.tsx`,
@@ -22454,7 +22450,7 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file4) => file4.endsWith(".ts") ||
22454
22450
  };
22455
22451
  if (cls.kind === "component") {
22456
22452
  for (const url of [...cls.templateUrls, ...cls.styleUrls]) {
22457
- const abs = safeNormalize(resolve36(componentDir, url));
22453
+ const abs = safeNormalize(resolve35(componentDir, url));
22458
22454
  const existing = resource.get(abs);
22459
22455
  if (existing)
22460
22456
  existing.push(entity);
@@ -22639,7 +22635,7 @@ __export(exports_loadConfig, {
22639
22635
  isWorkspaceConfig: () => isWorkspaceConfig,
22640
22636
  getWorkspaceServices: () => getWorkspaceServices
22641
22637
  });
22642
- import { resolve as resolve37 } from "path";
22638
+ import { resolve as resolve36 } from "path";
22643
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) => {
22644
22640
  if (!isObject2(config)) {
22645
22641
  return false;
@@ -22690,7 +22686,7 @@ var RESERVED_TOP_LEVEL_KEYS, isObject2 = (value) => typeof value === "object" &&
22690
22686
  }
22691
22687
  return config;
22692
22688
  }, loadRawConfig = async (configPath2) => {
22693
- const resolved = resolve37(configPath2 ?? process.env.ABSOLUTE_CONFIG ?? "absolute.config.ts");
22689
+ const resolved = resolve36(configPath2 ?? process.env.ABSOLUTE_CONFIG ?? "absolute.config.ts");
22694
22690
  const mod = await import(resolved);
22695
22691
  const config = mod.default ?? mod.config;
22696
22692
  if (!config) {
@@ -22751,7 +22747,7 @@ __export(exports_moduleServer, {
22751
22747
  SRC_URL_PREFIX: () => SRC_URL_PREFIX
22752
22748
  });
22753
22749
  import { existsSync as existsSync31, readFileSync as readFileSync24, statSync as statSync6 } from "fs";
22754
- 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";
22755
22751
  var SRC_PREFIX = "/@src/", jsTranspiler2, tsTranspiler2, tsxTranspiler, TRANSPILABLE, ALL_EXPORTS_RE, STRING_CONTENTS_RE, preserveTypeExports = (originalSource, transpiled, valueExports) => {
22756
22752
  const codeOnly = originalSource.replace(STRING_CONTENTS_RE, '""');
22757
22753
  const allExports = [];
@@ -22771,7 +22767,7 @@ var SRC_PREFIX = "/@src/", jsTranspiler2, tsTranspiler2, tsxTranspiler, TRANSPIL
22771
22767
  ${stubs}
22772
22768
  `;
22773
22769
  }, resolveRelativeExtension = (srcPath, projectRoot, extensions) => {
22774
- const found = extensions.find((ext) => existsSync31(resolve38(projectRoot, srcPath + ext)));
22770
+ const found = extensions.find((ext) => existsSync31(resolve37(projectRoot, srcPath + ext)));
22775
22771
  return found ? srcPath + found : srcPath;
22776
22772
  }, IMPORT_EXTENSIONS, SIDE_EFFECT_EXTENSIONS, MODULE_EXTENSIONS, RESOLVED_MODULE_EXTENSIONS, REACT_EXTENSIONS, escapeRegex3 = (str) => str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), buildImportRewriter = (vendorPaths) => {
22777
22773
  const entries = Object.entries(vendorPaths).sort(([a], [b2]) => b2.length - a.length);
@@ -22786,7 +22782,7 @@ ${stubs}
22786
22782
  return invalidationVersion > 0 ? `${mtime}.${invalidationVersion}` : `${mtime}`;
22787
22783
  }, srcUrl = (relPath, projectRoot) => {
22788
22784
  const base = `${SRC_PREFIX}${relPath.replace(/\\/g, "/")}`;
22789
- const absPath = resolve38(projectRoot, relPath);
22785
+ const absPath = resolve37(projectRoot, relPath);
22790
22786
  const cached = mtimeCache.get(absPath);
22791
22787
  if (cached !== undefined)
22792
22788
  return `${base}?v=${buildVersion(cached, absPath)}`;
@@ -22798,12 +22794,12 @@ ${stubs}
22798
22794
  return base;
22799
22795
  }
22800
22796
  }, resolveRelativeImport = (relPath, fileDir, projectRoot, extensions) => {
22801
- const absPath = resolve38(fileDir, relPath);
22797
+ const absPath = resolve37(fileDir, relPath);
22802
22798
  const rel = relative15(projectRoot, absPath);
22803
22799
  const extension = extname10(rel);
22804
22800
  let srcPath = RESOLVED_MODULE_EXTENSIONS.has(extension) ? rel : resolveRelativeExtension(rel, projectRoot, extensions);
22805
22801
  if (extname10(srcPath) === ".svelte") {
22806
- srcPath = relative15(projectRoot, resolveSvelteModulePath(resolve38(projectRoot, srcPath)));
22802
+ srcPath = relative15(projectRoot, resolveSvelteModulePath(resolve37(projectRoot, srcPath)));
22807
22803
  }
22808
22804
  return srcUrl(srcPath, projectRoot);
22809
22805
  }, NODE_BUILTIN_RE, resolveAbsoluteSpecifier = (specifier, projectRoot) => {
@@ -22822,13 +22818,13 @@ ${stubs}
22822
22818
  const packageName = isScoped ? `${parts[0]}/${parts[1]}` : parts[0];
22823
22819
  const subpath = isScoped ? parts.slice(2).join("/") : parts.slice(1).join("/");
22824
22820
  if (!subpath) {
22825
- const pkgDir = resolve38(projectRoot, "node_modules", packageName ?? "");
22821
+ const pkgDir = resolve37(projectRoot, "node_modules", packageName ?? "");
22826
22822
  const pkgJsonPath = join40(pkgDir, "package.json");
22827
22823
  if (existsSync31(pkgJsonPath)) {
22828
22824
  const pkg = JSON.parse(readFileSync24(pkgJsonPath, "utf-8"));
22829
22825
  const esmEntry = typeof pkg.module === "string" && pkg.module || typeof pkg.browser === "string" && pkg.browser;
22830
22826
  if (esmEntry) {
22831
- const resolved = resolve38(pkgDir, esmEntry);
22827
+ const resolved = resolve37(pkgDir, esmEntry);
22832
22828
  if (existsSync31(resolved))
22833
22829
  return relative15(projectRoot, resolved);
22834
22830
  }
@@ -22875,12 +22871,12 @@ ${stubs}
22875
22871
  result = result.replace(/((?:from|import)\s*["'])(\/[^"']+\.(tsx?|jsx?|ts))(["'])/g, rewriteAbsoluteToSrc);
22876
22872
  result = result.replace(/(import\s*\(\s*["'])(\/[^"']+\.(tsx?|jsx?|ts))(["']\s*\))/g, rewriteAbsoluteToSrc);
22877
22873
  result = result.replace(/new\s+URL\(\s*["'](\.\.?\/[^"']+)["']\s*,\s*import\.meta\.url\s*\)/g, (_match, relPath) => {
22878
- const absPath = resolve38(fileDir, relPath);
22874
+ const absPath = resolve37(fileDir, relPath);
22879
22875
  const rel = relative15(projectRoot, absPath);
22880
22876
  return `new URL('${srcUrl(rel, projectRoot)}', import.meta.url)`;
22881
22877
  });
22882
22878
  result = result.replace(/import\.meta\.resolve\(\s*["'](\.\.?\/[^"']+)["']\s*\)/g, (_match, relPath) => {
22883
- const absPath = resolve38(fileDir, relPath);
22879
+ const absPath = resolve37(fileDir, relPath);
22884
22880
  const rel = relative15(projectRoot, absPath);
22885
22881
  return `'${srcUrl(rel, projectRoot)}'`;
22886
22882
  });
@@ -23193,7 +23189,7 @@ ${code}`;
23193
23189
  code = injectVueHmr(code, filePath, projectRoot, vueDir);
23194
23190
  return rewriteImports(code, filePath, projectRoot, rewriter);
23195
23191
  }, injectVueHmr = (code, filePath, projectRoot, vueDir) => {
23196
- const hmrBase = vueDir ? resolve38(vueDir) : projectRoot;
23192
+ const hmrBase = vueDir ? resolve37(vueDir) : projectRoot;
23197
23193
  const hmrId = relative15(hmrBase, filePath).replace(/\\/g, "/").replace(/\.vue$/, "");
23198
23194
  let result = code.replace(/export\s+default\s+/, "var __hmr_comp__ = ");
23199
23195
  result += [
@@ -23357,7 +23353,7 @@ export default {};
23357
23353
  const escaped = virtualCss.replace(/\\/g, "\\\\").replace(/`/g, "\\`").replace(/\$/g, "\\$");
23358
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);`);
23359
23355
  }, resolveSourcePath = (relPath, projectRoot) => {
23360
- const filePath = resolve38(projectRoot, relPath);
23356
+ const filePath = resolve37(projectRoot, relPath);
23361
23357
  const ext = extname10(filePath);
23362
23358
  if (ext === ".svelte")
23363
23359
  return { ext, filePath: resolveSvelteModulePath(filePath) };
@@ -23394,14 +23390,14 @@ export default {};
23394
23390
  const absoluteCandidate = "/" + tail.replace(/^\/+/, "");
23395
23391
  const candidates = [
23396
23392
  absoluteCandidate,
23397
- resolve38(projectRoot, tail)
23393
+ resolve37(projectRoot, tail)
23398
23394
  ];
23399
23395
  try {
23400
23396
  const { loadConfig: loadConfig2 } = await Promise.resolve().then(() => (init_loadConfig(), exports_loadConfig));
23401
23397
  const cfg = await loadConfig2();
23402
- const angularDir = cfg.angularDirectory && resolve38(projectRoot, cfg.angularDirectory);
23398
+ const angularDir = cfg.angularDirectory && resolve37(projectRoot, cfg.angularDirectory);
23403
23399
  if (angularDir)
23404
- candidates.push(resolve38(angularDir, tail));
23400
+ candidates.push(resolve37(angularDir, tail));
23405
23401
  } catch {}
23406
23402
  for (const candidate of candidates) {
23407
23403
  if (await fileExists(candidate)) {
@@ -23432,7 +23428,7 @@ export default {};
23432
23428
  if (!TRANSPILABLE.has(ext))
23433
23429
  return;
23434
23430
  const stat3 = statSync6(filePath);
23435
- const resolvedVueDir = vueDir ? resolve38(vueDir) : undefined;
23431
+ const resolvedVueDir = vueDir ? resolve37(vueDir) : undefined;
23436
23432
  let content = REACT_EXTENSIONS.has(ext) ? transformReactFile(filePath, projectRoot, rewriter) : transformPlainFile(filePath, projectRoot, rewriter, resolvedVueDir);
23437
23433
  const isAngularGeneratedJs = ext === ".js" && filePath.replace(/\\/g, "/").includes("/.absolutejs/generated/angular/");
23438
23434
  if (isAngularGeneratedJs) {
@@ -23491,7 +23487,7 @@ export default {};
23491
23487
  const relPath = pathname.slice(SRC_PREFIX.length);
23492
23488
  if (relPath === "bun:wrap" || relPath.startsWith("bun:wrap?"))
23493
23489
  return handleBunWrapRequest();
23494
- const virtualCssResponse = handleVirtualSvelteCss(resolve38(projectRoot, relPath));
23490
+ const virtualCssResponse = handleVirtualSvelteCss(resolve37(projectRoot, relPath));
23495
23491
  if (virtualCssResponse)
23496
23492
  return virtualCssResponse;
23497
23493
  const { filePath, ext } = resolveSourcePath(relPath, projectRoot);
@@ -23507,11 +23503,11 @@ export default {};
23507
23503
  SRC_IMPORT_RE.lastIndex = 0;
23508
23504
  while ((match = SRC_IMPORT_RE.exec(content)) !== null) {
23509
23505
  if (match[1])
23510
- files.push(resolve38(projectRoot, match[1]));
23506
+ files.push(resolve37(projectRoot, match[1]));
23511
23507
  }
23512
23508
  return files;
23513
23509
  }, invalidateModule = (filePath) => {
23514
- const resolved = resolve38(filePath);
23510
+ const resolved = resolve37(filePath);
23515
23511
  invalidate(filePath);
23516
23512
  if (resolved !== filePath)
23517
23513
  invalidate(resolved);
@@ -23656,7 +23652,7 @@ __export(exports_hmrCompiler, {
23656
23652
  getApplyMetadataModule: () => getApplyMetadataModule,
23657
23653
  encodeHmrComponentId: () => encodeHmrComponentId
23658
23654
  });
23659
- 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";
23660
23656
  import { performance as performance2 } from "perf_hooks";
23661
23657
  var getApplyMetadataModule = async (encodedId) => {
23662
23658
  const decoded = decodeURIComponent(encodedId);
@@ -23665,7 +23661,7 @@ var getApplyMetadataModule = async (encodedId) => {
23665
23661
  return null;
23666
23662
  const filePathRel = decoded.slice(0, at2);
23667
23663
  const className = decoded.slice(at2 + 1);
23668
- const componentFilePath = resolve39(process.cwd(), filePathRel);
23664
+ const componentFilePath = resolve38(process.cwd(), filePathRel);
23669
23665
  const projectRelPath = relative16(process.cwd(), componentFilePath).replace(/\\/g, "/");
23670
23666
  const cacheKey2 = encodeURIComponent(`${projectRelPath}@${className}`);
23671
23667
  const { takePendingModule: takePendingModule2 } = await Promise.resolve().then(() => (init_fastHmrCompiler(), exports_fastHmrCompiler));
@@ -23827,11 +23823,11 @@ var exports_simpleHTMLHMR = {};
23827
23823
  __export(exports_simpleHTMLHMR, {
23828
23824
  handleHTMLUpdate: () => handleHTMLUpdate
23829
23825
  });
23830
- import { resolve as resolve40 } from "path";
23826
+ import { resolve as resolve39 } from "path";
23831
23827
  var handleHTMLUpdate = async (htmlFilePath) => {
23832
23828
  let htmlContent;
23833
23829
  try {
23834
- const resolvedPath = resolve40(htmlFilePath);
23830
+ const resolvedPath = resolve39(htmlFilePath);
23835
23831
  const file4 = Bun.file(resolvedPath);
23836
23832
  if (!await file4.exists()) {
23837
23833
  return null;
@@ -23857,11 +23853,11 @@ var exports_simpleHTMXHMR = {};
23857
23853
  __export(exports_simpleHTMXHMR, {
23858
23854
  handleHTMXUpdate: () => handleHTMXUpdate
23859
23855
  });
23860
- import { resolve as resolve41 } from "path";
23856
+ import { resolve as resolve40 } from "path";
23861
23857
  var handleHTMXUpdate = async (htmxFilePath) => {
23862
23858
  let htmlContent;
23863
23859
  try {
23864
- const resolvedPath = resolve41(htmxFilePath);
23860
+ const resolvedPath = resolve40(htmxFilePath);
23865
23861
  const file4 = Bun.file(resolvedPath);
23866
23862
  if (!await file4.exists()) {
23867
23863
  return null;
@@ -23884,7 +23880,7 @@ var init_simpleHTMXHMR = () => {};
23884
23880
 
23885
23881
  // src/dev/rebuildTrigger.ts
23886
23882
  import { existsSync as existsSync32, rmSync as rmSync3 } from "fs";
23887
- 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";
23888
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) => {
23889
23885
  if (!config.tailwind)
23890
23886
  return;
@@ -23896,7 +23892,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
23896
23892
  if (!cssChanged)
23897
23893
  return;
23898
23894
  try {
23899
- const outputPath = resolve42(state.resolvedPaths.buildDir, config.tailwind.output);
23895
+ const outputPath = resolve41(state.resolvedPaths.buildDir, config.tailwind.output);
23900
23896
  const bytes = await Bun.file(outputPath).bytes();
23901
23897
  const webPath = `/${config.tailwind.output.replace(/^\/+/, "")}`;
23902
23898
  state.assetStore.set(webPath, bytes);
@@ -23986,12 +23982,12 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
23986
23982
  }, isValidDeletedAffectedFile = (affectedFile, deletedPathResolved, processedFiles) => affectedFile !== deletedPathResolved && !processedFiles.has(affectedFile) && existsSync32(affectedFile), FRAMEWORK_DIR_KEYS_FOR_CLEANUP, removeStaleGenerated = (state, deletedFile) => {
23987
23983
  const config = state.config;
23988
23984
  const cwd2 = process.cwd();
23989
- const absDeleted = resolve42(deletedFile).replace(/\\/g, "/");
23985
+ const absDeleted = resolve41(deletedFile).replace(/\\/g, "/");
23990
23986
  for (const { configKey, framework } of FRAMEWORK_DIR_KEYS_FOR_CLEANUP) {
23991
23987
  const dir = config[configKey];
23992
23988
  if (!dir)
23993
23989
  continue;
23994
- const absDir = resolve42(cwd2, dir).replace(/\\/g, "/");
23990
+ const absDir = resolve41(cwd2, dir).replace(/\\/g, "/");
23995
23991
  if (!absDeleted.startsWith(`${absDir}/`))
23996
23992
  continue;
23997
23993
  const rel = absDeleted.slice(absDir.length + 1);
@@ -24015,7 +24011,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24015
24011
  removeStaleGenerated(state, filePathInSet);
24016
24012
  try {
24017
24013
  const affectedFiles = getAffectedFiles(state.dependencyGraph, filePathInSet);
24018
- const deletedPathResolved = resolve42(filePathInSet);
24014
+ const deletedPathResolved = resolve41(filePathInSet);
24019
24015
  affectedFiles.forEach((affectedFile) => {
24020
24016
  if (isValidDeletedAffectedFile(affectedFile, deletedPathResolved, processedFiles)) {
24021
24017
  validFiles.push(affectedFile);
@@ -24059,7 +24055,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24059
24055
  if (storedHash !== undefined && storedHash === fileHash) {
24060
24056
  return;
24061
24057
  }
24062
- const normalizedFilePath = resolve42(filePathInSet);
24058
+ const normalizedFilePath = resolve41(filePathInSet);
24063
24059
  if (!processedFiles.has(normalizedFilePath)) {
24064
24060
  validFiles.push(normalizedFilePath);
24065
24061
  processedFiles.add(normalizedFilePath);
@@ -24197,7 +24193,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24197
24193
  const publicDir = state.resolvedPaths.publicDir;
24198
24194
  const assetsDir = state.resolvedPaths.assetsDir;
24199
24195
  const handleStaticMirror = async (sourceDir, urlPrefix) => {
24200
- const absSource = resolve42(filePath);
24196
+ const absSource = resolve41(filePath);
24201
24197
  const normalizedSource = absSource.replace(/\\/g, "/");
24202
24198
  const normalizedDir = sourceDir.replace(/\\/g, "/");
24203
24199
  if (!normalizedSource.startsWith(normalizedDir + "/"))
@@ -24205,7 +24201,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24205
24201
  try {
24206
24202
  const relFromDir = normalizedSource.slice(normalizedDir.length + 1);
24207
24203
  const buildDir = state.resolvedPaths.buildDir;
24208
- const destPath = resolve42(buildDir, urlPrefix ? `${urlPrefix}/${relFromDir}` : relFromDir);
24204
+ const destPath = resolve41(buildDir, urlPrefix ? `${urlPrefix}/${relFromDir}` : relFromDir);
24209
24205
  const { mkdir: mkdir7, copyFile, readFile: readFile6 } = await import("fs/promises");
24210
24206
  const { dirname: dirname27 } = await import("path");
24211
24207
  await mkdir7(dirname27(destPath), { recursive: true });
@@ -24231,7 +24227,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24231
24227
  if (assetsDir && await handleStaticMirror(assetsDir, "assets"))
24232
24228
  return;
24233
24229
  if (framework === "unknown") {
24234
- invalidate(resolve42(filePath));
24230
+ invalidate(resolve41(filePath));
24235
24231
  const relPath = relative17(process.cwd(), filePath);
24236
24232
  logHmrUpdate(relPath);
24237
24233
  const angularDir = state.resolvedPaths.angularDir;
@@ -24239,10 +24235,10 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24239
24235
  if (angularDir && state.dependencyGraph) {
24240
24236
  try {
24241
24237
  const { addFileToGraph: addFileToGraph2 } = await Promise.resolve().then(() => (init_dependencyGraph(), exports_dependencyGraph));
24242
- addFileToGraph2(state.dependencyGraph, resolve42(filePath));
24243
- const affected = getAffectedFiles(state.dependencyGraph, resolve42(filePath));
24238
+ addFileToGraph2(state.dependencyGraph, resolve41(filePath));
24239
+ const affected = getAffectedFiles(state.dependencyGraph, resolve41(filePath));
24244
24240
  for (const dependent of affected) {
24245
- if (dependent === resolve42(filePath))
24241
+ if (dependent === resolve41(filePath))
24246
24242
  continue;
24247
24243
  const dependentFramework = detectFramework(dependent, state.resolvedPaths);
24248
24244
  if (dependentFramework !== "angular")
@@ -24259,14 +24255,14 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24259
24255
  } catch {}
24260
24256
  }
24261
24257
  if (!hasAngularDependent) {
24262
- console.log(`[abs:restart] ${resolve42(filePath)}`);
24258
+ console.log(`[abs:restart] ${resolve41(filePath)}`);
24263
24259
  return;
24264
24260
  }
24265
24261
  try {
24266
24262
  const { getFrameworkGeneratedDir: getFrameworkGeneratedDir2 } = await Promise.resolve().then(() => (init_generatedDir(), exports_generatedDir));
24267
24263
  const { invalidateModule: invalidateModuleServer } = await Promise.resolve().then(() => (init_moduleServer(), exports_moduleServer));
24268
24264
  const generatedAngularRoot = getFrameworkGeneratedDir2("angular");
24269
- const sourceAbs = resolve42(filePath).replace(/\\/g, "/");
24265
+ const sourceAbs = resolve41(filePath).replace(/\\/g, "/");
24270
24266
  const generatedTwin = `${generatedAngularRoot.replace(/\\/g, "/")}${sourceAbs.replace(/\.ts$/, ".js")}`;
24271
24267
  invalidateModuleServer(generatedTwin);
24272
24268
  } catch {}
@@ -24300,7 +24296,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24300
24296
  const userEditedFiles = new Set;
24301
24297
  state.fileChangeQueue.forEach((filePaths) => {
24302
24298
  for (const filePath2 of filePaths) {
24303
- userEditedFiles.add(resolve42(filePath2));
24299
+ userEditedFiles.add(resolve41(filePath2));
24304
24300
  }
24305
24301
  });
24306
24302
  state.lastUserEditedFiles = userEditedFiles;
@@ -24329,7 +24325,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24329
24325
  }
24330
24326
  if (!graph)
24331
24327
  return componentFile;
24332
- const dependents = graph.dependents.get(resolve42(componentFile));
24328
+ const dependents = graph.dependents.get(resolve41(componentFile));
24333
24329
  if (!dependents)
24334
24330
  return componentFile;
24335
24331
  for (const dep of dependents) {
@@ -24338,7 +24334,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24338
24334
  }
24339
24335
  return componentFile;
24340
24336
  }, resolveAngularPageEntries = (state, angularFiles, angularPagesPath) => {
24341
- 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));
24342
24338
  if (pageEntries.length > 0 || !state.dependencyGraph) {
24343
24339
  return pageEntries;
24344
24340
  }
@@ -24347,7 +24343,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24347
24343
  const lookupFile = resolveComponentLookupFile(componentFile, state.dependencyGraph);
24348
24344
  const affected = getAffectedFiles(state.dependencyGraph, lookupFile);
24349
24345
  affected.forEach((file4) => {
24350
- if (file4.endsWith(".ts") && resolve42(file4).startsWith(angularPagesPath)) {
24346
+ if (file4.endsWith(".ts") && resolve41(file4).startsWith(angularPagesPath)) {
24351
24347
  resolvedPages.add(file4);
24352
24348
  }
24353
24349
  });
@@ -24388,8 +24384,8 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24388
24384
  if (serverDirs.length <= 1) {
24389
24385
  const dir = getFrameworkGeneratedDir2(framework, projectRoot);
24390
24386
  return {
24391
- serverOutDir: resolve42(resolvedPaths.buildDir, basename13(dir)),
24392
- serverRoot: resolve42(dir, "server")
24387
+ serverOutDir: resolve41(resolvedPaths.buildDir, basename13(dir)),
24388
+ serverRoot: resolve41(dir, "server")
24393
24389
  };
24394
24390
  }
24395
24391
  return {
@@ -24550,8 +24546,8 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24550
24546
  if (detected !== "unknown")
24551
24547
  continue;
24552
24548
  try {
24553
- const affected = getAffectedFiles(state.dependencyGraph, resolve42(editedFile));
24554
- 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");
24555
24551
  if (hasAngularConsumer) {
24556
24552
  return {
24557
24553
  kind: "rebootstrap",
@@ -24598,7 +24594,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24598
24594
  }
24599
24595
  if (owners.length === 0 && (editedFile.endsWith(".ts") || editedFile.endsWith(".json")) && !editedFile.endsWith(".d.ts")) {
24600
24596
  const normalized = editedFile.replace(/\\/g, "/");
24601
- const angularDirAbs = resolve42(angularDir).replace(/\\/g, "/");
24597
+ const angularDirAbs = resolve41(angularDir).replace(/\\/g, "/");
24602
24598
  if (normalized.startsWith(angularDirAbs + "/")) {
24603
24599
  return {
24604
24600
  kind: "rebootstrap",
@@ -24741,16 +24737,16 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24741
24737
  };
24742
24738
  const fire = () => {
24743
24739
  ctx.debounceTimer = null;
24744
- const resolve43 = ctx.debouncedResolve;
24740
+ const resolve42 = ctx.debouncedResolve;
24745
24741
  ctx.debouncedResolve = null;
24746
24742
  ctx.debouncedPromise = null;
24747
24743
  if (ctx.inFlight) {
24748
24744
  ctx.pending = true;
24749
- ctx.inFlight.finally(() => resolve43?.());
24745
+ ctx.inFlight.finally(() => resolve42?.());
24750
24746
  return;
24751
24747
  }
24752
24748
  ctx.inFlight = drive();
24753
- ctx.inFlight.finally(() => resolve43?.());
24749
+ ctx.inFlight.finally(() => resolve42?.());
24754
24750
  };
24755
24751
  return ({ immediate = false } = {}) => {
24756
24752
  if (!ctx.debouncedPromise) {
@@ -24777,9 +24773,9 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24777
24773
  const diskRefreshPromise = (async () => {
24778
24774
  if (!angularDir || editedFiles.size === 0)
24779
24775
  return;
24780
- const angularDirAbs = resolve42(angularDir);
24776
+ const angularDirAbs = resolve41(angularDir);
24781
24777
  const filesUnderAngular = Array.from(editedFiles).filter((file4) => {
24782
- const abs = resolve42(file4);
24778
+ const abs = resolve41(file4);
24783
24779
  return abs === angularDirAbs || abs.startsWith(angularDirAbs + sep4);
24784
24780
  });
24785
24781
  if (filesUnderAngular.length === 0)
@@ -24801,7 +24797,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24801
24797
  if (!ext)
24802
24798
  continue;
24803
24799
  if (ext === ".ts" || ext === ".tsx") {
24804
- tsFilesToRefresh.add(resolve42(file4));
24800
+ tsFilesToRefresh.add(resolve41(file4));
24805
24801
  continue;
24806
24802
  }
24807
24803
  const owners = resolveOwningComponents2({
@@ -24809,7 +24805,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24809
24805
  userAngularRoot: angularDirAbs
24810
24806
  });
24811
24807
  for (const owner of owners) {
24812
- tsFilesToRefresh.add(resolve42(owner.componentFilePath));
24808
+ tsFilesToRefresh.add(resolve41(owner.componentFilePath));
24813
24809
  }
24814
24810
  }
24815
24811
  if (tsFilesToRefresh.size === 0)
@@ -24824,7 +24820,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24824
24820
  const { invalidateModule: invalidateModule2 } = await Promise.resolve().then(() => (init_moduleServer(), exports_moduleServer));
24825
24821
  for (const tsFile of tsFilesToRefresh) {
24826
24822
  const rel = relative17(angularDirAbs, tsFile).replace(/\\/g, "/").replace(/\.[tj]sx?$/, ".js");
24827
- const compiledFile = resolve42(compiledRoot, rel);
24823
+ const compiledFile = resolve41(compiledRoot, rel);
24828
24824
  invalidateModule2(compiledFile);
24829
24825
  }
24830
24826
  } catch {}
@@ -24875,7 +24871,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24875
24871
  serverPaths.forEach((serverPath, idx) => {
24876
24872
  const fileBase = basename13(serverPath, ".js");
24877
24873
  const ssrPath = ssrPaths[idx] ?? serverPath;
24878
- state.manifest[toPascal(fileBase)] = resolve42(ssrPath);
24874
+ state.manifest[toPascal(fileBase)] = resolve41(ssrPath);
24879
24875
  });
24880
24876
  if (clientPaths.length > 0) {
24881
24877
  await bundleAngularClient(state, clientPaths, state.resolvedPaths.buildDir, angularDir);
@@ -24888,9 +24884,9 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24888
24884
  const angularDir = config.angularDirectory ?? "";
24889
24885
  const angularFiles = filesToRebuild.filter((file4) => detectFramework(file4, state.resolvedPaths) === "angular");
24890
24886
  for (const file4 of angularFiles) {
24891
- state.fileHashes.set(resolve42(file4), computeFileHash(file4));
24887
+ state.fileHashes.set(resolve41(file4), computeFileHash(file4));
24892
24888
  }
24893
- const angularPagesPath = resolve42(angularDir, "pages");
24889
+ const angularPagesPath = resolve41(angularDir, "pages");
24894
24890
  const pageEntries = resolveAngularPageEntries(state, angularFiles, angularPagesPath);
24895
24891
  const tierStart = performance.now();
24896
24892
  const verdict = await decideAngularTier(state, angularDir);
@@ -24931,11 +24927,11 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24931
24927
  if (isComponentFile2)
24932
24928
  return primaryFile;
24933
24929
  const { findNearestComponent: findNearestComponent2 } = await Promise.resolve().then(() => (init_transformCache(), exports_transformCache));
24934
- const nearest = findNearestComponent2(resolve42(primaryFile));
24930
+ const nearest = findNearestComponent2(resolve41(primaryFile));
24935
24931
  return nearest ?? primaryFile;
24936
24932
  }, handleReactModuleServerPath = async (state, reactFiles, startTime, onRebuildComplete) => {
24937
24933
  for (const file4 of reactFiles) {
24938
- state.fileHashes.set(resolve42(file4), computeFileHash(file4));
24934
+ state.fileHashes.set(resolve41(file4), computeFileHash(file4));
24939
24935
  }
24940
24936
  const primaryFile = reactFiles.find((file4) => !file4.replace(/\\/g, "/").includes("/pages/")) ?? reactFiles[0];
24941
24937
  if (!primaryFile) {
@@ -25016,7 +25012,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
25016
25012
  });
25017
25013
  }, handleSvelteModuleServerPath = async (state, svelteFiles, config, startTime, onRebuildComplete) => {
25018
25014
  for (const file4 of svelteFiles) {
25019
- state.fileHashes.set(resolve42(file4), computeFileHash(file4));
25015
+ state.fileHashes.set(resolve41(file4), computeFileHash(file4));
25020
25016
  }
25021
25017
  const serverDuration = Date.now() - startTime;
25022
25018
  await runSequentially(svelteFiles, (changedFile) => broadcastSvelteModuleUpdate(state, changedFile, svelteFiles, serverDuration));
@@ -25263,7 +25259,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
25263
25259
  });
25264
25260
  }, handleVueModuleServerPath = async (state, vueFiles, nonVueFiles, config, startTime, onRebuildComplete) => {
25265
25261
  for (const file4 of [...vueFiles, ...nonVueFiles]) {
25266
- state.fileHashes.set(resolve42(file4), computeFileHash(file4));
25262
+ state.fileHashes.set(resolve41(file4), computeFileHash(file4));
25267
25263
  }
25268
25264
  await invalidateNonVueModules(nonVueFiles);
25269
25265
  const serverDuration = Date.now() - startTime;
@@ -25412,7 +25408,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
25412
25408
  recursive: true,
25413
25409
  withFileTypes: true
25414
25410
  });
25415
- 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));
25416
25412
  } catch {
25417
25413
  return [];
25418
25414
  }
@@ -25424,10 +25420,10 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
25424
25420
  return state.manifest;
25425
25421
  }
25426
25422
  for (const file4 of emberFiles) {
25427
- state.fileHashes.set(resolve42(file4), computeFileHash(file4));
25423
+ state.fileHashes.set(resolve41(file4), computeFileHash(file4));
25428
25424
  }
25429
- const emberPagesPath = resolve42(emberDir, "pages");
25430
- 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));
25431
25427
  const allPageEntries = directPageEntries.length > 0 ? directPageEntries : await collectAllEmberPages(emberPagesPath);
25432
25428
  if (allPageEntries.length === 0) {
25433
25429
  onRebuildComplete({ hmrState: state, manifest: state.manifest });
@@ -25437,7 +25433,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
25437
25433
  const { serverPaths } = await compileEmber2(allPageEntries, emberDir, process.cwd(), true);
25438
25434
  for (const serverPath of serverPaths) {
25439
25435
  const fileBase = basename13(serverPath, ".js");
25440
- state.manifest[toPascal(fileBase)] = resolve42(serverPath);
25436
+ state.manifest[toPascal(fileBase)] = resolve41(serverPath);
25441
25437
  }
25442
25438
  const { invalidateEmberSsrCache: invalidateEmberSsrCache2 } = await Promise.resolve().then(() => (init_ember(), exports_ember));
25443
25439
  invalidateEmberSsrCache2();
@@ -25529,8 +25525,8 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
25529
25525
  if (!buildReference?.source) {
25530
25526
  return;
25531
25527
  }
25532
- const sourcePath = buildReference.source.startsWith("file://") ? new URL(buildReference.source).pathname : resolve42(dirname26(buildInfo.resolvedRegistryPath), buildReference.source);
25533
- 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));
25534
25530
  }, resolveIslandSourceFiles = async (config) => {
25535
25531
  const registryPath = config.islands?.registry;
25536
25532
  if (!registryPath) {
@@ -25538,7 +25534,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
25538
25534
  }
25539
25535
  const buildInfo = await loadIslandRegistryBuildInfo(registryPath);
25540
25536
  const islandFiles = new Set([
25541
- resolve42(buildInfo.resolvedRegistryPath)
25537
+ resolve41(buildInfo.resolvedRegistryPath)
25542
25538
  ]);
25543
25539
  for (const definition of buildInfo.definitions) {
25544
25540
  resolveIslandDefinitionSource(definition, buildInfo, islandFiles);
@@ -25549,7 +25545,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
25549
25545
  if (islandFiles.size === 0) {
25550
25546
  return false;
25551
25547
  }
25552
- return filesToRebuild.some((file4) => islandFiles.has(resolve42(file4)));
25548
+ return filesToRebuild.some((file4) => islandFiles.has(resolve41(file4)));
25553
25549
  }, handleIslandSourceReload = async (state, config, filesToRebuild, manifest) => {
25554
25550
  const shouldReload = await didStaticPagesNeedIslandRefresh(config, filesToRebuild);
25555
25551
  if (!shouldReload) {
@@ -25584,10 +25580,10 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
25584
25580
  }, computeOutputPagesDir = (state, config, framework) => {
25585
25581
  const isSingle = !config.reactDirectory && !config.svelteDirectory && !config.vueDirectory && (framework === "html" ? !config.htmxDirectory : !config.htmlDirectory);
25586
25582
  if (isSingle) {
25587
- return resolve42(state.resolvedPaths.buildDir, "pages");
25583
+ return resolve41(state.resolvedPaths.buildDir, "pages");
25588
25584
  }
25589
25585
  const dirName = framework === "html" ? basename13(config.htmlDirectory ?? "html") : basename13(config.htmxDirectory ?? "htmx");
25590
- return resolve42(state.resolvedPaths.buildDir, dirName, "pages");
25586
+ return resolve41(state.resolvedPaths.buildDir, dirName, "pages");
25591
25587
  }, processHtmlPageUpdate = async (state, pageFile, builtHtmlPagePath, manifest, duration) => {
25592
25588
  try {
25593
25589
  const { handleHTMLUpdate: handleHTMLUpdate2 } = await Promise.resolve().then(() => (init_simpleHTMLHMR(), exports_simpleHTMLHMR));
@@ -25626,7 +25622,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
25626
25622
  const pageFilesToUpdate = shouldRefreshAllPages ? await scanEntryPoints(outputHtmlPages, "*.html") : htmlPageFiles;
25627
25623
  await runSequentially(pageFilesToUpdate, async (pageFile) => {
25628
25624
  const htmlPageName = basename13(pageFile);
25629
- const builtHtmlPagePath = resolve42(outputHtmlPages, htmlPageName);
25625
+ const builtHtmlPagePath = resolve41(outputHtmlPages, htmlPageName);
25630
25626
  await processHtmlPageUpdate(state, pageFile, builtHtmlPagePath, manifest, duration);
25631
25627
  });
25632
25628
  }, handleVueCssOnlyUpdate = (state, vueCssFiles, manifest, duration) => {
@@ -25691,7 +25687,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
25691
25687
  const cssKey = `${pascalName}CSS`;
25692
25688
  const cssUrl = manifest[cssKey] || null;
25693
25689
  const { vueHmrMetadata: vueHmrMetadata2 } = await Promise.resolve().then(() => (init_compileVue(), exports_compileVue));
25694
- const hmrMeta = vueHmrMetadata2.get(resolve42(vuePagePath));
25690
+ const hmrMeta = vueHmrMetadata2.get(resolve41(vuePagePath));
25695
25691
  const changeType = hmrMeta?.changeType ?? "full";
25696
25692
  if (changeType === "style-only") {
25697
25693
  broadcastVueStyleOnly(state, vuePagePath, baseName, cssUrl, hmrId, manifest, duration);
@@ -25876,7 +25872,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
25876
25872
  const pageFilesToUpdate = shouldRefreshAllPages ? await scanEntryPoints(outputHtmxPages, "*.html") : htmxPageFiles;
25877
25873
  await runSequentially(pageFilesToUpdate, async (htmxPageFile) => {
25878
25874
  const htmxPageName = basename13(htmxPageFile);
25879
- const builtHtmxPagePath = resolve42(outputHtmxPages, htmxPageName);
25875
+ const builtHtmxPagePath = resolve41(outputHtmxPages, htmxPageName);
25880
25876
  await processHtmxPageUpdate(state, htmxPageFile, builtHtmxPagePath, manifest, duration);
25881
25877
  });
25882
25878
  }, collectUpdatedModulePaths = (allModuleUpdates) => {
@@ -25985,7 +25981,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
25985
25981
  html = html.slice(0, bodyClose.index) + hmrScript + html.slice(bodyClose.index);
25986
25982
  writeFs(destPath, html);
25987
25983
  }, processMarkupFileFastPath = async (state, sourceFile, outputDir, framework, startTime, updateAssetPaths2, handleUpdate, readFs, writeFs) => {
25988
- const destPath = resolve42(outputDir, basename13(sourceFile));
25984
+ const destPath = resolve41(outputDir, basename13(sourceFile));
25989
25985
  const hmrScript = extractHmrScript(destPath, readFs);
25990
25986
  const source = await Bun.file(sourceFile).text();
25991
25987
  await Bun.write(destPath, source);
@@ -26127,7 +26123,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
26127
26123
  });
26128
26124
  if (config.tailwind && filesToRebuild && filesToRebuild.some(isTailwindCandidate)) {
26129
26125
  try {
26130
- const outputPath = resolve42(state.resolvedPaths.buildDir, config.tailwind.output);
26126
+ const outputPath = resolve41(state.resolvedPaths.buildDir, config.tailwind.output);
26131
26127
  const bytes = await Bun.file(outputPath).bytes();
26132
26128
  const webPath = `/${config.tailwind.output.replace(/^\/+/, "")}`;
26133
26129
  state.assetStore.set(webPath, bytes);
@@ -26561,7 +26557,7 @@ __export(exports_devBuild, {
26561
26557
  });
26562
26558
  import { readdir as readdir5 } from "fs/promises";
26563
26559
  import { statSync as statSync7 } from "fs";
26564
- import { resolve as resolve43 } from "path";
26560
+ import { resolve as resolve42 } from "path";
26565
26561
  var FRAMEWORK_DIR_KEYS, collectDepVendorSourceDirs = (config) => {
26566
26562
  const configuredDirs = [
26567
26563
  config.reactDirectory,
@@ -26584,7 +26580,7 @@ var FRAMEWORK_DIR_KEYS, collectDepVendorSourceDirs = (config) => {
26584
26580
  return Object.keys(config).length > 0 ? config : null;
26585
26581
  }, reloadConfig = async () => {
26586
26582
  try {
26587
- const configPath2 = resolve43(process.env.ABSOLUTE_CONFIG ?? "absolute.config.ts");
26583
+ const configPath2 = resolve42(process.env.ABSOLUTE_CONFIG ?? "absolute.config.ts");
26588
26584
  const source = await Bun.file(configPath2).text();
26589
26585
  return parseDirectoryConfig(source);
26590
26586
  } catch {
@@ -26691,7 +26687,7 @@ var FRAMEWORK_DIR_KEYS, collectDepVendorSourceDirs = (config) => {
26691
26687
  state.fileChangeQueue.clear();
26692
26688
  }
26693
26689
  }, handleCachedReload = async () => {
26694
- const serverMtime = statSync7(resolve43(Bun.main)).mtimeMs;
26690
+ const serverMtime = statSync7(resolve42(Bun.main)).mtimeMs;
26695
26691
  const lastMtime = globalThis.__hmrServerMtime;
26696
26692
  globalThis.__hmrServerMtime = serverMtime;
26697
26693
  const cached = globalThis.__hmrDevResult;
@@ -26728,8 +26724,8 @@ var FRAMEWORK_DIR_KEYS, collectDepVendorSourceDirs = (config) => {
26728
26724
  return true;
26729
26725
  }, resolveAbsoluteVersion2 = async () => {
26730
26726
  const candidates = [
26731
- resolve43(import.meta.dir, "..", "..", "package.json"),
26732
- resolve43(import.meta.dir, "..", "package.json")
26727
+ resolve42(import.meta.dir, "..", "..", "package.json"),
26728
+ resolve42(import.meta.dir, "..", "package.json")
26733
26729
  ];
26734
26730
  const [candidate, ...remaining] = candidates;
26735
26731
  if (!candidate) {
@@ -26755,7 +26751,7 @@ var FRAMEWORK_DIR_KEYS, collectDepVendorSourceDirs = (config) => {
26755
26751
  const entries = await readdir5(vendorDir).catch(() => emptyStringArray);
26756
26752
  await Promise.all(entries.filter((entry) => entry.endsWith(".js")).map(async (entry) => {
26757
26753
  const webPath = `/${framework}/vendor/${entry}`;
26758
- const bytes = await Bun.file(resolve43(vendorDir, entry)).bytes();
26754
+ const bytes = await Bun.file(resolve42(vendorDir, entry)).bytes();
26759
26755
  assetStore.set(webPath, bytes);
26760
26756
  }));
26761
26757
  }, devBuild = async (config) => {
@@ -26834,11 +26830,11 @@ var FRAMEWORK_DIR_KEYS, collectDepVendorSourceDirs = (config) => {
26834
26830
  cleanStaleAssets(state.assetStore, manifest, state.resolvedPaths.buildDir);
26835
26831
  recordStep("populate asset store", stepStartedAt);
26836
26832
  stepStartedAt = performance.now();
26837
- const reactVendorDir = resolve43(state.resolvedPaths.buildDir, "react", "vendor");
26838
- const angularVendorDir = resolve43(state.resolvedPaths.buildDir, "angular", "vendor");
26839
- const svelteVendorDir = resolve43(state.resolvedPaths.buildDir, "svelte", "vendor");
26840
- const vueVendorDir = resolve43(state.resolvedPaths.buildDir, "vue", "vendor");
26841
- 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");
26842
26838
  const { buildDepVendor: buildDepVendor2 } = await Promise.resolve().then(() => (init_buildDepVendor(), exports_buildDepVendor));
26843
26839
  const [, angularSpecs, , , , , depPaths] = await Promise.all([
26844
26840
  config.reactDirectory ? buildReactVendor(state.resolvedPaths.buildDir) : Promise.resolve(undefined),
@@ -26949,7 +26945,7 @@ var FRAMEWORK_DIR_KEYS, collectDepVendorSourceDirs = (config) => {
26949
26945
  manifest
26950
26946
  };
26951
26947
  globalThis.__hmrDevResult = result;
26952
- globalThis.__hmrServerMtime = statSync7(resolve43(Bun.main)).mtimeMs;
26948
+ globalThis.__hmrServerMtime = statSync7(resolve42(Bun.main)).mtimeMs;
26953
26949
  return result;
26954
26950
  };
26955
26951
  var init_devBuild = __esm(() => {
@@ -26989,5 +26985,5 @@ export {
26989
26985
  build
26990
26986
  };
26991
26987
 
26992
- //# debugId=354E3DD08063F71164756E2164756E21
26988
+ //# debugId=EE3677D9D98C2A6964756E2164756E21
26993
26989
  //# sourceMappingURL=build.js.map