@absolutejs/absolute 0.19.0-beta.65 → 0.19.0-beta.67

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.
@@ -222,7 +222,11 @@
222
222
  "Bash(kill 892052)",
223
223
  "Bash(sed -i 's/\"\"\"\"@absolutejs\\\\/absolute\"\"\"\": \"\"\"\"0.19.0-beta.62\"\"\"\"/\"\"\"\"@absolutejs\\\\/absolute\"\"\"\": \"\"\"\"0.19.0-beta.63\"\"\"\"/' package.json)",
224
224
  "Bash(kill 895541)",
225
- "Bash(sed -i 's/\"\"\"\"@absolutejs\\\\/absolute\"\"\"\": \"\"\"\"0.19.0-beta.63\"\"\"\"/\"\"\"\"@absolutejs\\\\/absolute\"\"\"\": \"\"\"\"0.19.0-beta.64\"\"\"\"/' package.json)"
225
+ "Bash(sed -i 's/\"\"\"\"@absolutejs\\\\/absolute\"\"\"\": \"\"\"\"0.19.0-beta.63\"\"\"\"/\"\"\"\"@absolutejs\\\\/absolute\"\"\"\": \"\"\"\"0.19.0-beta.64\"\"\"\"/' package.json)",
226
+ "Bash(kill 897850)",
227
+ "Bash(sed -i 's/\"\"\"\"@absolutejs\\\\/absolute\"\"\"\": \"\"\"\"0.19.0-beta.64\"\"\"\"/\"\"\"\"@absolutejs\\\\/absolute\"\"\"\": \"\"\"\"0.19.0-beta.65\"\"\"\"/' package.json)",
228
+ "Bash(kill 899808)",
229
+ "Bash(sed -i 's/\"\"\"\"@absolutejs\\\\/absolute\"\"\"\": \"\"\"\"0.19.0-beta.65\"\"\"\"/\"\"\"\"@absolutejs\\\\/absolute\"\"\"\": \"\"\"\"0.19.0-beta.66\"\"\"\"/' package.json)"
226
230
  ]
227
231
  }
228
232
  }
package/dist/build.js CHANGED
@@ -202323,15 +202323,74 @@ var init_pageHandler = __esm(() => {
202323
202323
  });
202324
202324
 
202325
202325
  // src/dev/transformCache.ts
202326
- var globalStore, cache, getTransformed = (filePath) => cache.get(filePath)?.content, setTransformed = (filePath, content, mtime) => {
202327
- cache.set(filePath, { content, mtime });
202328
- }, invalidate = (filePath) => {
202329
- cache.delete(filePath);
202326
+ var exports_transformCache = {};
202327
+ __export(exports_transformCache, {
202328
+ setTransformed: () => setTransformed,
202329
+ invalidateAll: () => invalidateAll,
202330
+ invalidate: () => invalidate,
202331
+ getTransformed: () => getTransformed,
202332
+ getInvalidationVersion: () => getInvalidationVersion,
202333
+ findNearestComponent: () => findNearestComponent
202334
+ });
202335
+ var globalStore, cache, importers, getTransformed = (filePath) => cache.get(filePath)?.content, setTransformed = (filePath, content, mtime, imports) => {
202336
+ const resolvedImports = imports ?? [];
202337
+ cache.set(filePath, { content, imports: resolvedImports, mtime });
202338
+ for (const imp of resolvedImports) {
202339
+ if (!importers.has(imp)) {
202340
+ importers.set(imp, new Set);
202341
+ }
202342
+ importers.get(imp).add(filePath);
202343
+ }
202344
+ }, invalidationVersions, getInvalidationVersion = (filePath) => invalidationVersions.get(filePath) ?? 0, invalidate = (filePath) => {
202345
+ const queue = [filePath];
202346
+ const visited = new Set;
202347
+ while (queue.length > 0) {
202348
+ const current = queue.pop();
202349
+ if (visited.has(current))
202350
+ continue;
202351
+ visited.add(current);
202352
+ cache.delete(current);
202353
+ if (current !== filePath) {
202354
+ invalidationVersions.set(current, (invalidationVersions.get(current) ?? 0) + 1);
202355
+ }
202356
+ const parents = importers.get(current);
202357
+ if (parents) {
202358
+ for (const parent of parents) {
202359
+ queue.push(parent);
202360
+ }
202361
+ }
202362
+ }
202363
+ }, invalidateAll = () => {
202364
+ cache.clear();
202365
+ importers.clear();
202366
+ }, findNearestComponent = (filePath) => {
202367
+ const visited = new Set;
202368
+ const queue = [filePath];
202369
+ while (queue.length > 0) {
202370
+ const current = queue.shift();
202371
+ if (visited.has(current))
202372
+ continue;
202373
+ visited.add(current);
202374
+ const parents = importers.get(current);
202375
+ if (!parents)
202376
+ continue;
202377
+ for (const parent of parents) {
202378
+ if (parent.endsWith(".tsx") || parent.endsWith(".jsx")) {
202379
+ return parent;
202380
+ }
202381
+ queue.push(parent);
202382
+ }
202383
+ }
202384
+ return;
202330
202385
  };
202331
202386
  var init_transformCache = __esm(() => {
202332
202387
  globalStore = globalThis;
202333
202388
  cache = globalStore.__transformCache ?? new Map;
202334
202389
  globalStore.__transformCache = cache;
202390
+ importers = globalStore.__transformImporters ?? new Map;
202391
+ globalStore.__transformImporters = importers;
202392
+ invalidationVersions = globalStore.__transformInvalidationVersions ?? new Map;
202393
+ globalStore.__transformInvalidationVersions = invalidationVersions;
202335
202394
  });
202336
202395
 
202337
202396
  // src/dev/moduleServer.ts
@@ -202384,7 +202443,9 @@ ${stubs}
202384
202443
  return base;
202385
202444
  }
