@absolutejs/absolute 0.19.0-beta.26 → 0.19.0-beta.28

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.
@@ -145,7 +145,8 @@
145
145
  "Bash(~/alex/bun-transpiler-patch/build/debug/bun-debug --version)",
146
146
  "Bash(sleep 1 __NEW_LINE_7daf3039beb10014__ ~/alex/bun-transpiler-patch/build/debug/bun-debug -e \":*)",
147
147
  "Bash(/dev/null cd:*)",
148
- "Bash(CMAKE_BUILD_TYPE=Release bun bd -- -Doptimize=ReleaseFast)"
148
+ "Bash(CMAKE_BUILD_TYPE=Release bun bd -- -Doptimize=ReleaseFast)",
149
+ "Bash(/dev/null rm:*)"
149
150
  ]
150
151
  }
151
152
  }
package/dist/build.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 resolve16, 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");
@@ -202274,11 +202299,25 @@ var SRC_PREFIX = "/@src/", jsTranspiler2, TRANSPILABLE, REACT_EXTENSIONS, escape
202274
202299
  }, createModuleServer = (config) => {
202275
202300
  const { projectRoot, vendorPaths } = config;
202276
202301
  const rewriter = buildImportRewriter(vendorPaths);
202277
- return (pathname) => {
202302
+ return async (pathname) => {
202278
202303
  if (pathname.startsWith("/@stub/")) {
202279
- return new Response("export default {}; export {};", {
202304
+ const specifier = decodeURIComponent(pathname.slice("/@stub/".length));
202305
+ let stubCode = `export default {};
202306
+ `;
202307
+ try {
202308
+ const mod = await import(specifier);
202309
+ const names = Object.keys(mod).filter((k) => k !== "default" && k !== "__esModule");
202310
+ if (names.length > 0) {
202311
+ const noops = names.map((n) => `export const ${n} = () => {};`).join(`
202312
+ `);
202313
+ stubCode = `${noops}
202314
+ export default {};
202315
+ `;
202316
+ }
202317
+ } catch {}
202318
+ return new Response(stubCode, {
202280
202319
  headers: {
202281
- "Cache-Control": "no-cache",
202320
+ "Cache-Control": "public, max-age=31536000, immutable",
202282
202321
  "Content-Type": "application/javascript"
202283
202322
  }
202284
202323
  });
@@ -202333,8 +202372,16 @@ var SRC_PREFIX = "/@src/", jsTranspiler2, TRANSPILABLE, REACT_EXTENSIONS, escape
202333
202372
  }, invalidateModule, SRC_URL_PREFIX;
202334
202373
  var init_moduleServer = __esm(() => {
202335
202374
  init_transformCache();
202336
- 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
+ });
202337
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;
202338
202385
  REACT_EXTENSIONS = new Set([".tsx", ".jsx"]);
202339
202386
  HOOK_NAMES = new Set([
202340
202387
  "useState",
@@ -202367,7 +202414,8 @@ var init_moduleServer = __esm(() => {
202367
202414
  FRAGMENT_RE = /\b(Fragment_[a-z0-9]+)\b/;
202368
202415
  reactTranspiler = new Bun.Transpiler({
202369
202416
  loader: "tsx",
202370
- reactFastRefresh: true
202417
+ reactFastRefresh: true,
202418
+ trimUnusedImports: true
202371
202419
  });
202372
202420
  invalidateModule = invalidate;
202373
202421
  SRC_URL_PREFIX = SRC_PREFIX;
@@ -204095,5 +204143,5 @@ export {
204095
204143
  build
204096
204144
  };
204097
204145
 
204098
- //# debugId=B82AAE7439B05C6764756E2164756E21
204146
+ //# debugId=A0A541E2757FDC3464756E2164756E21
204099
204147
  //# sourceMappingURL=build.js.map