@absolutejs/absolute 0.19.0-beta.731 → 0.19.0-beta.733

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
@@ -44468,6 +44468,25 @@ var init_buildReactVendor = __esm(() => {
44468
44468
  ];
44469
44469
  });
44470
44470
 
44471
+ // src/build/detectDefaultExport.ts
44472
+ var hasDefaultExport = async (specifier) => {
44473
+ try {
44474
+ const resolved = Bun.resolveSync(specifier, process.cwd());
44475
+ const content = await Bun.file(resolved).text();
44476
+ if (/\bexport\s+default\b/.test(content))
44477
+ return true;
44478
+ if (/\bexport\s*\{\s*[^}]*\bdefault\b[^}]*\}/.test(content))
44479
+ return true;
44480
+ if (/\bmodule\.exports\s*=/.test(content))
44481
+ return true;
44482
+ if (/\bexports\.default\s*=/.test(content))
44483
+ return true;
44484
+ return false;
44485
+ } catch {
44486
+ return false;
44487
+ }
44488
+ };
44489
+
44471
44490
  // src/build/buildAngularVendor.ts
44472
44491
  var exports_buildAngularVendor = {};
44473
44492
  __export(exports_buildAngularVendor, {
@@ -44577,8 +44596,12 @@ var REQUIRED_ANGULAR_SPECIFIERS, SERVER_ONLY_ANGULAR_SPECIFIERS, SCAN_SKIP_DIRS,
44577
44596
  const entrypoints = await Promise.all(specifiers.map(async (specifier) => {
44578
44597
  const safeName = toSafeFileName2(specifier);
44579
44598
  const entryPath = join17(tmpDir, `${safeName}.ts`);
44580
- await Bun.write(entryPath, `export * from '${specifier}';
44581
- `);
44599
+ const includeDefault = await hasDefaultExport(specifier);
44600
+ const source = includeDefault ? `export * from '${specifier}';
44601
+ export { default } from '${specifier}';
44602
+ ` : `export * from '${specifier}';
44603
+ `;
44604
+ await Bun.write(entryPath, source);
44582
44605
  return entryPath;
44583
44606
  }));
44584
44607
  const result = await bunBuild4({
@@ -44763,6 +44786,7 @@ var init_buildSvelteVendor = __esm(() => {
44763
44786
  // src/build/rewriteImports.ts
44764
44787
  var exports_rewriteImports = {};
44765
44788
  __export(exports_rewriteImports, {
44789
+ rewriteVendorDirectories: () => rewriteVendorDirectories,
44766
44790
  rewriteImports: () => rewriteImports
44767
44791
  });
44768
44792
  var escapeRegex2 = (str) => str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), jsRewriteImports = (content, replacements) => {
@@ -44790,6 +44814,19 @@ var escapeRegex2 = (str) => str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), jsRewrit
44790
44814
  await Bun.write(filePath, content);
44791
44815
  }
44792
44816
  }));
44817
+ }, rewriteVendorDirectories = async (vendorDirs, vendorPaths) => {
44818
+ if (Object.keys(vendorPaths).length === 0)
44819
+ return;
44820
+ const { readdirSync } = await import("fs");
44821
+ const { join: join20 } = await import("path");
44822
+ const allFiles = [];
44823
+ for (const dir of vendorDirs) {
44824
+ try {
44825
+ const files = readdirSync(dir).filter((f) => f.endsWith(".js")).map((f) => join20(dir, f));
44826
+ allFiles.push(...files);
44827
+ } catch {}
44828
+ }
44829
+ await rewriteImports(allFiles, vendorPaths);
44793
44830
  };
