@absolutejs/absolute 0.19.0-beta.10 → 0.19.0-beta.12

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
@@ -171235,29 +171235,6 @@ var isDev, extractBuildError = (logs, pass, label, frameworkNames, isIncremental
171235
171235
  setAngularVendorPaths(angularVendorPaths2);
171236
171236
  }
171237
171237
  const htmlScriptPlugin = hmr ? createHTMLScriptHMRPlugin(htmlDir, htmxDir) : undefined;
171238
- const freshFilePlugin = isIncremental ? {
171239
- name: "hmr-fresh-files",
171240
- setup(pluginBuild) {
171241
- pluginBuild.onLoad({ filter: /\.(tsx?|jsx?)$/ }, (args) => {
171242
- try {
171243
- const contents = readFileSync5(args.path, "utf-8");
171244
- const ext = args.path.split(".").pop() ?? "tsx";
171245
- const loaderMap = {
171246
- js: "js",
171247
- jsx: "jsx",
171248
- ts: "ts",
171249
- tsx: "tsx"
171250
- };
171251
- return {
171252
- contents,
171253
- loader: loaderMap[ext] ?? "tsx"
171254
- };
171255
- } catch {
171256
- return;
171257
- }
171258
- });
171259
- }
171260
- } : undefined;
171261
171238
  const reactBuildConfig = reactClientEntryPoints.length > 0 ? {
171262
171239
  entrypoints: reactClientEntryPoints,
171263
171240
  ...vendorPaths ? { external: Object.keys(vendorPaths) } : {},
@@ -171266,7 +171243,6 @@ var isDev, extractBuildError = (logs, pass, label, frameworkNames, isIncremental
171266
171243
  naming: `[dir]/[name].[hash].[ext]`,
171267
171244
  outdir: buildPath,
171268
171245
  ...hmr ? { jsx: { development: true }, reactFastRefresh: true } : {},
171269
- ...freshFilePlugin ? { plugins: [freshFilePlugin] } : {},
171270
171246
  root: clientRoot,
171271
171247
  splitting: true,
171272
171248
  target: "browser",
@@ -202574,38 +202550,17 @@ var parseErrorLocationFromMessage = (msg) => {
202574
202550
  vendorPaths = computeVendorPaths2();
202575
202551
  setDevVendorPaths2(vendorPaths);
202576
202552
  }
202577
- const { rmSync: rmSync2, readFileSync: readFileSync9 } = await import("fs");
202553
+ const { rmSync: rmSync2 } = await import("fs");
202578
202554
  rmSync2(resolve18(buildDir, "react", "indexes"), {
202579
202555
  force: true,
202580
202556
  recursive: true
202581
202557
  });
202582
- const freshFilePlugin = {
202583
- name: "hmr-fresh-files",
202584
- setup(build2) {
202585
- build2.onLoad({ filter: /\.(tsx?|jsx?)$/ }, (args) => {
202586
- try {
202587
- const contents = readFileSync9(args.path, "utf-8");
202588
- const ext = args.path.split(".").pop() ?? "tsx";
202589
- const loaderMap = {
202590
- js: "js",
202591
- jsx: "jsx",
202592
- ts: "ts",
202593
- tsx: "tsx"
202594
- };
202595
- return { contents, loader: loaderMap[ext] ?? "tsx" };
202596
- } catch {
202597
- return;
202598
- }
202599
- });
202600
- }
202601
- };
202602
202558
  const clientResult = await bunBuild5({
202603
202559
  entrypoints: reactEntries,
202604
202560
  format: "esm",
202605
202561
  jsx: { development: true },
202606
202562
  naming: "[dir]/[name].[hash].[ext]",
202607
202563
  outdir: buildDir,
202608
- plugins: [freshFilePlugin],
202609
202564
  reactFastRefresh: true,
202610
202565
  root: clientRoot,
202611
202566
  splitting: true,
@@ -202622,11 +202577,88 @@ var parseErrorLocationFromMessage = (msg) => {
202622
202577
  const clientManifest = generateManifest2(clientResult.outputs, buildDir);
202623
202578
  Object.assign(state.manifest, clientManifest);
202624
202579
  await populateAssetStore(state.assetStore, clientManifest, buildDir);
202580
+ }, buildSingleReactPage = async (state, pageFile, buildDir) => {
202581
+ const { build: bunBuild5 } = await Promise.resolve(globalThis.Bun);
202582
+ const { generateManifest: generateManifest2 } = await Promise.resolve().then(() => (init_generateManifest(), exports_generateManifest));
202583
+ const { getDevVendorPaths: getDevVendorPaths2 } = await Promise.resolve().then(() => exports_devVendorPaths);
202584
+ const { rewriteReactImports: rewriteReactImports2 } = await Promise.resolve().then(() => (init_rewriteReactImports(), exports_rewriteReactImports));
202585
+ const { commonAncestor: commonAncestor2 } = await Promise.resolve().then(() => (init_commonAncestor(), exports_commonAncestor));
202586
+ const clientRoots = [
202587
+ state.resolvedPaths.reactDir,
202588
+ state.resolvedPaths.svelteDir,
202589
+ state.resolvedPaths.htmlDir,
202590
+ state.resolvedPaths.vueDir,
202591
+ state.resolvedPaths.angularDir
202592
+ ].filter((dir) => Boolean(dir));
202593
+ const clientRoot = clientRoots.length === 1 ? clientRoots[0] ?? process.cwd() : commonAncestor2(clientRoots, process.cwd());
202594
+ let vendorPaths = getDevVendorPaths2();
202595
+ if (!vendorPaths) {
202596
+ const { computeVendorPaths: computeVendorPaths2 } = await Promise.resolve().then(() => (init_buildReactVendor(), exports_buildReactVendor));
202597
+ const { setDevVendorPaths: setDevVendorPaths2 } = await Promise.resolve().then(() => exports_devVendorPaths);
202598
+ vendorPaths = computeVendorPaths2();
202599
+ setDevVendorPaths2(vendorPaths);
202600
+ }
202601
+ const result = await bunBuild5({
202602
+ entrypoints: [pageFile],
202603
+ external: vendorPaths ? Object.keys(vendorPaths) : [],
202604
+ format: "esm",
202605
+ jsx: { development: true },
202606
+ naming: "[dir]/[name].[hash].[ext]",
202607
+ outdir: buildDir,
202608
+ reactFastRefresh: true,
202609
+ root: clientRoot,
202610
+ splitting: false,
202611
+ target: "browser",
202612
+ throw: false
202613
+ });
202614
+ if (!result.success)
202615
+ return;
202616
+ const outputPaths = result.outputs.map((a) => a.path);
202617
+ if (vendorPaths) {
202618
+ await rewriteReactImports2(outputPaths, vendorPaths);
202619
+ }
202620
+ const pageManifest = generateManifest2(result.outputs, buildDir);
202621
+ Object.assign(state.manifest, pageManifest);
202622
+ await populateAssetStore(state.assetStore, pageManifest, buildDir);
202623
+ const [firstOutput] = result.outputs;
202624
+ if (!firstOutput)
202625
+ return;
202626
+ return `/${relative6(buildDir, firstOutput.path).replace(/\\/g, "/")}`;
202625
202627
  }, handleReactFastPath = async (state, config, filesToRebuild, startTime, onRebuildComplete) => {
202626
202628
  const reactDir = config.reactDirectory ?? "";
202627
202629
  const reactPagesPath = resolve18(reactDir, "pages");
202628
202630
  const reactIndexesPath = resolve18(reactDir, "indexes");
202629
202631
  const { buildDir } = state.resolvedPaths;
202632
+ const reactFiles = filesToRebuild.filter((file3) => detectFramework(file3, state.resolvedPaths) === "react");
202633
+ const pagesPathResolved = resolve18(reactPagesPath);
202634
+ const allArePageFiles = reactFiles.length > 0 && reactFiles.every((file3) => (file3.endsWith(".tsx") || file3.endsWith(".jsx")) && resolve18(file3).startsWith(pagesPathResolved));
202635
+ if (allArePageFiles) {
202636
+ const [pageFile] = reactFiles;
202637
+ if (pageFile) {
202638
+ const pageModuleUrl = await buildSingleReactPage(state, pageFile, buildDir);
202639
+ if (pageModuleUrl) {
202640
+ const duration2 = Date.now() - startTime;
202641
+ logHmrUpdate(pageFile, "react", duration2);
202642
+ broadcastToClients(state, {
202643
+ data: {
202644
+ framework: "react",
202645
+ hasComponentChanges: true,
202646
+ hasCSSChanges: false,
202647
+ manifest: state.manifest,
202648
+ pageModuleUrl,
202649
+ primarySource: pageFile,
202650
+ sourceFiles: reactFiles
202651
+ },
202652
+ type: "react-update"
202653
+ });
202654
+ onRebuildComplete({
202655
+ hmrState: state,
202656
+ manifest: state.manifest
202657
+ });
202658
+ return state.manifest;
202659
+ }
202660
+ }
202661
+ }
202630
202662
  const { generateReactIndexFiles: generateReactIndexFiles2 } = await Promise.resolve().then(() => (init_generateReactIndexes(), exports_generateReactIndexes));
202631
202663
  await generateReactIndexFiles2(reactPagesPath, reactIndexesPath, true);
202632
202664
  const reactEntries = collectReactEntries(state, filesToRebuild, reactPagesPath, reactIndexesPath);
@@ -202636,7 +202668,6 @@ var parseErrorLocationFromMessage = (msg) => {
202636
202668
  await rm6(reactIndexesPath, { force: true, recursive: true });
202637
202669
  const { manifest } = state;
202638
202670
  const duration = Date.now() - startTime;
202639
- const reactFiles = filesToRebuild.filter((file3) => detectFramework(file3, state.resolvedPaths) === "react");
202640
202671
  const reactPageFiles = reactFiles.filter((file3) => file3.replace(/\\/g, "/").includes("/pages/"));
202641
202672
  const sourceFiles = reactPageFiles.length > 0 ? reactPageFiles : reactFiles;
202642
202673
  logHmrUpdate(sourceFiles[0] ?? reactFiles[0] ?? "", "react", duration);
@@ -203698,5 +203729,5 @@ export {
203698
203729
  build
203699
203730
  };
203700
203731
 
203701
- //# debugId=795D8BFFFD685F8C64756E2164756E21
203732
+ //# debugId=F0543EFD0D90CE9264756E2164756E21
203702
203733
  //# sourceMappingURL=build.js.map