@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/build.js CHANGED
@@ -66,10 +66,6 @@ var normalizeSlug = (str) => str.trim().replace(/\s+/g, "-").replace(/[^A-Za-z0-
66
66
  }, toScreamingSnake = (str) => str.replace(/([a-z0-9])([A-Z])/g, "$1_$2").toUpperCase();
67
67
 
68
68
  // src/build/generateManifest.ts
69
- var exports_generateManifest = {};
70
- __export(exports_generateManifest, {
71
- generateManifest: () => generateManifest
72
- });
73
69
  import { extname } from "path";
74
70
  var getManifestKey = (folder, pascalName, isClientComponent, isReact, isVue, isSvelte, isAngular) => {
75
71
  if (folder === "indexes")
@@ -117,27 +113,39 @@ var init_generateManifest = __esm(() => {
117
113
  });
118
114
 
119
115
  // src/build/generateReactIndexes.ts
120
- var exports_generateReactIndexes = {};
121
- __export(exports_generateReactIndexes, {
122
- generateReactIndexFiles: () => generateReactIndexFiles
123
- });
124
- import { existsSync } from "fs";
125
- import { mkdir, rm, writeFile } from "fs/promises";
116
+ import { existsSync, mkdirSync } from "fs";
117
+ import { readdir, rm, writeFile } from "fs/promises";
126
118
  import { basename, join, resolve } from "path";
127
119
  var {Glob } = globalThis.Bun;
128
- var resolveDevClientDir = () => {
120
+ var indexContentCache, resolveDevClientDir = () => {
129
121
  const fromSource = resolve(import.meta.dir, "../dev/client");
130
122
  if (existsSync(fromSource))
131
123
  return fromSource;
132
124
  return resolve(import.meta.dir, "./dev/client");
133
125
  }, devClientDir, errorOverlayPath, hmrClientPath, refreshSetupPath, generateReactIndexFiles = async (reactPagesDirectory, reactIndexesDirectory, isDev = false) => {
134
- await rm(reactIndexesDirectory, { force: true, recursive: true });
135
- await mkdir(reactIndexesDirectory);
126
+ if (!existsSync(reactIndexesDirectory)) {
127
+ mkdirSync(reactIndexesDirectory, { recursive: true });
128
+ }
136
129
  const pagesGlob = new Glob("*.*");
137
130
  const files = [];
138
131
  for await (const file of pagesGlob.scan({ cwd: reactPagesDirectory })) {
139
132
  files.push(file);
140
133
  }
134
+ const currentPageNames = new Set(files.map((file) => basename(file).split(".")[0]));
135
+ const emptyStringArray = [];
136
+ const existingIndexes = await readdir(reactIndexesDirectory).catch(() => emptyStringArray);
137
+ const staleIndexes = existingIndexes.filter((indexFile) => {
138
+ const indexName = indexFile.replace(/\.tsx$/, "");
139
+ return indexName !== "_refresh" && !currentPageNames.has(indexName);
140
+ });
141
+ if (staleIndexes.length > 0) {
142
+ await Promise.all(staleIndexes.map((indexFile) => {
143
+ indexContentCache.delete(join(reactIndexesDirectory, indexFile));
144
+ return rm(join(reactIndexesDirectory, indexFile), {
145
+ force: true
146
+ });
147
+ }));
148
+ }
141
149
  const promises = files.map(async (file) => {
142
150
  const fileName = basename(file);
143
151
  const [componentName] = fileName.split(".");
@@ -399,17 +407,30 @@ var resolveDevClientDir = () => {
399
407
  `}`
400
408
  ].join(`
401
409
  `);
402
- return writeFile(join(reactIndexesDirectory, `${componentName}.tsx`), content);
410
+ const indexPath = join(reactIndexesDirectory, `${componentName}.tsx`);
411
+ const hasher = new Bun.CryptoHasher("md5");
412
+ hasher.update(content);
413
+ const contentHash = hasher.digest("hex");
414
+ if (indexContentCache.get(indexPath) === contentHash) {
415
+ return;
416
+ }
417
+ indexContentCache.set(indexPath, contentHash);
418
+ await writeFile(indexPath, content);
403
419
  });
404
420
  await Promise.all(promises);
405
- if (isDev) {
406
- await writeFile(join(reactIndexesDirectory, "_refresh.tsx"), `import '${refreshSetupPath}';
421
+ if (!isDev) {
422
+ return;
423
+ }
424
+ const refreshPath = join(reactIndexesDirectory, "_refresh.tsx");
425
+ if (!existsSync(refreshPath)) {
426
+ await writeFile(refreshPath, `import '${refreshSetupPath}';
407
427
  import 'react';
408
428
  import 'react-dom/client';
409
429
  `);
410
430
  }
411
431
  };
412
432
  var init_generateReactIndexes = __esm(() => {
433
+ indexContentCache = new Map;
413
434
  devClientDir = resolveDevClientDir();
414
435
  errorOverlayPath = join(devClientDir, "errorOverlay.ts").replace(/\\/g, "/");
415
436
  hmrClientPath = join(devClientDir, "hmrClient.ts").replace(/\\/g, "/");
@@ -512,7 +533,7 @@ var scanCssEntryPoints = async (dir, ignore) => {
512
533
  var init_scanCssEntryPoints = () => {};
513
534
 
514
535
  // src/cli/scripts/telemetry.ts
515
- import { existsSync as existsSync4, mkdirSync, readFileSync, writeFileSync } from "fs";
536
+ import { existsSync as existsSync4, mkdirSync as mkdirSync2, readFileSync, writeFileSync } from "fs";
516
537
  import { homedir } from "os";
517
538
  import { join as join2 } from "path";
518
539
  var configDir, configPath, getTelemetryConfig = () => {
@@ -672,10 +693,6 @@ var init_buildHMRClient = __esm(() => {
672
693
  });
673
694
 
674
695
  // src/build/rewriteReactImports.ts
675
- var exports_rewriteReactImports = {};
676
- __export(exports_rewriteReactImports, {
677
- rewriteReactImports: () => rewriteReactImports
678
- });
679
696
  var escapeRegex = (str) => str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), applyAllReplacements = (content, replacements) => {
680
697
  let result = content;
681
698
  for (const [specifier, webPath] of replacements) {
@@ -717,7 +734,7 @@ var devVendorPaths = null, getDevVendorPaths = () => devVendorPaths, setDevVendo
717
734
  };
718
735
 
719
736
  // src/build/angularLinkerPlugin.ts
720
- import { existsSync as existsSync7, mkdirSync as mkdirSync2, readFileSync as readFileSync3, writeFileSync as writeFileSync2 } from "fs";
737
+ import { existsSync as existsSync7, mkdirSync as mkdirSync3, readFileSync as readFileSync3, writeFileSync as writeFileSync2 } from "fs";
721
738
  import { dirname as dirname2, join as join4, relative, resolve as resolve3 } from "path";
722
739
  import { createHash } from "crypto";
723
740
  var CACHE_DIR, angularLinkerPlugin;
@@ -786,7 +803,7 @@ var init_angularLinkerPlugin = __esm(() => {
786
803
  sourceMaps: false
787
804
  });
788
805
  const linked = result?.code ?? source;
789
- mkdirSync2(CACHE_DIR, { recursive: true });
806
+ mkdirSync3(CACHE_DIR, { recursive: true });
790
807
  writeFileSync2(cachePath, linked, "utf-8");
791
808
  return { contents: linked, loader: "js" };
792
809
  });
@@ -874,10 +891,6 @@ var cleanup = async ({
874
891
  var init_cleanup = () => {};
875
892
 
876
893
  // src/utils/commonAncestor.ts
877
- var exports_commonAncestor = {};
878
- __export(exports_commonAncestor, {
879
- commonAncestor: () => commonAncestor
880
- });
881
894
  var commonAncestor = (paths, fallback) => {
882
895
  if (paths.length === 0)
883
896
  return fallback;
@@ -1042,7 +1055,7 @@ __export(exports_compileSvelte, {
1042
1055
  compileSvelte: () => compileSvelte
1043
1056
  });
1044
1057
  import { existsSync as existsSync8 } from "fs";
1045
- import { mkdir as mkdir2, stat } from "fs/promises";
1058
+ import { mkdir, stat } from "fs/promises";
1046
1059
  import {
1047
1060
  dirname as dirname3,
1048
1061
  join as join6,
@@ -1092,7 +1105,7 @@ var resolveDevClientDir2 = () => {
1092
1105
  const clientDir = join6(svelteRoot, "client");
1093
1106
  const indexDir = join6(svelteRoot, "indexes");
1094
1107
  const serverDir = join6(svelteRoot, "server");
1095
- await Promise.all([clientDir, indexDir, serverDir].map((dir) => mkdir2(dir, { recursive: true })));
1108
+ await Promise.all([clientDir, indexDir, serverDir].map((dir) => mkdir(dir, { recursive: true })));
1096
1109
  const dev = env.NODE_ENV !== "production";
1097
1110
  const build = async (src) => {
1098
1111
  const memoized = cache.get(src);
@@ -1120,8 +1133,8 @@ var resolveDevClientDir2 = () => {
1120
1133
  const ssrPath = join6(serverDir, relDir, `${baseName}.js`);
1121
1134
  const clientPath = join6(clientDir, relDir, `${baseName}.js`);
1122
1135
  await Promise.all([
1123
- mkdir2(dirname3(ssrPath), { recursive: true }),
1124
- mkdir2(dirname3(clientPath), { recursive: true })
1136
+ mkdir(dirname3(ssrPath), { recursive: true }),
1137
+ mkdir(dirname3(clientPath), { recursive: true })
1125
1138
  ]);
1126
1139
  if (isModule) {
1127
1140
  const bundle = generate("client");
@@ -1180,7 +1193,7 @@ if (typeof window !== "undefined") {
1180
1193
  window.__SVELTE_COMPONENT__ = component;
1181
1194
  window.__SVELTE_UNMOUNT__ = function() { unmount(component); };
1182
1195
  }`;
1183
- await mkdir2(dirname3(indexPath), { recursive: true });
1196
+ await mkdir(dirname3(indexPath), { recursive: true });
1184
1197
  return write(indexPath, bootstrap);
1185
1198
  }));
1186
1199
  return {
@@ -1208,7 +1221,7 @@ __export(exports_compileVue, {
1208
1221
  clearVueHmrCaches: () => clearVueHmrCaches
1209
1222
  });
1210
1223
  import { existsSync as existsSync9 } from "fs";
1211
- import { mkdir as mkdir3 } from "fs/promises";
1224
+ import { mkdir as mkdir2 } from "fs/promises";
1212
1225
  import { basename as basename3, dirname as dirname4, join as join7, relative as relative4, resolve as resolve7 } from "path";
1213
1226
  var {file: file2, write: write2, Transpiler: Transpiler2 } = globalThis.Bun;
1214
1227
  var resolveDevClientDir3 = () => {
@@ -1327,7 +1340,7 @@ var resolveDevClientDir3 = () => {
1327
1340
  let cssOutputPaths = [];
1328
1341
  if (isEntryPoint && allCss.length) {
1329
1342
  const cssOutputFile = join7(outputDirs.css, `${toKebab(fileBaseName)}-compiled.css`);
1330
- await mkdir3(dirname4(cssOutputFile), { recursive: true });
1343
+ await mkdir2(dirname4(cssOutputFile), { recursive: true });
1331
1344
  await write2(cssOutputFile, allCss.join(`
1332
1345
  `));
1333
1346
  cssOutputPaths = [cssOutputFile];
@@ -1359,8 +1372,8 @@ if (typeof __VUE_HMR_RUNTIME__ !== 'undefined') {
1359
1372
  const serverCode = assembleModule(generateRenderFunction(true), "ssrRender", false);
1360
1373
  const clientOutputPath = join7(outputDirs.client, `${relativeWithoutExtension}.js`);
1361
1374
  const serverOutputPath = join7(outputDirs.server, `${relativeWithoutExtension}.js`);
1362
- await mkdir3(dirname4(clientOutputPath), { recursive: true });
1363
- await mkdir3(dirname4(serverOutputPath), { recursive: true });
1375
+ await mkdir2(dirname4(clientOutputPath), { recursive: true });
1376
+ await mkdir2(dirname4(serverOutputPath), { recursive: true });
1364
1377
  await write2(clientOutputPath, clientCode);
1365
1378
  await write2(serverOutputPath, serverCode);
1366
1379
  const result = {
@@ -1383,10 +1396,10 @@ if (typeof __VUE_HMR_RUNTIME__ !== 'undefined') {
1383
1396
  const serverOutputDir = join7(vueRootDir, "server");
1384
1397
  const cssOutputDir = join7(vueRootDir, "compiled");
1385
1398
  await Promise.all([
1386
- mkdir3(clientOutputDir, { recursive: true }),
1387
- mkdir3(indexOutputDir, { recursive: true }),
1388
- mkdir3(serverOutputDir, { recursive: true }),
1389
- mkdir3(cssOutputDir, { recursive: true })
1399
+ mkdir2(clientOutputDir, { recursive: true }),
1400
+ mkdir2(indexOutputDir, { recursive: true }),
1401
+ mkdir2(serverOutputDir, { recursive: true }),
1402
+ mkdir2(cssOutputDir, { recursive: true })
1390
1403
  ]);
1391
1404
  const buildCache = new Map;
1392
1405
  const allTsHelperPaths = new Set;
@@ -1400,7 +1413,7 @@ if (typeof __VUE_HMR_RUNTIME__ !== 'undefined') {
1400
1413
  const entryBaseName = basename3(entryPath, ".vue");
1401
1414
  const indexOutputFile = join7(indexOutputDir, `${entryBaseName}.js`);
1402
1415
  const clientOutputFile = join7(clientOutputDir, relative4(vueRootDir, entryPath).replace(/\\/g, "/").replace(/\.vue$/, ".js"));
1403
- await mkdir3(dirname4(indexOutputFile), { recursive: true });
1416
+ await mkdir2(dirname4(indexOutputFile), { recursive: true });
1404
1417
  const vueHmrImports = isDev ? [
1405
1418
  `window.__HMR_FRAMEWORK__ = "vue";`,
1406
1419
  `import "${hmrClientPath4}";`
@@ -1510,8 +1523,8 @@ if (typeof __VUE_HMR_RUNTIME__ !== 'undefined') {
1510
1523
  const relativeJsPath = relative4(vueRootDir, tsPath).replace(/\.ts$/, ".js");
1511
1524
  const outClientPath = join7(clientOutputDir, relativeJsPath);
1512
1525
  const outServerPath = join7(serverOutputDir, relativeJsPath);
1513
- await mkdir3(dirname4(outClientPath), { recursive: true });
1514
- await mkdir3(dirname4(outServerPath), { recursive: true });
1526
+ await mkdir2(dirname4(outClientPath), { recursive: true });
1527
+ await mkdir2(dirname4(outServerPath), { recursive: true });
1515
1528
  await write2(outClientPath, transpiledCode);
1516
1529
  await write2(outServerPath, transpiledCode);
1517
1530
  }));
@@ -170659,7 +170672,7 @@ __export(exports_buildReactVendor, {
170659
170672
  computeVendorPaths: () => computeVendorPaths,
170660
170673
  buildReactVendor: () => buildReactVendor
170661
170674
  });
170662
- import { mkdirSync as mkdirSync3 } from "fs";
170675
+ import { mkdirSync as mkdirSync4 } from "fs";
170663
170676
  import { join as join9 } from "path";
170664
170677
  import { rm as rm4 } from "fs/promises";
170665
170678
  var {build: bunBuild2 } = globalThis.Bun;
@@ -170684,9 +170697,9 @@ var reactSpecifiers, toSafeFileName = (specifier) => specifier.replace(/\//g, "_
170684
170697
  `;
170685
170698
  }, buildReactVendor = async (buildDir) => {
170686
170699
  const vendorDir = join9(buildDir, "react", "vendor");
170687
- mkdirSync3(vendorDir, { recursive: true });
170700
+ mkdirSync4(vendorDir, { recursive: true });
170688
170701
  const tmpDir = join9(buildDir, "_vendor_tmp");
170689
- mkdirSync3(tmpDir, { recursive: true });
170702
+ mkdirSync4(tmpDir, { recursive: true });
170690
170703
  const entrypoints = await Promise.all(reactSpecifiers.map(async (specifier) => {
170691
170704
  const safeName = toSafeFileName(specifier);
170692
170705
  const entryPath = join9(tmpDir, `${safeName}.ts`);
@@ -170725,15 +170738,15 @@ __export(exports_buildAngularVendor, {
170725
170738
  computeAngularVendorPaths: () => computeAngularVendorPaths,
170726
170739
  buildAngularVendor: () => buildAngularVendor
170727
170740
  });
170728
- import { mkdirSync as mkdirSync4 } from "fs";
170741
+ import { mkdirSync as mkdirSync5 } from "fs";
170729
170742
  import { join as join10 } from "path";
170730
170743
  import { rm as rm5 } from "fs/promises";
170731
170744
  var {build: bunBuild3 } = globalThis.Bun;
170732
170745
  var angularSpecifiers, toSafeFileName2 = (specifier) => specifier.replace(/^@/, "").replace(/\//g, "_"), buildAngularVendor = async (buildDir) => {
170733
170746
  const vendorDir = join10(buildDir, "angular", "vendor");
170734
- mkdirSync4(vendorDir, { recursive: true });
170747
+ mkdirSync5(vendorDir, { recursive: true });
170735
170748
  const tmpDir = join10(buildDir, "_angular_vendor_tmp");
170736
- mkdirSync4(tmpDir, { recursive: true });
170749
+ mkdirSync5(tmpDir, { recursive: true });
170737
170750
  const entrypoints = await Promise.all(angularSpecifiers.map(async (specifier) => {
170738
170751
  const safeName = toSafeFileName2(specifier);
170739
170752
  const entryPath = join10(tmpDir, `${safeName}.ts`);
@@ -170807,7 +170820,7 @@ var escapeRegex2 = (str) => str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), applyRep
170807
170820
  import {
170808
170821
  copyFileSync,
170809
170822
  cpSync,
170810
- mkdirSync as mkdirSync5,
170823
+ mkdirSync as mkdirSync6,
170811
170824
  readFileSync as readFileSync5,
170812
170825
  rmSync,
170813
170826
  writeFileSync as writeFileSync3
@@ -170834,7 +170847,7 @@ var isDev, extractBuildError = (logs, pass, label, frameworkNames, isIncremental
170834
170847
  throw err;
170835
170848
  exit(1);
170836
170849
  }, copyHtmxVendor = (htmxDir, htmxDestDir) => {
170837
- mkdirSync5(htmxDestDir, { recursive: true });
170850
+ mkdirSync6(htmxDestDir, { recursive: true });
170838
170851
  const glob = new Glob5("htmx*.min.js");
170839
170852
  for (const relPath of glob.scanSync({ cwd: htmxDir })) {
170840
170853
  const src = join11(htmxDir, relPath);
@@ -170955,7 +170968,7 @@ var isDev, extractBuildError = (logs, pass, label, frameworkNames, isIncremental
170955
170968
  serverOutDir = buildPath;
170956
170969
  }
170957
170970
  const publicPath = publicDirectory && validateSafePath(publicDirectory, projectRoot);
170958
- mkdirSync5(buildPath, { recursive: true });
170971
+ mkdirSync6(buildPath, { recursive: true });
170959
170972
  if (publicPath)
170960
170973
  cpSync(publicPath, buildPath, { force: true, recursive: true });
170961
170974
  const filterToIncrementalEntries = (entryPoints, mapToSource) => {
@@ -171275,7 +171288,7 @@ var isDev, extractBuildError = (logs, pass, label, frameworkNames, isIncremental
171275
171288
  return;
171276
171289
  const outputHtmlPages = isSingle ? join11(buildPath, "pages") : join11(buildPath, basename5(htmlDir), "pages");
171277
171290
  if (shouldCopyHtml) {
171278
- mkdirSync5(outputHtmlPages, { recursive: true });
171291
+ mkdirSync6(outputHtmlPages, { recursive: true });
171279
171292
  cpSync(htmlPagesPath, outputHtmlPages, {
171280
171293
  force: true,
171281
171294
  recursive: true
@@ -171297,7 +171310,7 @@ var isDev, extractBuildError = (logs, pass, label, frameworkNames, isIncremental
171297
171310
  return;
171298
171311
  const outputHtmxPages = isSingle ? join11(buildPath, "pages") : join11(buildPath, basename5(htmxDir), "pages");
171299
171312
  if (shouldCopyHtmx) {
171300
- mkdirSync5(outputHtmxPages, { recursive: true });
171313
+ mkdirSync6(outputHtmxPages, { recursive: true });
171301
171314
  cpSync(htmxPagesPath, outputHtmxPages, {
171302
171315
  force: true,
171303
171316
  recursive: true
@@ -171913,7 +171926,7 @@ var init_fileWatcher = __esm(() => {
171913
171926
 
171914
171927
  // src/dev/assetStore.ts
171915
171928
  import { resolve as resolve13 } from "path";
171916
- import { readdir, unlink } from "fs/promises";
171929
+ import { readdir as readdir2, unlink } from "fs/promises";
171917
171930
  var mimeTypes, getMimeType = (filePath) => {
171918
171931
  const ext = filePath.slice(filePath.lastIndexOf("."));
171919
171932
  return mimeTypes[ext] ?? "application/octet-stream";
@@ -171947,7 +171960,7 @@ var mimeTypes, getMimeType = (filePath) => {
171947
171960
  });
171948
171961
  try {
171949
171962
  const walkAndClean = async (dir) => {
171950
- const entries = await readdir(dir, { withFileTypes: true });
171963
+ const entries = await readdir2(dir, { withFileTypes: true });
171951
171964
  const tasks = entries.map((entry) => processWalkEntry(entry, dir, liveByIdentity, walkAndClean)).filter((task) => task !== null);
171952
171965
  await Promise.all(tasks);
171953
171966
  };
@@ -171996,7 +172009,7 @@ var mimeTypes, getMimeType = (filePath) => {
171996
172009
  }
171997
172010
  try {
171998
172011
  const scanDir = async (dir, prefix) => {
171999
- const entries = await readdir(dir, { withFileTypes: true });
172012
+ const entries = await readdir2(dir, { withFileTypes: true });
172000
172013
  const subTasks = entries.map((entry) => processScanEntry(entry, dir, prefix, store, scanDir)).filter((task) => task !== null);
172001
172014
  await Promise.all(subTasks);
172002
172015
  };
@@ -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 resolve18 } 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)] = resolve18(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 = resolve18(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(resolve18(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 = resolve18(reactDir, "pages");
202441
202445
  const reactIndexesPath = resolve18(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((file3) => file3.endsWith(".svelte") && resolve18(file3).startsWith(resolve18(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 = resolve18(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(resolve18(svelteDir, "client"), {
202523
- force: true,
202524
- recursive: true
202525
- }),
202526
- rm6(resolve18(svelteDir, "indexes"), {
202527
- force: true,
202528
- recursive: true
202529
- }),
202530
- rm6(resolve18(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(resolve18(svelteDir, "client"), {
202547
+ force: true,
202548
+ recursive: true
202549
+ }),
202550
+ rm6(resolve18(svelteDir, "indexes"), {
202551
+ force: true,
202552
+ recursive: true
202553
+ }),
202554
+ rm6(resolve18(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((file3) => file3.endsWith(".vue") && resolve18(file3).startsWith(resolve18(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 = resolve18(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(resolve18(vueDir, "client"), {
202605
- force: true,
202606
- recursive: true
202607
- }),
202608
- rm6(resolve18(vueDir, "indexes"), {
202609
- force: true,
202610
- recursive: true
202611
- }),
202612
- rm6(resolve18(vueDir, "server"), {
202613
- force: true,
202614
- recursive: true
202615
- }),
202616
- rm6(resolve18(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(resolve18(vueDir, "client"), {
202631
+ force: true,
202632
+ recursive: true
202633
+ }),
202634
+ rm6(resolve18(vueDir, "indexes"), {
202635
+ force: true,
202636
+ recursive: true
202637
+ }),
202638
+ rm6(resolve18(vueDir, "server"), {
202639
+ force: true,
202640
+ recursive: true
202641
+ }),
202642
+ rm6(resolve18(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((file3) => file3.endsWith(".css")), collectModuleUpdatesForFramework = (framework, filesToRebuild, manifest, state) => {
202651
202649
  const frameworkFiles = filesToRebuild.filter((file3) => detectFramework(file3, 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 resolve19 } 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(resolve19(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 = resolve19(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 = resolve19(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) => {
@@ -203510,5 +203515,5 @@ export {
203510
203515
  build
203511
203516
  };
203512
203517
 
203513
- //# debugId=3C96A2BF05BA835264756E2164756E21
203518
+ //# debugId=98605C66A3476ECF64756E2164756E21
203514
203519
  //# sourceMappingURL=build.js.map