@absolutejs/absolute 0.19.0-beta.20 → 0.19.0-beta.22

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
@@ -171467,7 +171467,7 @@ var isDev, extractBuildError = (logs, pass, label, frameworkNames, isIncremental
171467
171467
  if (!options?.preserveIntermediateFiles)
171468
171468
  await cleanup({
171469
171469
  angularDir,
171470
- reactIndexesPath,
171470
+ reactIndexesPath: hmr ? undefined : reactIndexesPath,
171471
171471
  svelteDir,
171472
171472
  vueDir
171473
171473
  });
@@ -202213,6 +202213,17 @@ var SRC_PREFIX = "/@src/", jsTranspiler2, TRANSPILABLE, REACT_EXTENSIONS, escape
202213
202213
  }
202214
202214
  return `${prefix}${SRC_PREFIX}${srcPath.replace(/\\/g, "/")}${suffix}`;
202215
202215
  });
202216
+ result = result.replace(/((?:from|import)\s*["'])(\/[^"']+\.(tsx?|jsx?|ts))(["'])/g, (_match, prefix, absPath, _ext, suffix) => {
202217
+ if (absPath.startsWith(projectRoot)) {
202218
+ const rel2 = relative6(projectRoot, absPath).replace(/\\/g, "/");
202219
+ return `${prefix}${SRC_PREFIX}${rel2}${suffix}`;
202220
+ }
202221
+ const rel = relative6(projectRoot, absPath).replace(/\\/g, "/");
202222
+ if (!rel.startsWith("..")) {
202223
+ return `${prefix}${SRC_PREFIX}${rel}${suffix}`;
202224
+ }
202225
+ return _match;
202226
+ });
202216
202227
  return result;
