@absolutejs/absolute 0.19.0-beta.150 → 0.19.0-beta.151

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
@@ -202722,7 +202722,7 @@ ${stubs}
202722
202722
  const relPath = relative8(projectRoot, filePath).replace(/\\/g, "/");
202723
202723
  transpiled = transpiled.replace(/\binput\.tsx:/g, `${relPath}:`);
202724
202724
  return rewriteImports2(transpiled, filePath, projectRoot, rewriter);
202725
- }, transformPlainFile = (filePath, projectRoot, rewriter) => {
202725
+ }, transformPlainFile = (filePath, projectRoot, rewriter, vueDir) => {
202726
202726
  const raw = readFileSync9(filePath, "utf-8");
202727
202727
  const ext = extname3(filePath);
202728
202728
  const isTS = ext === ".ts" || ext === ".tsx";
@@ -202733,7 +202733,59 @@ ${stubs}
202733
202733
  if (isTS) {
202734
202734
  transpiled = preserveTypeExports(raw, transpiled, valueExports);
202735
202735
  }
202736
- return rewriteImports2(transpiled, filePath, projectRoot, rewriter);
202736
+ transpiled = rewriteImports2(transpiled, filePath, projectRoot, rewriter);
202737
+ if (vueDir && filePath.startsWith(vueDir) && isTS) {
202738
+ const useExports = valueExports.filter((e) => e.startsWith("use"));
202739
+ if (useExports.length > 0) {
202740
+ transpiled = injectComposableTracking(transpiled, filePath, useExports);
202741
+ }
202742
+ }
202743
+ return transpiled;
202744
+ }, injectComposableTracking = (code, filePath, useExports) => {
202745
+ const moduleId = JSON.stringify(filePath);
202746
+ const runtime = [
202747
+ `var __hmr_cs = (globalThis.__HMR_COMPOSABLE_STATE__ ??= {});`,
202748
+ `var __hmr_mid = ${moduleId};`,
202749
+ `var __hmr_prev = __hmr_cs[__hmr_mid];`,
202750
+ `var __hmr_idx = {};`,
202751
+ `__hmr_cs[__hmr_mid] = {};`,
202752
+ `function __hmr_wrap(name, fn) {`,
202753
+ ` return function() {`,
202754
+ ` var idx = (__hmr_idx[name] = (__hmr_idx[name] ?? -1) + 1);`,
202755
+ ` var result = fn.apply(this, arguments);`,
202756
+ ` if (result && typeof result === "object") {`,
202757
+ ` var snap = {};`,
202758
+ ` for (var k in result) {`,
202759
+ ` var v = result[k];`,
202760
+ ` if (v && typeof v === "object" && "value" in v && typeof v.value !== "function") {`,
202761
+ ` snap[k] = v.value;`,
202762
+ ` }`,
202763
+ ` }`,
202764
+ ` (__hmr_cs[__hmr_mid][name] ??= [])[idx] = snap;`,
202765
+ ` if (__hmr_prev && __hmr_prev[name] && __hmr_prev[name][idx]) {`,
202766
+ ` var old = __hmr_prev[name][idx];`,
202767
+ ` for (var k in old) {`,
202768
+ ` var nv = result[k];`,
202769
+ ` if (nv && typeof nv === "object" && "value" in nv && typeof nv.value === typeof old[k]) {`,
202770
+ ` nv.value = old[k];`,
202771
+ ` }`,
202772
+ ` }`,
202773
+ ` }`,
202774
+ ` }`,
202775
+ ` return result;`,
202776
+ ` };`,
202777
+ `}`
202778
+ ].join(`
202779
+ `);
202780
+ let result = runtime + `
202781
+ ` + code;
202782
+ for (const name of useExports) {
202783
+ const exportPattern = new RegExp(`(export\\s+var\\s+${name}\\s*=\\s*)`, "g");
202784
+ result = result.replace(exportPattern, `$1__hmr_wrap(${JSON.stringify(name)}, `);
202785
+ const closingPattern = new RegExp(`(export\\s+var\\s+${name}\\s*=\\s*__hmr_wrap\\([^)]+,\\s*)([\\s\\S]*?)(;\\s*(?:export\\s|$))`, "");
202786
+ result = result.replace(closingPattern, `$1$2)$3`);
202787
+ }
202788
+ return result;
202737
202789
  }, svelteExternalCss, svelteCompiler = null, vueCompiler = null, warmCompilers = async (frameworks) => {
202738
202790
  const [sc, vc] = await Promise.all([
202739
202791
  frameworks.svelte ? import("svelte/compiler") : undefined,
@@ -203060,7 +203112,8 @@ export default {};
203060
203112
  if (cached)
203061
203113
  return jsResponse(cached);
203062
203114
  const stat2 = statSync2(filePath);
203063
- const content = REACT_EXTENSIONS.has(ext) ? transformReactFile(filePath, projectRoot, rewriter) : transformPlainFile(filePath, projectRoot, rewriter);
203115
+ const vueDir = frameworkDirs?.vue ? resolve17(frameworkDirs.vue) : undefined;
203116
+ const content = REACT_EXTENSIONS.has(ext) ? transformReactFile(filePath, projectRoot, rewriter) : transformPlainFile(filePath, projectRoot, rewriter, vueDir);
203064
203117
  setTransformed(filePath, content, stat2.mtimeMs, extractImportedFiles(content, projectRoot));
203065
203118
  return jsResponse(content);
203066
203119
  } catch (err) {
@@ -205092,5 +205145,5 @@ export {
205092
205145
  build
205093
205146
  };
205094
205147
 
205095
- //# debugId=E9AD4B032EEC119F64756E2164756E21
205148
+ //# debugId=0F563F1AF03F4FFC64756E2164756E21
205096
205149
  //# sourceMappingURL=build.js.map