44794
44831
  var init_rewriteImports = __esm(() => {
44795
44832
  init_nativeRewrite();
@@ -49351,24 +49388,12 @@ var toSafeFileName5 = (specifier) => specifier.replace(/\//g, "_").replace(/@/g,
49351
49388
  dep: Array.from(dep).filter(isResolvable4),
49352
49389
  framework: Array.from(framework).filter(isResolvable4)
49353
49390
  };
49354
- }, generateEntrySource2 = (specifier) => `export * from '${specifier}';
49355
- `, rewriteVendorFiles = async (vendorDir) => {
49356
- const { readdirSync: readdirSync2, readFileSync: readFileSync15, writeFileSync: writeFileSync8 } = await import("fs");
49357
- const { computeVendorPaths: computeVendorPaths2 } = await Promise.resolve().then(() => (init_buildReactVendor(), exports_buildReactVendor));
49358
- const reactPaths = Object.entries(computeVendorPaths2());
49359
- const rewriteContent = (content) => reactPaths.reduce((acc, [specifier, webPath]) => {
49360
- const escaped = specifier.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
49361
- const re2 = new RegExp(`(from\\s*["'])${escaped}(["'])`, "g");
49362
- return acc.replace(re2, `$1${webPath}$2`);
49363
- }, content);
49364
- const files = readdirSync2(vendorDir).filter((f) => f.endsWith(".js"));
49365
- for (const file3 of files) {
49366
- const filePath = join22(vendorDir, file3);
49367
- const original = readFileSync15(filePath, "utf-8");
49368
- const rewritten = rewriteContent(original);
49369
- if (rewritten !== original)
49370
- writeFileSync8(filePath, rewritten);
49371
- }
49391
+ }, generateEntrySource2 = async (specifier) => {
49392
+ const namedReexport = `export * from '${specifier}';
49393
+ `;
49394
+ const includeDefault = await hasDefaultExport(specifier);
49395
+ return includeDefault ? `${namedReexport}export { default } from '${specifier}';
49396
+ ` : namedReexport;
49372
49397
  }, collectTransitiveImports = async (specs, alreadyVendored, alreadyScanned) => {
49373
49398
  const { readFileSync: readFileSync15 } = await import("fs");
49374
49399
  const transpiler4 = new Bun.Transpiler({ loader: "js" });
@@ -49457,8 +49482,6 @@ var toSafeFileName5 = (specifier) => specifier.replace(/\//g, "_").replace(/@/g,
49457
49482
  console.warn("\u26A0\uFE0F Dependency vendor build had errors:", result.logs);
49458
49483
  }
49459
49484
  await rm9(tmpDir, { force: true, recursive: true });
49460
- if (success)
49461
- await rewriteVendorFiles(vendorDir);
49462
49485
  const paths = {};
49463
49486
  for (const specifier of allSpecs) {
49464
49487
  paths[specifier] = `/vendor/${toSafeFileName5(specifier)}.js`;
@@ -49749,46 +49772,54 @@ var FRAMEWORK_DIR_KEYS, collectDepVendorSourceDirs = (config) => {
49749
49772
  cleanStaleAssets(state.assetStore, manifest, state.resolvedPaths.buildDir);
49750
49773
  recordStep("populate asset store", stepStartedAt);
49751
49774
  stepStartedAt = performance.now();
49752
- const buildReactVendorTask = config.reactDirectory ? buildReactVendor(state.resolvedPaths.buildDir).then(async () => {
49753
- const vendorDir = resolve32(state.resolvedPaths.buildDir, "react", "vendor");
49754
- await loadVendorFiles(state.assetStore, vendorDir, "react");
49755
- if (!globalThis.__reactModuleRef) {
49756
- globalThis.__reactModuleRef = await import("react");
49757
- }
49758
- return true;
49759
- }) : undefined;
49760
- const buildAngularVendorTask = config.angularDirectory ? buildAngularVendor(state.resolvedPaths.buildDir, sourceDirs).then(async (specs) => {
49761
- const vendorDir = resolve32(state.resolvedPaths.buildDir, "angular", "vendor");
49762
- await loadVendorFiles(state.assetStore, vendorDir, "angular");
49763
- globalThis.__angularVendorSpecifiers = specs;
49764
- return true;
49765
- }) : undefined;
49766
- const buildSvelteVendorTask = config.svelteDirectory ? buildSvelteVendor(state.resolvedPaths.buildDir).then(async () => {
49767
- const vendorDir = resolve32(state.resolvedPaths.buildDir, "svelte", "vendor");
49768
- await loadVendorFiles(state.assetStore, vendorDir, "svelte");
49769
- return true;
49770
- }) : undefined;
49771
- const buildVueVendorTask = config.vueDirectory ? buildVueVendor(state.resolvedPaths.buildDir).then(async () => {
49772
- const vendorDir = resolve32(state.resolvedPaths.buildDir, "vue", "vendor");
49773
- await loadVendorFiles(state.assetStore, vendorDir, "vue");
49774
- return true;
49775
- }) : undefined;
49775
+ const reactVendorDir = resolve32(state.resolvedPaths.buildDir, "react", "vendor");
49776
+ const angularVendorDir = resolve32(state.resolvedPaths.buildDir, "angular", "vendor");
49777
+ const svelteVendorDir = resolve32(state.resolvedPaths.buildDir, "svelte", "vendor");
49778
+ const vueVendorDir = resolve32(state.resolvedPaths.buildDir, "vue", "vendor");
49779
+ const depVendorDir = resolve32(state.resolvedPaths.buildDir, "vendor");
49776
49780
  const { buildDepVendor: buildDepVendor2 } = await Promise.resolve().then(() => (init_buildDepVendor(), exports_buildDepVendor));
49777
- const buildDepVendorTask = buildDepVendor2(state.resolvedPaths.buildDir, sourceDirs).then(async (depPaths) => {
49778
- const vendorDir = resolve32(state.resolvedPaths.buildDir, "vendor");
49779
- await loadVendorFiles(state.assetStore, vendorDir, "vendor");
49780
- globalThis.__depVendorPaths = depPaths;
49781
- return true;
49782
- });
49783
- await Promise.all([
49784
- buildReactVendorTask,
49785
- buildAngularVendorTask,
49786
- buildSvelteVendorTask,
49787
- buildVueVendorTask,
49788
- buildDepVendorTask
49781
+ const [, angularSpecs, , , depPaths] = await Promise.all([
49782
+ config.reactDirectory ? buildReactVendor(state.resolvedPaths.buildDir) : Promise.resolve(undefined),
49783
+ config.angularDirectory ? buildAngularVendor(state.resolvedPaths.buildDir, sourceDirs) : Promise.resolve(undefined),
49784
+ config.svelteDirectory ? buildSvelteVendor(state.resolvedPaths.buildDir) : Promise.resolve(undefined),
49785
+ config.vueDirectory ? buildVueVendor(state.resolvedPaths.buildDir) : Promise.resolve(undefined),
49786
+ buildDepVendor2(state.resolvedPaths.buildDir, sourceDirs)
49789
49787
  ]);
49788
+ if (angularSpecs)
49789
+ globalThis.__angularVendorSpecifiers = angularSpecs;
49790
+ globalThis.__depVendorPaths = depPaths;
49790
49791
  recordStep("build vendor bundles", stepStartedAt);
49791
49792
  stepStartedAt = performance.now();
49793
+ const combinedVendorPaths = {
49794
+ ...getDevVendorPaths() ?? {},
49795
+ ...getAngularVendorPaths() ?? {},
49796
+ ...getSvelteVendorPaths() ?? {},
49797
+ ...getVueVendorPaths() ?? {},
49798
+ ...depPaths
49799
+ };
49800
+ const activeVendorDirs = [
49801
+ config.reactDirectory ? reactVendorDir : null,
49802
+ config.angularDirectory ? angularVendorDir : null,
49803
+ config.svelteDirectory ? svelteVendorDir : null,
49804
+ config.vueDirectory ? vueVendorDir : null,
49805
+ depVendorDir
49806
+ ].filter((d) => d !== null);
49807
+ const { rewriteVendorDirectories: rewriteVendorDirectories2 } = await Promise.resolve().then(() => (init_rewriteImports(), exports_rewriteImports));
49808
+ await rewriteVendorDirectories2(activeVendorDirs, combinedVendorPaths);
49809
+ recordStep("rewrite vendor cross-references", stepStartedAt);
49810
+ stepStartedAt = performance.now();
49811
+ await Promise.all([
49812
+ config.reactDirectory ? loadVendorFiles(state.assetStore, reactVendorDir, "react") : Promise.resolve(),
49813
+ config.angularDirectory ? loadVendorFiles(state.assetStore, angularVendorDir, "angular") : Promise.resolve(),
49814
+ config.svelteDirectory ? loadVendorFiles(state.assetStore, svelteVendorDir, "svelte") : Promise.resolve(),
49815
+ config.vueDirectory ? loadVendorFiles(state.assetStore, vueVendorDir, "vue") : Promise.resolve(),
49816
+ loadVendorFiles(state.assetStore, depVendorDir, "vendor")
49817
+ ]);
49818
+ if (config.reactDirectory && !globalThis.__reactModuleRef) {
49819
+ globalThis.__reactModuleRef = await import("react");
49820
+ }
49821
+ recordStep("load vendor files", stepStartedAt);
49822
+ stepStartedAt = performance.now();
49792
49823
  const { warmCompilers: warmCompilers2 } = await Promise.resolve().then(() => (init_moduleServer(), exports_moduleServer));
49793
49824
  await warmCompilers2({
49794
49825
  svelte: Boolean(config.svelteDirectory),
@@ -49848,5 +49879,5 @@ export {
49848
49879
  build
49849
49880
  };
49850
49881
 
49851
- //# debugId=9A9BE3B8E3FB90C564756E2164756E21
49882
+ //# debugId=326DF99081F5089B64756E2164756E21
49852
49883
  //# sourceMappingURL=build.js.map