202217
202228
  }, HOOK_NAMES, REFRESH_PREAMBLE, JSX_AUTO_RE, JSXS_AUTO_RE, JSX_PROD_RE, FRAGMENT_RE, addJsxImport = (code) => {
202218
202229
  const imports = [];
@@ -203719,6 +203730,140 @@ var init_rebuildTrigger = __esm(() => {
203719
203730
  init_pageHandler();
203720
203731
  });
203721
203732
 
203733
+ // src/build/buildDepVendor.ts
203734
+ var exports_buildDepVendor = {};
203735
+ __export(exports_buildDepVendor, {
203736
+ computeDepVendorPaths: () => computeDepVendorPaths,
203737
+ buildDepVendor: () => buildDepVendor
203738
+ });
203739
+ import { mkdirSync as mkdirSync7 } from "fs";
203740
+ import { join as join14 } from "path";
203741
+ import { rm as rm7 } from "fs/promises";
203742
+ var {build: bunBuild5, Glob: Glob6 } = globalThis.Bun;
203743
+ var toSafeFileName3 = (specifier) => specifier.replace(/\//g, "_").replace(/@/g, "").replace(/-/g, "_"), isResolvable2 = (specifier) => {
203744
+ try {
203745
+ __require.resolve(specifier);
203746
+ return true;
203747
+ } catch {
203748
+ return false;
203749
+ }
203750
+ }, isBareSpecifier = (spec) => !spec.startsWith(".") && !spec.startsWith("/") && !spec.startsWith("@src/"), FRAMEWORK_SPECIFIERS, scanBareImports = async (directories) => {
203751
+ const specifiers = new Set;
203752
+ const transpiler3 = new Bun.Transpiler({ loader: "tsx" });
203753
+ for (const dir of directories) {
203754
+ const glob = new Glob6("**/*.{ts,tsx,js,jsx}");
203755
+ try {
203756
+ for await (const file3 of glob.scan({
203757
+ absolute: true,
203758
+ cwd: dir
203759
+ })) {
203760
+ if (file3.includes("node_modules"))
203761
+ continue;
203762
+ if (file3.includes("/build/"))
203763
+ continue;
203764
+ if (file3.includes("/dist/"))
203765
+ continue;
203766
+ if (file3.includes("/indexes/"))
203767
+ continue;
203768
+ try {
203769
+ const content = await Bun.file(file3).text();
203770
+ const imports = transpiler3.scanImports(content);
203771
+ for (const imp of imports) {
203772
+ if (isBareSpecifier(imp.path) && !FRAMEWORK_SPECIFIERS.has(imp.path)) {
203773
+ specifiers.add(imp.path);
203774
+ }
203775
+ }
203776
+ } catch {}
203777
+ }
203778
+ } catch {}
203779
+ }
203780
+ return Array.from(specifiers).filter(isResolvable2);
203781
+ }, generateEntrySource2 = async (specifier) => {
203782
+ try {
203783
+ const mod = await import(specifier);
203784
+ const exportNames = Object.keys(mod).filter((key) => key !== "default" && key !== "__esModule");
203785
+ const lines = [];
203786
+ if (exportNames.length > 0) {
203787
+ lines.push(`export { ${exportNames.join(", ")} } from '${specifier}';`);
203788
+ }
203789
+ if ("default" in mod) {
203790
+ lines.push(`export { default } from '${specifier}';`);
203791
+ }
203792
+ return lines.join(`
203793
+ `) + `
203794
+ `;
203795
+ } catch {
203796
+ return `export * from '${specifier}';
203797
+ `;
203798
+ }
203799
+ }, computeDepVendorPaths = async (directories) => {
203800
+ const specifiers = await scanBareImports(directories);
203801
+ const paths = {};
203802
+ for (const specifier of specifiers) {
203803
+ paths[specifier] = `/vendor/${toSafeFileName3(specifier)}.js`;
203804
+ }
203805
+ return paths;
203806
+ }, buildDepVendor = async (buildDir, directories) => {
203807
+ const specifiers = await scanBareImports(directories);
203808
+ if (specifiers.length === 0)
203809
+ return {};
203810
+ const vendorDir = join14(buildDir, "vendor");
203811
+ mkdirSync7(vendorDir, { recursive: true });
203812
+ const tmpDir = join14(buildDir, "_dep_vendor_tmp");
203813
+ mkdirSync7(tmpDir, { recursive: true });
203814
+ const entrypoints = await Promise.all(specifiers.map(async (specifier) => {
203815
+ const safeName = toSafeFileName3(specifier);
203816
+ const entryPath = join14(tmpDir, `${safeName}.ts`);
203817
+ const source = await generateEntrySource2(specifier);
203818
+ await Bun.write(entryPath, source);
203819
+ return entryPath;
203820
+ }));
203821
+ const result = await bunBuild5({
203822
+ entrypoints,
203823
+ format: "esm",
203824
+ minify: false,
203825
+ naming: "[name].[ext]",
203826
+ outdir: vendorDir,
203827
+ splitting: true,
203828
+ target: "browser",
203829
+ throw: false
203830
+ });
203831
+ await rm7(tmpDir, { force: true, recursive: true });
203832
+ if (!result.success) {
203833
+ console.warn("\u26A0\uFE0F Dependency vendor build had errors:", result.logs);
203834
+ }
203835
+ const paths = {};
203836
+ for (const specifier of specifiers) {
203837
+ paths[specifier] = `/vendor/${toSafeFileName3(specifier)}.js`;
203838
+ }
203839
+ return paths;
203840
+ };
203841
+ var init_buildDepVendor = __esm(() => {
203842
+ FRAMEWORK_SPECIFIERS = new Set([
203843
+ "react",
203844
+ "react-dom",
203845
+ "react-dom/client",
203846
+ "react-dom/server",
203847
+ "react/jsx-runtime",
203848
+ "react/jsx-dev-runtime",
203849
+ "react-refresh/runtime",
203850
+ "svelte",
203851
+ "svelte/internal",
203852
+ "svelte/internal/client",
203853
+ "svelte/server",
203854
+ "svelte/compiler",
203855
+ "vue",
203856
+ "vue/server-renderer",
203857
+ "@vue/compiler-sfc",
203858
+ "@angular/core",
203859
+ "@angular/common",
203860
+ "@angular/compiler",
203861
+ "@angular/platform-browser",
203862
+ "@angular/platform-server",
203863
+ "@angular/ssr"
203864
+ ]);
203865
+ });
203866
+
203722
203867
  // src/core/devBuild.ts
203723
203868
  var exports_devBuild = {};
203724
203869
  __export(exports_devBuild, {
@@ -203900,7 +204045,26 @@ var FRAMEWORK_DIR_KEYS, parseDirectoryConfig = (source) => {
203900
204045
  await loadVendorFiles(state.assetStore, vendorDir, "angular");
203901
204046
  return true;
203902
204047
  }) : undefined;
203903
- await Promise.all([buildReactVendorTask, buildAngularVendorTask]);
204048
+ const { buildDepVendor: buildDepVendor2 } = await Promise.resolve().then(() => (init_buildDepVendor(), exports_buildDepVendor));
204049
+ const sourceDirs = [
204050
+ config.reactDirectory,
204051
+ config.svelteDirectory,
204052
+ config.vueDirectory,
204053
+ config.angularDirectory,
204054
+ config.htmlDirectory,
204055
+ config.htmxDirectory
204056
+ ].filter((dir) => Boolean(dir));
204057
+ const buildDepVendorTask = buildDepVendor2(state.resolvedPaths.buildDir, sourceDirs).then(async (depPaths) => {
204058
+ const vendorDir = resolve20(state.resolvedPaths.buildDir, "vendor");
204059
+ await loadVendorFiles(state.assetStore, vendorDir, "vendor");
204060
+ globalThis.__depVendorPaths = depPaths;
204061
+ return true;
204062
+ });
204063
+ await Promise.all([
204064
+ buildReactVendorTask,
204065
+ buildAngularVendorTask,
204066
+ buildDepVendorTask
204067
+ ]);
203904
204068
  state.manifest = manifest;
203905
204069
  startFileWatching(state, config, (filePath) => {
203906
204070
  queueFileChange(state, filePath, config, (newBuildResult) => {
@@ -203947,5 +204111,5 @@ export {
203947
204111
  build
203948
204112
  };
203949
204113
 
203950
- //# debugId=D9314AF437BC56B964756E2164756E21
204114
+ //# debugId=C2899F3FE5B5270764756E2164756E21
203951
204115
  //# sourceMappingURL=build.js.map