@absolutejs/absolute 0.19.0-beta.27 → 0.19.0-beta.29

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
@@ -202149,7 +202149,24 @@ __export(exports_moduleServer, {
202149
202149
  });
202150
202150
  import { readFileSync as readFileSync9, statSync as statSync2 } from "fs";
202151
202151
  import { dirname as dirname7, extname as extname3, resolve as resolve17, relative as relative6 } from "path";
202152
- var SRC_PREFIX = "/@src/", jsTranspiler2, TRANSPILABLE, REACT_EXTENSIONS, escapeRegex3 = (str) => str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), buildImportRewriter = (vendorPaths) => {
202152
+ var SRC_PREFIX = "/@src/", jsTranspiler2, tsTranspiler2, TRANSPILABLE, ALL_EXPORTS_RE, preserveTypeExports = (originalSource, transpiled, valueExports) => {
202153
+ const allExports = [];
202154
+ let match;
202155
+ ALL_EXPORTS_RE.lastIndex = 0;
202156
+ while ((match = ALL_EXPORTS_RE.exec(originalSource)) !== null) {
202157
+ if (match[1])
202158
+ allExports.push(match[1]);
202159
+ }
202160
+ const valueSet = new Set(valueExports);
202161
+ const typeExports = allExports.filter((e) => !valueSet.has(e));
202162
+ if (typeExports.length === 0)
202163
+ return transpiled;
202164
+ const stubs = typeExports.map((name) => `export const ${name} = undefined;`).join(`
202165
+ `);
202166
+ return `${transpiled}
202167
+ ${stubs}
202168
+ `;
202169
+ }, REACT_EXTENSIONS, escapeRegex3 = (str) => str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), buildImportRewriter = (vendorPaths) => {
202153
202170
  const entries = Object.entries(vendorPaths).sort(([a], [b]) => b.length - a.length);
202154
202171
  if (entries.length === 0)
202155
202172
  return null;
@@ -202243,7 +202260,9 @@ var SRC_PREFIX = "/@src/", jsTranspiler2, TRANSPILABLE, REACT_EXTENSIONS, escape
202243
202260
  ` + code;
202244
202261
  }, reactTranspiler, transformReactFile = (filePath, projectRoot, rewriter) => {
202245
202262
  const raw = readFileSync9(filePath, "utf-8");
202263
+ const valueExports = tsTranspiler2.scan(raw).exports;
202246
202264
  let transpiled = reactTranspiler.transformSync(raw);
202265
+ transpiled = preserveTypeExports(raw, transpiled, valueExports);
202247
202266
  transpiled = addJsxImport(transpiled);
202248
202267
  transpiled = transpiled.replace(/import\s*\{[^}]*\}\s*from\s*["']react-refresh\/runtime["'];?\n?/, "");
202249
202268
  transpiled = transpiled.replace(/\$RefreshReg\$_[a-z0-9]+/g, "$RefreshReg$");
@@ -202257,7 +202276,13 @@ var SRC_PREFIX = "/@src/", jsTranspiler2, TRANSPILABLE, REACT_EXTENSIONS, escape
202257
202276
  }, transformPlainFile = (filePath, projectRoot, rewriter) => {
202258
202277
  const raw = readFileSync9(filePath, "utf-8");
202259
202278
  const ext = extname3(filePath);
202260
- const transpiled = ext === ".js" || ext === ".mjs" ? jsTranspiler2.transformSync(raw) : new Bun.Transpiler({ loader: "tsx" }).transformSync(raw);
202279
+ const isTS = ext === ".ts" || ext === ".tsx";
202280
+ const transpiler3 = isTS ? tsTranspiler2 : jsTranspiler2;
202281
+ const valueExports = isTS ? transpiler3.scan(raw).exports : [];
202282
+ let transpiled = transpiler3.transformSync(raw);
202283
+ if (isTS) {
202284
+ transpiled = preserveTypeExports(raw, transpiled, valueExports);
202285
+ }
202261
202286
  return rewriteImports2(transpiled, filePath, projectRoot, rewriter);
202262
202287
  }, handleCssRequest = (filePath) => {
202263
202288
  const raw = readFileSync9(filePath, "utf-8");
@@ -202347,8 +202372,16 @@ export default {};
202347
202372
  }, invalidateModule, SRC_URL_PREFIX;
202348
202373
  var init_moduleServer = __esm(() => {
202349
202374
  init_transformCache();
202350
- jsTranspiler2 = new Bun.Transpiler({ loader: "js" });
202375
+ jsTranspiler2 = new Bun.Transpiler({
202376
+ loader: "js",
202377
+ trimUnusedImports: true
202378
+ });
202379
+ tsTranspiler2 = new Bun.Transpiler({
202380
+ loader: "tsx",
202381
+ trimUnusedImports: true
202382
+ });
202351
202383
  TRANSPILABLE = new Set([".ts", ".tsx", ".js", ".jsx", ".mjs"]);
202384
+ ALL_EXPORTS_RE = /export\s+(?:type|interface|const|let|var|function|class|enum|abstract\s+class)\s+(\w+)/g;
202352
202385
  REACT_EXTENSIONS = new Set([".tsx", ".jsx"]);
202353
202386
  HOOK_NAMES = new Set([
202354
202387
  "useState",
@@ -202381,7 +202414,8 @@ var init_moduleServer = __esm(() => {
202381
202414
  FRAGMENT_RE = /\b(Fragment_[a-z0-9]+)\b/;
202382
202415
  reactTranspiler = new Bun.Transpiler({
202383
202416
  loader: "tsx",
202384
- reactFastRefresh: true
202417
+ reactFastRefresh: true,
202418
+ trimUnusedImports: true
202385
202419
  });
202386
202420
  invalidateModule = invalidate;
202387
202421
  SRC_URL_PREFIX = SRC_PREFIX;
@@ -203818,6 +203852,7 @@ var toSafeFileName3 = (specifier) => specifier.replace(/\//g, "_").replace(/@/g,
203818
203852
  }));
203819
203853
  const result = await bunBuild5({
203820
203854
  entrypoints,
203855
+ external: [...FRAMEWORK_SPECIFIERS],
203821
203856
  format: "esm",
203822
203857
  minify: false,
203823
203858
  naming: "[name].[ext]",
@@ -203827,6 +203862,29 @@ var toSafeFileName3 = (specifier) => specifier.replace(/\//g, "_").replace(/@/g,
203827
203862
  throw: false
203828
203863
  });
203829
203864
  await rm7(tmpDir, { force: true, recursive: true });
203865
+ if (result.success) {
203866
+ const { readdirSync: readdirSync2, readFileSync: readFileSync10, writeFileSync: writeFileSync5 } = await import("fs");
203867
+ const { computeVendorPaths: computeVendorPaths2 } = await Promise.resolve().then(() => (init_buildReactVendor(), exports_buildReactVendor));
203868
+ const reactPaths = computeVendorPaths2();
203869
+ const files = readdirSync2(vendorDir).filter((f) => f.endsWith(".js"));
203870
+ for (const file4 of files) {
203871
+ const filePath = join14(vendorDir, file4);
203872
+ let content = readFileSync10(filePath, "utf-8");
203873
+ let changed = false;
203874
+ for (const [specifier, webPath] of Object.entries(reactPaths)) {
203875
+ const escaped = specifier.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
203876
+ const re = new RegExp(`(from\\s*["'])${escaped}(["'])`, "g");
203877
+ const newContent = content.replace(re, `$1${webPath}$2`);
203878
+ if (newContent !== content) {
203879
+ content = newContent;
203880
+ changed = true;
203881
+ }
203882
+ }
203883
+ if (changed) {
203884
+ writeFileSync5(filePath, content);
203885
+ }
203886
+ }
203887
+ }
203830
203888
  if (!result.success) {
203831
203889
  console.warn("\u26A0\uFE0F Dependency vendor build had errors:", result.logs);
203832
203890
  }
@@ -204473,5 +204531,5 @@ export {
204473
204531
  ANGULAR_INIT_TIMEOUT_MS
204474
204532
  };
204475
204533
 
204476
- //# debugId=6D0456E07F4F84EF64756E2164756E21
204534
+ //# debugId=841379061E51245664756E2164756E21
204477
204535
  //# sourceMappingURL=index.js.map