@absolutejs/absolute 0.18.7 → 0.18.8-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -143,10 +143,6 @@ var normalizeSlug = (str) => str.trim().replace(/\s+/g, "-").replace(/[^A-Za-z0-
143
143
  }, toScreamingSnake = (str) => str.replace(/([a-z0-9])([A-Z])/g, "$1_$2").toUpperCase();
144
144
 
145
145
  // src/build/generateManifest.ts
146
- var exports_generateManifest = {};
147
- __export(exports_generateManifest, {
148
- generateManifest: () => generateManifest
149
- });
150
146
  import { extname } from "path";
151
147
  var getManifestKey = (folder, pascalName, isClientComponent, isReact, isVue, isSvelte, isAngular) => {
152
148
  if (folder === "indexes")
@@ -194,27 +190,39 @@ var init_generateManifest = __esm(() => {
194
190
  });
195
191
 
196
192
  // src/build/generateReactIndexes.ts
197
- var exports_generateReactIndexes = {};
198
- __export(exports_generateReactIndexes, {
199
- generateReactIndexFiles: () => generateReactIndexFiles
200
- });
201
- import { existsSync } from "fs";
202
- import { mkdir, rm, writeFile } from "fs/promises";
193
+ import { existsSync, mkdirSync } from "fs";
194
+ import { readdir, rm, writeFile } from "fs/promises";
203
195
  import { basename, join, resolve as resolve2 } from "path";
204
196
  var {Glob } = globalThis.Bun;
205
- var resolveDevClientDir = () => {
197
+ var indexContentCache, resolveDevClientDir = () => {
206
198
  const fromSource = resolve2(import.meta.dir, "../dev/client");
207
199
  if (existsSync(fromSource))
208
200
  return fromSource;
209
201
  return resolve2(import.meta.dir, "./dev/client");
210
202
  }, devClientDir, errorOverlayPath, hmrClientPath, refreshSetupPath, generateReactIndexFiles = async (reactPagesDirectory, reactIndexesDirectory, isDev = false) => {
211
- await rm(reactIndexesDirectory, { force: true, recursive: true });
212
- await mkdir(reactIndexesDirectory);
203
+ if (!existsSync(reactIndexesDirectory)) {
204
+ mkdirSync(reactIndexesDirectory, { recursive: true });
205
+ }
213
206
  const pagesGlob = new Glob("*.*");
214
207
  const files = [];
215
208
  for await (const file2 of pagesGlob.scan({ cwd: reactPagesDirectory })) {
216
209
  files.push(file2);
217
210
  }
211
+ const currentPageNames = new Set(files.map((file2) => basename(file2).split(".")[0]));
212
+ const emptyStringArray = [];
213
+ const existingIndexes = await readdir(reactIndexesDirectory).catch(() => emptyStringArray);
214
+ const staleIndexes = existingIndexes.filter((indexFile) => {
215
+ const indexName = indexFile.replace(/\.tsx$/, "");
216
+ return indexName !== "_refresh" && !currentPageNames.has(indexName);
217
+ });
218
+ if (staleIndexes.length > 0) {
219
+ await Promise.all(staleIndexes.map((indexFile) => {
220
+ indexContentCache.delete(join(reactIndexesDirectory, indexFile));
221
+ return rm(join(reactIndexesDirectory, indexFile), {
222
+ force: true
223
+ });
224
+ }));
225
+ }
218
226
  const promises = files.map(async (file2) => {
219
227
  const fileName = basename(file2);
220
228
  const [componentName] = fileName.split(".");
@@ -476,17 +484,30 @@ var resolveDevClientDir = () => {
476
484
  `}`
477
485
  ].join(`
478
486
  `);
479
- return writeFile(join(reactIndexesDirectory, `${componentName}.tsx`), content);
487
+ const indexPath = join(reactIndexesDirectory, `${componentName}.tsx`);
488
+ const hasher = new Bun.CryptoHasher("md5");
489
+ hasher.update(content);
490
+ const contentHash = hasher.digest("hex");
491
+ if (indexContentCache.get(indexPath) === contentHash) {
492
+ return;
493
+ }
494
+ indexContentCache.set(indexPath, contentHash);
495
+ await writeFile(indexPath, content);
480
496
  });
481
497
  await Promise.all(promises);
482
- if (isDev) {
483
- await writeFile(join(reactIndexesDirectory, "_refresh.tsx"), `import '${refreshSetupPath}';
498
+ if (!isDev) {
499
+ return;
500
+ }
501
+ const refreshPath = join(reactIndexesDirectory, "_refresh.tsx");
502
+ if (!existsSync(refreshPath)) {
503
+ await writeFile(refreshPath, `import '${refreshSetupPath}';
484
504
  import 'react';
485
505
  import 'react-dom/client';
486
506
  `);
487
507
  }
488
508
  };
489
509
  var init_generateReactIndexes = __esm(() => {
510
+ indexContentCache = new Map;
490
511
  devClientDir = resolveDevClientDir();
491
512
  errorOverlayPath = join(devClientDir, "errorOverlay.ts").replace(/\\/g, "/");
492
513
  hmrClientPath = join(devClientDir, "hmrClient.ts").replace(/\\/g, "/");
@@ -589,7 +610,7 @@ var scanCssEntryPoints = async (dir, ignore) => {
589
610
  var init_scanCssEntryPoints = () => {};
590
611
 
591
612
  // src/cli/scripts/telemetry.ts
592
- import { existsSync as existsSync4, mkdirSync, readFileSync, writeFileSync } from "fs";
613
+ import { existsSync as existsSync4, mkdirSync as mkdirSync2, readFileSync, writeFileSync } from "fs";
593
614
  import { homedir } from "os";
594
615
  import { join as join2 } from "path";
595
616
  var configDir, configPath, getTelemetryConfig = () => {
@@ -749,10 +770,6 @@ var init_buildHMRClient = __esm(() => {
749
770
  });
750
771
 
751
772
  // src/build/rewriteReactImports.ts
752
- var exports_rewriteReactImports = {};
753
- __export(exports_rewriteReactImports, {
754
- rewriteReactImports: () => rewriteReactImports
755
- });
756
773
  var escapeRegex = (str) => str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), applyAllReplacements = (content, replacements) => {
757
774
  let result = content;
758
775
  for (const [specifier, webPath] of replacements) {
@@ -794,7 +811,7 @@ var devVendorPaths = null, getDevVendorPaths = () => devVendorPaths, setDevVendo
794
811
  };
795
812
 
796
813
  // src/build/angularLinkerPlugin.ts
797
- import { existsSync as existsSync7, mkdirSync as mkdirSync2, readFileSync as readFileSync3, writeFileSync as writeFileSync2 } from "fs";
814
+ import { existsSync as existsSync7, mkdirSync as mkdirSync3, readFileSync as readFileSync3, writeFileSync as writeFileSync2 } from "fs";
798
815
  import { dirname as dirname2, join as join4, relative, resolve as resolve4 } from "path";
799
816
  import { createHash } from "crypto";
800
817
  var CACHE_DIR, angularLinkerPlugin;
@@ -863,7 +880,7 @@ var init_angularLinkerPlugin = __esm(() => {
863
880
  sourceMaps: false
864
881
  });
865
882
  const linked = result?.code ?? source;
866
- mkdirSync2(CACHE_DIR, { recursive: true });
883
+ mkdirSync3(CACHE_DIR, { recursive: true });
867
884
  writeFileSync2(cachePath, linked, "utf-8");
868
885
  return { contents: linked, loader: "js" };
869
886
  });
@@ -951,10 +968,6 @@ var cleanup = async ({
951
968
  var init_cleanup = () => {};
952
969
 
953
970
  // src/utils/commonAncestor.ts
954
- var exports_commonAncestor = {};
955
- __export(exports_commonAncestor, {
956
- commonAncestor: () => commonAncestor
957
- });
958
971
  var commonAncestor = (paths, fallback) => {
959
972
  if (paths.length === 0)
960
973
  return fallback;
@@ -1119,7 +1132,7 @@ __export(exports_compileSvelte, {
1119
1132
  compileSvelte: () => compileSvelte
1120
1133
  });
1121
1134
  import { existsSync as existsSync8 } from "fs";
1122
- import { mkdir as mkdir2, stat } from "fs/promises";
1135
+ import { mkdir, stat } from "fs/promises";
1123
1136
  import {
1124
1137
  dirname as dirname3,
1125
1138
  join as join6,
@@ -1169,7 +1182,7 @@ var resolveDevClientDir2 = () => {
1169
1182
  const clientDir = join6(svelteRoot, "client");
1170
1183
  const indexDir = join6(svelteRoot, "indexes");
1171
1184
  const serverDir = join6(svelteRoot, "server");
1172
- await Promise.all([clientDir, indexDir, serverDir].map((dir) => mkdir2(dir, { recursive: true })));
1185
+ await Promise.all([clientDir, indexDir, serverDir].map((dir) => mkdir(dir, { recursive: true })));
1173
1186
  const dev = env.NODE_ENV !== "production";
1174
1187
  const build2 = async (src) => {
1175
1188
  const memoized = cache.get(src);
@@ -1197,8 +1210,8 @@ var resolveDevClientDir2 = () => {
1197
1210
  const ssrPath = join6(serverDir, relDir, `${baseName}.js`);
1198
1211
  const clientPath = join6(clientDir, relDir, `${baseName}.js`);
1199
1212
  await Promise.all([
1200
- mkdir2(dirname3(ssrPath), { recursive: true }),
1201
- mkdir2(dirname3(clientPath), { recursive: true })
1213
+ mkdir(dirname3(ssrPath), { recursive: true }),
1214
+ mkdir(dirname3(clientPath), { recursive: true })
1202
1215
  ]);
1203
1216
  if (isModule) {
1204
1217
  const bundle = generate("client");
@@ -1257,7 +1270,7 @@ if (typeof window !== "undefined") {
1257
1270
  window.__SVELTE_COMPONENT__ = component;
1258
1271
  window.__SVELTE_UNMOUNT__ = function() { unmount(component); };
1259
1272
  }`;
1260
- await mkdir2(dirname3(indexPath), { recursive: true });
1273
+ await mkdir(dirname3(indexPath), { recursive: true });
1261
1274
  return write(indexPath, bootstrap);
1262
1275
  }));
1263
1276
  return {
@@ -1285,7 +1298,7 @@ __export(exports_compileVue, {
1285
1298
  clearVueHmrCaches: () => clearVueHmrCaches
1286
1299
  });
1287
1300
  import { existsSync as existsSync9 } from "fs";
1288
- import { mkdir as mkdir3 } from "fs/promises";
1301
+ import { mkdir as mkdir2 } from "fs/promises";
1289
1302
  import { basename as basename3, dirname as dirname4, join as join7, relative as relative4, resolve as resolve8 } from "path";
1290
1303
  var {file: file3, write: write2, Transpiler: Transpiler2 } = globalThis.Bun;
1291
1304
  var resolveDevClientDir3 = () => {
@@ -1404,7 +1417,7 @@ var resolveDevClientDir3 = () => {
1404
1417
  let cssOutputPaths = [];
1405
1418
  if (isEntryPoint && allCss.length) {
1406
1419
  const cssOutputFile = join7(outputDirs.css, `${toKebab(fileBaseName)}-compiled.css`);
1407
- await mkdir3(dirname4(cssOutputFile), { recursive: true });
1420
+ await mkdir2(dirname4(cssOutputFile), { recursive: true });
1408
1421
  await write2(cssOutputFile, allCss.join(`
1409
1422
  `));
1410
1423
  cssOutputPaths = [cssOutputFile];
@@ -1436,8 +1449,8 @@ if (typeof __VUE_HMR_RUNTIME__ !== 'undefined') {
1436
1449
  const serverCode = assembleModule(generateRenderFunction(true), "ssrRender", false);
1437
1450
  const clientOutputPath = join7(outputDirs.client, `${relativeWithoutExtension}.js`);
1438
1451
  const serverOutputPath = join7(outputDirs.server, `${relativeWithoutExtension}.js`);
1439
- await mkdir3(dirname4(clientOutputPath), { recursive: true });
1440
- await mkdir3(dirname4(serverOutputPath), { recursive: true });
1452
+ await mkdir2(dirname4(clientOutputPath), { recursive: true });
1453
+ await mkdir2(dirname4(serverOutputPath), { recursive: true });
1441
1454
  await write2(clientOutputPath, clientCode);
1442
1455
  await write2(serverOutputPath, serverCode);
1443
1456
  const result = {
@@ -1460,10 +1473,10 @@ if (typeof __VUE_HMR_RUNTIME__ !== 'undefined') {
1460
1473
  const serverOutputDir = join7(vueRootDir, "server");
1461
1474
  const cssOutputDir = join7(vueRootDir, "compiled");
1462
1475
  await Promise.all([
1463
- mkdir3(clientOutputDir, { recursive: true }),
1464
- mkdir3(indexOutputDir, { recursive: true }),
1465
- mkdir3(serverOutputDir, { recursive: true }),
1466
- mkdir3(cssOutputDir, { recursive: true })
1476
+ mkdir2(clientOutputDir, { recursive: true }),
1477
+ mkdir2(indexOutputDir, { recursive: true }),
1478
+ mkdir2(serverOutputDir, { recursive: true }),
1479
+ mkdir2(cssOutputDir, { recursive: true })
1467
1480
  ]);
1468
1481
  const buildCache = new Map;
1469
1482
  const allTsHelperPaths = new Set;
@@ -1477,7 +1490,7 @@ if (typeof __VUE_HMR_RUNTIME__ !== 'undefined') {
1477
1490
  const entryBaseName = basename3(entryPath, ".vue");
1478
1491
  const indexOutputFile = join7(indexOutputDir, `${entryBaseName}.js`);
1479
1492
  const clientOutputFile = join7(clientOutputDir, relative4(vueRootDir, entryPath).replace(/\\/g, "/").replace(/\.vue$/, ".js"));
1480
- await mkdir3(dirname4(indexOutputFile), { recursive: true });
1493
+ await mkdir2(dirname4(indexOutputFile), { recursive: true });
1481
1494
  const vueHmrImports = isDev ? [
1482
1495
  `window.__HMR_FRAMEWORK__ = "vue";`,
1483
1496
  `import "${hmrClientPath4}";`
@@ -1587,8 +1600,8 @@ if (typeof __VUE_HMR_RUNTIME__ !== 'undefined') {
1587
1600
  const relativeJsPath = relative4(vueRootDir, tsPath).replace(/\.ts$/, ".js");
1588
1601
  const outClientPath = join7(clientOutputDir, relativeJsPath);
1589
1602
  const outServerPath = join7(serverOutputDir, relativeJsPath);
1590
- await mkdir3(dirname4(outClientPath), { recursive: true });
1591
- await mkdir3(dirname4(outServerPath), { recursive: true });
1603
+ await mkdir2(dirname4(outClientPath), { recursive: true });
1604
+ await mkdir2(dirname4(outServerPath), { recursive: true });
1592
1605
  await write2(outClientPath, transpiledCode);
1593
1606
  await write2(outServerPath, transpiledCode);
1594
1607
  }));
@@ -170736,7 +170749,7 @@ __export(exports_buildReactVendor, {
170736
170749
  computeVendorPaths: () => computeVendorPaths,
170737
170750
  buildReactVendor: () => buildReactVendor
170738
170751
  });
170739
- import { mkdirSync as mkdirSync3 } from "fs";
170752
+ import { mkdirSync as mkdirSync4 } from "fs";
170740
170753
  import { join as join9 } from "path";
170741
170754
  import { rm as rm4 } from "fs/promises";
170742
170755
  var {build: bunBuild2 } = globalThis.Bun;
@@ -170761,9 +170774,9 @@ var reactSpecifiers, toSafeFileName = (specifier) => specifier.replace(/\//g, "_
170761
170774
  `;
170762
170775
  }, buildReactVendor = async (buildDir) => {
170763
170776
  const vendorDir = join9(buildDir, "react", "vendor");
170764
- mkdirSync3(vendorDir, { recursive: true });
170777
+ mkdirSync4(vendorDir, { recursive: true });
170765
170778
  const tmpDir = join9(buildDir, "_vendor_tmp");
170766
- mkdirSync3(tmpDir, { recursive: true });
170779
+ mkdirSync4(tmpDir, { recursive: true });
170767
170780
  const entrypoints = await Promise.all(reactSpecifiers.map(async (specifier) => {
170768
170781
  const safeName = toSafeFileName(specifier);
170769
170782
  const entryPath = join9(tmpDir, `${safeName}.ts`);
@@ -170802,15 +170815,15 @@ __export(exports_buildAngularVendor, {
170802
170815
  computeAngularVendorPaths: () => computeAngularVendorPaths,
170803
170816
  buildAngularVendor: () => buildAngularVendor
170804
170817
  });
170805
- import { mkdirSync as mkdirSync4 } from "fs";
170818
+ import { mkdirSync as mkdirSync5 } from "fs";
170806
170819
  import { join as join10 } from "path";
170807
170820
  import { rm as rm5 } from "fs/promises";
170808
170821
  var {build: bunBuild3 } = globalThis.Bun;
170809
170822
  var angularSpecifiers, toSafeFileName2 = (specifier) => specifier.replace(/^@/, "").replace(/\//g, "_"), buildAngularVendor = async (buildDir) => {
170810
170823
  const vendorDir = join10(buildDir, "angular", "vendor");
170811
- mkdirSync4(vendorDir, { recursive: true });
170824
+ mkdirSync5(vendorDir, { recursive: true });
170812
170825
  const tmpDir = join10(buildDir, "_angular_vendor_tmp");
170813
- mkdirSync4(tmpDir, { recursive: true });
170826
+ mkdirSync5(tmpDir, { recursive: true });
170814
170827
  const entrypoints = await Promise.all(angularSpecifiers.map(async (specifier) => {
170815
170828
  const safeName = toSafeFileName2(specifier);
170816
170829
  const entryPath = join10(tmpDir, `${safeName}.ts`);
@@ -170884,7 +170897,7 @@ var escapeRegex2 = (str) => str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), applyRep
170884
170897
  import {
170885
170898
  copyFileSync,
170886
170899
  cpSync,
170887
- mkdirSync as mkdirSync5,
170900
+ mkdirSync as mkdirSync6,
170888
170901
  readFileSync as readFileSync5,
170889
170902
  rmSync,
170890
170903
  writeFileSync as writeFileSync3
@@ -170911,7 +170924,7 @@ var isDev, extractBuildError = (logs, pass, label, frameworkNames, isIncremental
170911
170924
  throw err;
170912
170925
  exit(1);
170913
170926
  }, copyHtmxVendor = (htmxDir, htmxDestDir) => {
170914
- mkdirSync5(htmxDestDir, { recursive: true });
170927
+ mkdirSync6(htmxDestDir, { recursive: true });
170915
170928
  const glob = new Glob5("htmx*.min.js");
170916
170929
  for (const relPath of glob.scanSync({ cwd: htmxDir })) {
170917
170930
  const src = join11(htmxDir, relPath);
@@ -171032,7 +171045,7 @@ var isDev, extractBuildError = (logs, pass, label, frameworkNames, isIncremental
171032
171045
  serverOutDir = buildPath;
171033
171046
  }
171034
171047
  const publicPath = publicDirectory && validateSafePath(publicDirectory, projectRoot);
171035
- mkdirSync5(buildPath, { recursive: true });
171048
+ mkdirSync6(buildPath, { recursive: true });
171036
171049
  if (publicPath)
171037
171050
  cpSync(publicPath, buildPath, { force: true, recursive: true });
171038
171051
  const filterToIncrementalEntries = (entryPoints, mapToSource) => {
@@ -171352,7 +171365,7 @@ var isDev, extractBuildError = (logs, pass, label, frameworkNames, isIncremental
171352
171365
  return;
171353
171366
  const outputHtmlPages = isSingle ? join11(buildPath, "pages") : join11(buildPath, basename5(htmlDir), "pages");
171354
171367
  if (shouldCopyHtml) {
171355
- mkdirSync5(outputHtmlPages, { recursive: true });
171368
+ mkdirSync6(outputHtmlPages, { recursive: true });
171356
171369
  cpSync(htmlPagesPath, outputHtmlPages, {
171357
171370
  force: true,
171358
171371
  recursive: true
@@ -171374,7 +171387,7 @@ var isDev, extractBuildError = (logs, pass, label, frameworkNames, isIncremental
171374
171387
  return;
171375
171388
  const outputHtmxPages = isSingle ? join11(buildPath, "pages") : join11(buildPath, basename5(htmxDir), "pages");
171376
171389
  if (shouldCopyHtmx) {
171377
- mkdirSync5(outputHtmxPages, { recursive: true });
171390
+ mkdirSync6(outputHtmxPages, { recursive: true });
171378
171391
  cpSync(htmxPagesPath, outputHtmxPages, {
171379
171392
  force: true,
171380
171393
  recursive: true
@@ -171990,7 +172003,7 @@ var init_fileWatcher = __esm(() => {
171990
172003
 
171991
172004
  // src/dev/assetStore.ts
171992
172005
  import { resolve as resolve14 } from "path";
171993
- import { readdir, unlink } from "fs/promises";
172006
+ import { readdir as readdir2, unlink } from "fs/promises";
171994
172007
  var mimeTypes, getMimeType = (filePath) => {
171995
172008
  const ext = filePath.slice(filePath.lastIndexOf("."));
171996
172009
  return mimeTypes[ext] ?? "application/octet-stream";
@@ -172024,7 +172037,7 @@ var mimeTypes, getMimeType = (filePath) => {
172024
172037
  });
172025
172038
  try {
172026
172039
  const walkAndClean = async (dir) => {
172027
- const entries = await readdir(dir, { withFileTypes: true });
172040
+ const entries = await readdir2(dir, { withFileTypes: true });
172028
172041
  const tasks = entries.map((entry) => processWalkEntry(entry, dir, liveByIdentity, walkAndClean)).filter((task) => task !== null);
172029
172042
  await Promise.all(tasks);
172030
172043
  };
@@ -172073,7 +172086,7 @@ var mimeTypes, getMimeType = (filePath) => {
172073
172086
  }
172074
172087
  try {
172075
172088
  const scanDir = async (dir, prefix) => {
172076
- const entries = await readdir(dir, { withFileTypes: true });
172089
+ const entries = await readdir2(dir, { withFileTypes: true });
172077
172090
  const subTasks = entries.map((entry) => processScanEntry(entry, dir, prefix, store, scanDir)).filter((task) => task !== null);
172078
172091
  await Promise.all(subTasks);
172079
172092
  };
@@ -202020,9 +202033,10 @@ var handleHTMXUpdate = async (htmxFilePath) => {
202020
202033
  var init_simpleHTMXHMR = () => {};
202021
202034
 
202022
202035
  // src/dev/rebuildTrigger.ts
202023
- import { existsSync as existsSync13 } from "fs";
202036
+ import { existsSync as existsSync13, rmSync as rmSync2 } from "fs";
202024
202037
  import { rm as rm6 } from "fs/promises";
202025
202038
  import { basename as basename7, relative as relative6, resolve as resolve19 } from "path";
202039
+ var {build: bunBuild5 } = globalThis.Bun;
202026
202040
  var parseErrorLocationFromMessage = (msg) => {
202027
202041
  const pathLineCol = msg.match(/^([^\s:]+):(\d+)(?::(\d+))?/);
202028
202042
  if (pathLineCol) {
@@ -202253,7 +202267,7 @@ var parseErrorLocationFromMessage = (msg) => {
202253
202267
  });
202254
202268
  });
202255
202269
  return Array.from(resolvedPages);
202256
- }, computeClientRoot = async (resolvedPaths) => {
202270
+ }, computeClientRoot = (resolvedPaths) => {
202257
202271
  const clientRoots = [
202258
202272
  resolvedPaths.reactDir,
202259
202273
  resolvedPaths.svelteDir,
@@ -202261,8 +202275,7 @@ var parseErrorLocationFromMessage = (msg) => {
202261
202275
  resolvedPaths.vueDir,
202262
202276
  resolvedPaths.angularDir
202263
202277
  ].filter((dir) => Boolean(dir));
202264
- const { commonAncestor: commonAncestor2 } = await Promise.resolve().then(() => (init_commonAncestor(), exports_commonAncestor));
202265
- return clientRoots.length === 1 ? clientRoots[0] ?? process.cwd() : commonAncestor2(clientRoots, process.cwd());
202278
+ return clientRoots.length === 1 ? clientRoots[0] ?? process.cwd() : commonAncestor(clientRoots, process.cwd());
202266
202279
  }, updateServerManifestEntry = (state, artifact) => {
202267
202280
  const fileWithHash = basename7(artifact.path);
202268
202281
  const [baseName] = fileWithHash.split(`.${artifact.hash}.`);
@@ -202271,11 +202284,8 @@ var parseErrorLocationFromMessage = (msg) => {
202271
202284
  }
202272
202285
  state.manifest[toPascal(baseName)] = artifact.path;
202273
202286
  }, bundleAngularClient = async (state, clientPaths, buildDir) => {
202274
- const { build: bunBuild5 } = await Promise.resolve(globalThis.Bun);
202275
- const { generateManifest: generateManifest2 } = await Promise.resolve().then(() => (init_generateManifest(), exports_generateManifest));
202276
- const { getAngularVendorPaths: getAngularVendorPaths2 } = await Promise.resolve().then(() => exports_devVendorPaths);
202277
- const clientRoot = await computeClientRoot(state.resolvedPaths);
202278
- let angVendorPaths = getAngularVendorPaths2();
202287
+ const clientRoot = computeClientRoot(state.resolvedPaths);
202288
+ let angVendorPaths = getAngularVendorPaths();
202279
202289
  if (!angVendorPaths) {
202280
202290
  const { computeAngularVendorPaths: computeAngularVendorPaths2 } = await Promise.resolve().then(() => (init_buildAngularVendor(), exports_buildAngularVendor));
202281
202291
  const { setAngularVendorPaths: setAngularVendorPaths2 } = await Promise.resolve().then(() => exports_devVendorPaths);
@@ -202299,9 +202309,9 @@ var parseErrorLocationFromMessage = (msg) => {
202299
202309
  const { rewriteImports: rewriteImports2 } = await Promise.resolve().then(() => exports_rewriteImports);
202300
202310
  await rewriteImports2(clientResult.outputs.map((artifact) => artifact.path), angVendorPaths);
202301
202311
  }
202302
- const clientManifest = generateManifest2(clientResult.outputs, buildDir);
202312
+ const clientManifest = generateManifest(clientResult.outputs, buildDir);
202303
202313
  Object.assign(state.manifest, clientManifest);
202304
- await populateAssetStore(state.assetStore, clientManifest, buildDir);
202314
+ populateAssetStore(state.assetStore, clientManifest, buildDir);
202305
202315
  }, broadcastAngularPageUpdates = (state, pagesToUpdate, manifest, startTime) => {
202306
202316
  pagesToUpdate.forEach((angularPagePath) => {
202307
202317
  const fileName = basename7(angularPagePath);
@@ -202324,8 +202334,7 @@ var parseErrorLocationFromMessage = (msg) => {
202324
202334
  });
202325
202335
  });
202326
202336
  }, compileAndBundleAngular = async (state, pageEntries, angularDir) => {
202327
- const { compileAngular: compileAngular2 } = await Promise.resolve().then(() => (init_compileAngular(), exports_compileAngular));
202328
- const { clientPaths, serverPaths } = await compileAngular2(pageEntries, angularDir, true);
202337
+ const { clientPaths, serverPaths } = await compileAngular(pageEntries, angularDir, true);
202329
202338
  serverPaths.forEach((serverPath) => {
202330
202339
  const fileBase = basename7(serverPath, ".js");
202331
202340
  state.manifest[toPascal(fileBase)] = resolve19(serverPath);
@@ -202392,23 +202401,18 @@ var parseErrorLocationFromMessage = (msg) => {
202392
202401
  });
202393
202402
  return reactEntries;
202394
202403
  }, bundleReactClient = async (state, reactEntries, reactIndexesPath, buildDir) => {
202395
- const { build: bunBuild5 } = await Promise.resolve(globalThis.Bun);
202396
- const { generateManifest: generateManifest2 } = await Promise.resolve().then(() => (init_generateManifest(), exports_generateManifest));
202397
- const { getDevVendorPaths: getDevVendorPaths2 } = await Promise.resolve().then(() => exports_devVendorPaths);
202398
- const { rewriteReactImports: rewriteReactImports2 } = await Promise.resolve().then(() => exports_rewriteReactImports);
202399
- const clientRoot = await computeClientRoot(state.resolvedPaths);
202404
+ const clientRoot = computeClientRoot(state.resolvedPaths);
202400
202405
  const refreshEntry = resolve19(reactIndexesPath, "_refresh.tsx");
202401
202406
  if (!reactEntries.includes(refreshEntry)) {
202402
202407
  reactEntries.push(refreshEntry);
202403
202408
  }
202404
- let vendorPaths = getDevVendorPaths2();
202409
+ let vendorPaths = getDevVendorPaths();
202405
202410
  if (!vendorPaths) {
202406
202411
  const { computeVendorPaths: computeVendorPaths2 } = await Promise.resolve().then(() => (init_buildReactVendor(), exports_buildReactVendor));
202407
202412
  const { setDevVendorPaths: setDevVendorPaths2 } = await Promise.resolve().then(() => exports_devVendorPaths);
202408
202413
  vendorPaths = computeVendorPaths2();
202409
202414
  setDevVendorPaths2(vendorPaths);
202410
202415
  }
202411
- const { rmSync: rmSync2 } = await import("fs");
202412
202416
  rmSync2(resolve19(buildDir, "react", "indexes"), {
202413
202417
  force: true,
202414
202418
  recursive: true
@@ -202430,18 +202434,17 @@ var parseErrorLocationFromMessage = (msg) => {
202430
202434
  return;
202431
202435
  }
202432
202436
  if (vendorPaths) {
202433
- await rewriteReactImports2(clientResult.outputs.map((art) => art.path), vendorPaths);
202437
+ await rewriteReactImports(clientResult.outputs.map((art) => art.path), vendorPaths);
202434
202438
  }
202435
- const clientManifest = generateManifest2(clientResult.outputs, buildDir);
202439
+ const clientManifest = generateManifest(clientResult.outputs, buildDir);
202436
202440
  Object.assign(state.manifest, clientManifest);
202437
- await populateAssetStore(state.assetStore, clientManifest, buildDir);
202441
+ populateAssetStore(state.assetStore, clientManifest, buildDir);
202438
202442
  }, handleReactFastPath = async (state, config, filesToRebuild, startTime, onRebuildComplete) => {
202439
202443
  const reactDir = config.reactDirectory ?? "";
202440
202444
  const reactPagesPath = resolve19(reactDir, "pages");
202441
202445
  const reactIndexesPath = resolve19(reactDir, "indexes");
202442
202446
  const { buildDir } = state.resolvedPaths;
202443
- const { generateReactIndexFiles: generateReactIndexFiles2 } = await Promise.resolve().then(() => (init_generateReactIndexes(), exports_generateReactIndexes));
202444
- await generateReactIndexFiles2(reactPagesPath, reactIndexesPath, true);
202447
+ await generateReactIndexFiles(reactPagesPath, reactIndexesPath, true);
202445
202448
  const reactEntries = collectReactEntries(state, filesToRebuild, reactPagesPath, reactIndexesPath);
202446
202449
  if (reactEntries.length > 0) {
202447
202450
  await bundleReactClient(state, reactEntries, reactIndexesPath, buildDir);
@@ -202473,23 +202476,20 @@ var parseErrorLocationFromMessage = (msg) => {
202473
202476
  serverResult.outputs.forEach((artifact) => {
202474
202477
  updateServerManifestEntry(state, artifact);
202475
202478
  });
202476
- }, handleClientManifestUpdate = async (state, clientResult, buildDir) => {
202479
+ }, handleClientManifestUpdate = (state, clientResult, buildDir) => {
202477
202480
  if (!clientResult?.success) {
202478
202481
  return;
202479
202482
  }
202480
- const { generateManifest: generateManifest2 } = await Promise.resolve().then(() => (init_generateManifest(), exports_generateManifest));
202481
- const clientManifest = generateManifest2(clientResult.outputs, buildDir);
202483
+ const clientManifest = generateManifest(clientResult.outputs, buildDir);
202482
202484
  Object.assign(state.manifest, clientManifest);
202483
- await populateAssetStore(state.assetStore, clientManifest, buildDir);
202485
+ populateAssetStore(state.assetStore, clientManifest, buildDir);
202484
202486
  }, handleSvelteFastPath = async (state, config, filesToRebuild, startTime, onRebuildComplete) => {
202485
202487
  const svelteDir = config.svelteDirectory ?? "";
202486
202488
  const { buildDir } = state.resolvedPaths;
202487
202489
  const svelteFiles = filesToRebuild.filter((file4) => file4.endsWith(".svelte") && resolve19(file4).startsWith(resolve19(svelteDir, "pages")));
202488
202490
  if (svelteFiles.length > 0) {
202489
- const { compileSvelte: compileSvelte2 } = await Promise.resolve().then(() => (init_compileSvelte(), exports_compileSvelte));
202490
- const { build: bunBuild5 } = await Promise.resolve(globalThis.Bun);
202491
- const clientRoot = await computeClientRoot(state.resolvedPaths);
202492
- const { svelteServerPaths, svelteIndexPaths, svelteClientPaths } = await compileSvelte2(svelteFiles, svelteDir, new Map, true);
202491
+ const clientRoot = computeClientRoot(state.resolvedPaths);
202492
+ const { svelteServerPaths, svelteIndexPaths, svelteClientPaths } = await compileSvelte(svelteFiles, svelteDir, new Map, true);
202493
202493
  const serverEntries = [...svelteServerPaths];
202494
202494
  const clientEntries = [...svelteIndexPaths, ...svelteClientPaths];
202495
202495
  const serverRoot = resolve19(svelteDir, "server");
@@ -202516,22 +202516,8 @@ var parseErrorLocationFromMessage = (msg) => {
202516
202516
  }) : undefined
202517
202517
  ]);
202518
202518
  handleServerManifestUpdate(state, serverResult);
202519
- await handleClientManifestUpdate(state, clientResult, buildDir);
202519
+ handleClientManifestUpdate(state, clientResult, buildDir);
202520
202520
  }
202521
- await Promise.all([
202522
- rm6(resolve19(svelteDir, "client"), {
202523
- force: true,
202524
- recursive: true
202525
- }),
202526
- rm6(resolve19(svelteDir, "indexes"), {
202527
- force: true,
202528
- recursive: true
202529
- }),
202530
- rm6(resolve19(svelteDir, "server"), {
202531
- force: true,
202532
- recursive: true
202533
- })
202534
- ]);
202535
202521
  const { manifest } = state;
202536
202522
  const duration = Date.now() - startTime;
202537
202523
  const sveltePageFiles = svelteFiles.length > 0 ? svelteFiles : filesToRebuild;
@@ -202556,16 +202542,28 @@ var parseErrorLocationFromMessage = (msg) => {
202556
202542
  });
202557
202543
  });
202558
202544
  onRebuildComplete({ hmrState: state, manifest });
202545
+ Promise.all([
202546
+ rm6(resolve19(svelteDir, "client"), {
202547
+ force: true,
202548
+ recursive: true
202549
+ }),
202550
+ rm6(resolve19(svelteDir, "indexes"), {
202551
+ force: true,
202552
+ recursive: true
202553
+ }),
202554
+ rm6(resolve19(svelteDir, "server"), {
202555
+ force: true,
202556
+ recursive: true
202557
+ })
202558
+ ]);
202559
202559
  return manifest;
202560
202560
  }, handleVueFastPath = async (state, config, filesToRebuild, startTime, onRebuildComplete) => {
202561
202561
  const vueDir = config.vueDirectory ?? "";
202562
202562
  const { buildDir } = state.resolvedPaths;
202563
202563
  const vueFiles = filesToRebuild.filter((file4) => file4.endsWith(".vue") && resolve19(file4).startsWith(resolve19(vueDir, "pages")));
202564
202564
  if (vueFiles.length > 0) {
202565
- const { compileVue: compileVue2 } = await Promise.resolve().then(() => (init_compileVue(), exports_compileVue));
202566
- const { build: bunBuild5 } = await Promise.resolve(globalThis.Bun);
202567
- const clientRoot = await computeClientRoot(state.resolvedPaths);
202568
- const { vueServerPaths, vueIndexPaths, vueClientPaths } = await compileVue2(vueFiles, vueDir, true);
202565
+ const clientRoot = computeClientRoot(state.resolvedPaths);
202566
+ const { vueServerPaths, vueIndexPaths, vueClientPaths } = await compileVue(vueFiles, vueDir, true);
202569
202567
  const serverEntries = [...vueServerPaths];
202570
202568
  const clientEntries = [...vueIndexPaths, ...vueClientPaths];
202571
202569
  const serverRoot = resolve19(vueDir, "server");
@@ -202598,26 +202596,8 @@ var parseErrorLocationFromMessage = (msg) => {
202598
202596
  }) : undefined
202599
202597
  ]);
202600
202598
  handleServerManifestUpdate(state, serverResult);
202601
- await handleClientManifestUpdate(state, clientResult, buildDir);
202599
+ handleClientManifestUpdate(state, clientResult, buildDir);
202602
202600
  }
202603
- await Promise.all([
202604
- rm6(resolve19(vueDir, "client"), {
202605
- force: true,
202606
- recursive: true
202607
- }),
202608
- rm6(resolve19(vueDir, "indexes"), {
202609
- force: true,
202610
- recursive: true
202611
- }),
202612
- rm6(resolve19(vueDir, "server"), {
202613
- force: true,
202614
- recursive: true
202615
- }),
202616
- rm6(resolve19(vueDir, "compiled"), {
202617
- force: true,
202618
- recursive: true
202619
- })
202620
- ]);
202621
202601
  const { manifest } = state;
202622
202602
  const duration = Date.now() - startTime;
202623
202603
  const vuePageFiles = vueFiles.length > 0 ? vueFiles : filesToRebuild;
@@ -202646,6 +202626,24 @@ var parseErrorLocationFromMessage = (msg) => {
202646
202626
  });
202647
202627
  });
202648
202628
  onRebuildComplete({ hmrState: state, manifest });
202629
+ Promise.all([
202630
+ rm6(resolve19(vueDir, "client"), {
202631
+ force: true,
202632
+ recursive: true
202633
+ }),
202634
+ rm6(resolve19(vueDir, "indexes"), {
202635
+ force: true,
202636
+ recursive: true
202637
+ }),
202638
+ rm6(resolve19(vueDir, "server"), {
202639
+ force: true,
202640
+ recursive: true
202641
+ }),
202642
+ rm6(resolve19(vueDir, "compiled"), {
202643
+ force: true,
202644
+ recursive: true
202645
+ })
202646
+ ]);
202649
202647
  return manifest;
202650
202648
  }, isFrameworkOnlyChange = (affectedFrameworks, frameworkName, frameworkDir, state, filesToRebuild) => affectedFrameworks.length === 1 && affectedFrameworks[0] === frameworkName && frameworkDir && Object.keys(state.manifest).length > 0 && filesToRebuild && filesToRebuild.length > 0 && !filesToRebuild.some((file4) => file4.endsWith(".css")), collectModuleUpdatesForFramework = (framework, filesToRebuild, manifest, state) => {
202651
202649
  const frameworkFiles = filesToRebuild.filter((file4) => detectFramework(file4, state.resolvedPaths) === framework);
@@ -203194,8 +203192,6 @@ var parseErrorLocationFromMessage = (msg) => {
203194
203192
  fileCount: filesToRebuild?.length ?? 0,
203195
203193
  framework: affectedFrameworks[0] ?? "unknown"
203196
203194
  });
203197
- await populateAssetStore(state.assetStore, manifest, state.resolvedPaths.buildDir);
203198
- cleanStaleAssets(state.assetStore, manifest, state.resolvedPaths.buildDir);
203199
203195
  broadcastToClients(state, {
203200
203196
  data: {
203201
203197
  affectedFrameworks,
@@ -203204,6 +203200,8 @@ var parseErrorLocationFromMessage = (msg) => {
203204
203200
  message: "Rebuild completed successfully",
203205
203201
  type: "rebuild-complete"
203206
203202
  });
203203
+ populateAssetStore(state.assetStore, manifest, state.resolvedPaths.buildDir);
203204
+ cleanStaleAssets(state.assetStore, manifest, state.resolvedPaths.buildDir);
203207
203205
  if (filesToRebuild && filesToRebuild.length > 0) {
203208
203206
  await handleFullBuildHMR(state, config, affectedFrameworks, filesToRebuild, manifest, duration);
203209
203207
  }
@@ -203281,6 +203279,12 @@ var init_rebuildTrigger = __esm(() => {
203281
203279
  init_pathUtils();
203282
203280
  init_webSocket();
203283
203281
  init_pageHandler();
203282
+ init_generateManifest();
203283
+ init_generateReactIndexes();
203284
+ init_compileSvelte();
203285
+ init_compileVue();
203286
+ init_compileAngular();
203287
+ init_commonAncestor();
203284
203288
  });
203285
203289
 
203286
203290
  // src/core/devBuild.ts
@@ -203288,7 +203292,7 @@ var exports_devBuild = {};
203288
203292
  __export(exports_devBuild, {
203289
203293
  devBuild: () => devBuild
203290
203294
  });
203291
- import { readdir as readdir2 } from "fs/promises";
203295
+ import { readdir as readdir3 } from "fs/promises";
203292
203296
  import { statSync } from "fs";
203293
203297
  import { resolve as resolve20 } from "path";
203294
203298
  var FRAMEWORK_DIR_KEYS, parseDirectoryConfig = (source) => {
@@ -203415,7 +203419,7 @@ var FRAMEWORK_DIR_KEYS, parseDirectoryConfig = (source) => {
203415
203419
  }
203416
203420
  }, loadVendorFiles = async (assetStore, vendorDir, framework) => {
203417
203421
  const emptyStringArray = [];
203418
- const entries = await readdir2(vendorDir).catch(() => emptyStringArray);
203422
+ const entries = await readdir3(vendorDir).catch(() => emptyStringArray);
203419
203423
  for (const entry of entries) {
203420
203424
  const webPath = `/${framework}/vendor/${entry}`;
203421
203425
  const bytes = await Bun.file(resolve20(vendorDir, entry)).bytes();
@@ -203451,19 +203455,20 @@ var FRAMEWORK_DIR_KEYS, parseDirectoryConfig = (source) => {
203451
203455
  }
203452
203456
  await populateAssetStore(state.assetStore, manifest ?? {}, state.resolvedPaths.buildDir);
203453
203457
  await cleanStaleAssets(state.assetStore, manifest ?? {}, state.resolvedPaths.buildDir);
203454
- if (config.reactDirectory) {
203455
- await buildReactVendor(state.resolvedPaths.buildDir);
203458
+ const buildReactVendorTask = config.reactDirectory ? buildReactVendor(state.resolvedPaths.buildDir).then(async () => {
203456
203459
  const vendorDir = resolve20(state.resolvedPaths.buildDir, "react", "vendor");
203457
203460
  await loadVendorFiles(state.assetStore, vendorDir, "react");
203458
- }
203459
- if (config.reactDirectory && !globalThis.__reactModuleRef) {
203460
- globalThis.__reactModuleRef = await import("react");
203461
- }
203462
- if (config.angularDirectory) {
203463
- await buildAngularVendor(state.resolvedPaths.buildDir);
203461
+ if (!globalThis.__reactModuleRef) {
203462
+ globalThis.__reactModuleRef = await import("react");
203463
+ }
203464
+ return true;
203465
+ }) : undefined;
203466
+ const buildAngularVendorTask = config.angularDirectory ? buildAngularVendor(state.resolvedPaths.buildDir).then(async () => {
203464
203467
  const vendorDir = resolve20(state.resolvedPaths.buildDir, "angular", "vendor");
203465
203468
  await loadVendorFiles(state.assetStore, vendorDir, "angular");
203466
- }
203469
+ return true;
203470
+ }) : undefined;
203471
+ await Promise.all([buildReactVendorTask, buildAngularVendorTask]);
203467
203472
  state.manifest = manifest;
203468
203473
  startFileWatching(state, config, (filePath) => {
203469
203474
  queueFileChange(state, filePath, config, (newBuildResult) => {
@@ -203628,7 +203633,7 @@ var handleReactPageRequest = async (PageComponent, index, ...props) => {
203628
203633
  const element = maybeProps !== undefined ? createElement(PageComponent, maybeProps) : createElement(PageComponent);
203629
203634
  const propsScript = maybeProps ? `window.__INITIAL_PROPS__=${JSON.stringify(maybeProps)}` : "";
203630
203635
  const stream = await renderToReadableStream(element, {
203631
- bootstrapModules: [index],
203636
+ bootstrapScripts: [index],
203632
203637
  bootstrapScriptContent: propsScript || undefined,
203633
203638
  onError(error) {
203634
203639
  console.error("[SSR] React streaming error:", error);
@@ -203844,5 +203849,5 @@ export {
203844
203849
  ANGULAR_INIT_TIMEOUT_MS
203845
203850
  };
203846
203851
 
203847
- //# debugId=1CDFAA8422F6003B64756E2164756E21
203852
+ //# debugId=B8E508EE21635DF164756E2164756E21
203848
203853
  //# sourceMappingURL=index.js.map