202386
202445
  }
202387
- return `${base}?v=${mtime}`;
202446
+ const iv = getInvalidationVersion(absPath);
202447
+ const version = iv > 0 ? `${mtime}.${iv}` : `${mtime}`;
202448
+ return `${base}?v=${version}`;
202388
202449
  }, rewriteImports2 = (code, filePath, projectRoot, rewriter) => {
202389
202450
  let result = code;
202390
202451
  if (rewriter) {
@@ -202827,7 +202888,7 @@ export default {};
202827
202888
  return jsResponse(cached2);
202828
202889
  const stat3 = statSync(filePath);
202829
202890
  const content2 = await transformSvelteFile(filePath, projectRoot, rewriter);
202830
- setTransformed(filePath, content2, stat3.mtimeMs);
202891
+ setTransformed(filePath, content2, stat3.mtimeMs, extractImportedFiles(content2, projectRoot));
202831
202892
  return jsResponse(content2);
202832
202893
  }
202833
202894
  if (ext === ".vue") {
@@ -202836,7 +202897,7 @@ export default {};
202836
202897
  return jsResponse(cached2);
202837
202898
  const stat3 = statSync(filePath);
202838
202899
  const content2 = await transformVueFile(filePath, projectRoot, rewriter, frameworkDirs?.vue);
202839
- setTransformed(filePath, content2, stat3.mtimeMs);
202900
+ setTransformed(filePath, content2, stat3.mtimeMs, extractImportedFiles(content2, projectRoot));
202840
202901
  return jsResponse(content2);
202841
202902
  }
202842
202903
  if (!TRANSPILABLE.has(ext))
@@ -202846,7 +202907,7 @@ export default {};
202846
202907
  return jsResponse(cached);
202847
202908
  const stat2 = statSync(filePath);
202848
202909
  const content = REACT_EXTENSIONS.has(ext) ? transformReactFile(filePath, projectRoot, rewriter) : transformPlainFile(filePath, projectRoot, rewriter);
202849
- setTransformed(filePath, content, stat2.mtimeMs);
202910
+ setTransformed(filePath, content, stat2.mtimeMs, extractImportedFiles(content, projectRoot));
202850
202911
  return jsResponse(content);
202851
202912
  } catch (err) {
202852
202913
  const errMsg = err instanceof Error ? err.message : String(err);
@@ -202856,6 +202917,15 @@ export default {};
202856
202917
  });
202857
202918
  }
202858
202919
  };
202920
+ }, SRC_IMPORT_RE, extractImportedFiles = (content, projectRoot) => {
202921
+ const files = [];
202922
+ let match;
202923
+ SRC_IMPORT_RE.lastIndex = 0;
202924
+ while ((match = SRC_IMPORT_RE.exec(content)) !== null) {
202925
+ if (match[1])
202926
+ files.push(resolve17(projectRoot, match[1]));
202927
+ }
202928
+ return files;
202859
202929
  }, invalidateModule = (filePath) => {
202860
202930
  invalidate(filePath);
202861
202931
  mtimeCache.delete(filePath);
@@ -202923,6 +202993,7 @@ var init_moduleServer = __esm(() => {
202923
202993
  trimUnusedImports: true
202924
202994
  });
202925
202995
  svelteExternalCss = new Map;
202996
+ SRC_IMPORT_RE = /\/@src\/([^"'?\s]+)/g;
202926
202997
  SRC_URL_PREFIX = SRC_PREFIX;
202927
202998
  });
202928
202999
 
@@ -203450,15 +203521,20 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, parseError
203450
203521
  invalidateModule2(file3);
203451
203522
  }
203452
203523
  const isComponentFile = primaryFile.endsWith(".tsx") || primaryFile.endsWith(".jsx");
203453
- const pageModuleUrl = await getReactModuleUrl(primaryFile);
203454
- const dataModuleUrl = isComponentFile ? undefined : pageModuleUrl;
203524
+ let broadcastTarget = primaryFile;
203525
+ if (!isComponentFile) {
203526
+ const { findNearestComponent: findNearestComponent2 } = await Promise.resolve().then(() => (init_transformCache(), exports_transformCache));
203527
+ const nearest = findNearestComponent2(resolve20(primaryFile));
203528
+ if (nearest)
203529
+ broadcastTarget = nearest;
203530
+ }
203531
+ const pageModuleUrl = await getReactModuleUrl(broadcastTarget);
203455
203532
  if (pageModuleUrl) {
203456
203533
  const serverDuration = Date.now() - startTime;
203457
203534
  state.lastHmrPath = relative9(process.cwd(), primaryFile).replace(/\\/g, "/");
203458
203535
  state.lastHmrFramework = "react";
203459
203536
  broadcastToClients(state, {
203460
203537
  data: {
203461
- dataModuleUrl,
203462
203538
  framework: "react",
203463
203539
  hasComponentChanges: true,
203464
203540
  hasCSSChanges: false,
@@ -204834,5 +204910,5 @@ export {
204834
204910
  build
204835
204911
  };
204836
204912
 
204837
- //# debugId=421E365206B8CDCA64756E2164756E21
204913
+ //# debugId=7A6B14034B607E3F64756E2164756E21
204838
204914
  //# sourceMappingURL=build.js.map