@absolutejs/absolute 0.19.0-beta.64 → 0.19.0-beta.66

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.
@@ -220,7 +220,11 @@
220
220
  "Bash(kill 883998)",
221
221
  "Bash(sed -i 's/\"\"\"\"@absolutejs\\\\/absolute\"\"\"\": \"\"\"\"0.19.0-beta.61\"\"\"\"/\"\"\"\"@absolutejs\\\\/absolute\"\"\"\": \"\"\"\"0.19.0-beta.62\"\"\"\"/' package.json)",
222
222
  "Bash(kill 892052)",
223
- "Bash(sed -i 's/\"\"\"\"@absolutejs\\\\/absolute\"\"\"\": \"\"\"\"0.19.0-beta.62\"\"\"\"/\"\"\"\"@absolutejs\\\\/absolute\"\"\"\": \"\"\"\"0.19.0-beta.63\"\"\"\"/' package.json)"
223
+ "Bash(sed -i 's/\"\"\"\"@absolutejs\\\\/absolute\"\"\"\": \"\"\"\"0.19.0-beta.62\"\"\"\"/\"\"\"\"@absolutejs\\\\/absolute\"\"\"\": \"\"\"\"0.19.0-beta.63\"\"\"\"/' package.json)",
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)",
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)"
224
228
  ]
225
229
  }
226
230
  }
package/dist/build.js CHANGED
@@ -202323,15 +202323,43 @@ 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 globalStore, cache, importers, getTransformed = (filePath) => cache.get(filePath)?.content, setTransformed = (filePath, content, mtime, imports) => {
202327
+ const resolvedImports = imports ?? [];
202328
+ cache.set(filePath, { content, imports: resolvedImports, mtime });
202329
+ for (const imp of resolvedImports) {
202330
+ if (!importers.has(imp)) {
202331
+ importers.set(imp, new Set);
202332
+ }
202333
+ importers.get(imp).add(filePath);
202334
+ }
202335
+ }, invalidationVersions, getInvalidationVersion = (filePath) => invalidationVersions.get(filePath) ?? 0, invalidate = (filePath) => {
202336
+ const queue = [filePath];
202337
+ const visited = new Set;
202338
+ while (queue.length > 0) {
202339
+ const current = queue.pop();
202340
+ if (visited.has(current))
202341
+ continue;
202342
+ visited.add(current);
202343
+ cache.delete(current);
202344
+ if (current !== filePath) {
202345
+ invalidationVersions.set(current, (invalidationVersions.get(current) ?? 0) + 1);
202346
+ }
202347
+ const parents = importers.get(current);
202348
+ if (parents) {
202349
+ for (const parent of parents) {
202350
+ queue.push(parent);
202351
+ }
202352
+ }
202353
+ }
202330
202354
  };
202331
202355
  var init_transformCache = __esm(() => {
202332
202356
  globalStore = globalThis;
202333
202357
  cache = globalStore.__transformCache ?? new Map;
202334
202358
  globalStore.__transformCache = cache;
202359
+ importers = globalStore.__transformImporters ?? new Map;
202360
+ globalStore.__transformImporters = importers;
202361
+ invalidationVersions = globalStore.__transformInvalidationVersions ?? new Map;
202362
+ globalStore.__transformInvalidationVersions = invalidationVersions;
202335
202363
  });
202336
202364
 
202337
202365
  // src/dev/moduleServer.ts
@@ -202384,7 +202412,9 @@ ${stubs}
202384
202412
  return base;
202385
202413
  }
202386
202414
  }
202387
- return `${base}?v=${mtime}`;
202415
+ const iv = getInvalidationVersion(absPath);
202416
+ const version = iv > 0 ? `${mtime}.${iv}` : `${mtime}`;
202417
+ return `${base}?v=${version}`;
202388
202418
  }, rewriteImports2 = (code, filePath, projectRoot, rewriter) => {
202389
202419
  let result = code;
202390
202420
  if (rewriter) {
@@ -202827,7 +202857,7 @@ export default {};
202827
202857
  return jsResponse(cached2);
202828
202858
  const stat3 = statSync(filePath);
202829
202859
  const content2 = await transformSvelteFile(filePath, projectRoot, rewriter);
202830
- setTransformed(filePath, content2, stat3.mtimeMs);
202860
+ setTransformed(filePath, content2, stat3.mtimeMs, extractImportedFiles(content2, projectRoot));
202831
202861
  return jsResponse(content2);
202832
202862
  }
202833
202863
  if (ext === ".vue") {
@@ -202836,7 +202866,7 @@ export default {};
202836
202866
  return jsResponse(cached2);
202837
202867
  const stat3 = statSync(filePath);
202838
202868
  const content2 = await transformVueFile(filePath, projectRoot, rewriter, frameworkDirs?.vue);
202839
- setTransformed(filePath, content2, stat3.mtimeMs);
202869
+ setTransformed(filePath, content2, stat3.mtimeMs, extractImportedFiles(content2, projectRoot));
202840
202870
  return jsResponse(content2);
202841
202871
  }
202842
202872
  if (!TRANSPILABLE.has(ext))
@@ -202846,7 +202876,7 @@ export default {};
202846
202876
  return jsResponse(cached);
202847
202877
  const stat2 = statSync(filePath);
202848
202878
  const content = REACT_EXTENSIONS.has(ext) ? transformReactFile(filePath, projectRoot, rewriter) : transformPlainFile(filePath, projectRoot, rewriter);
202849
- setTransformed(filePath, content, stat2.mtimeMs);
202879
+ setTransformed(filePath, content, stat2.mtimeMs, extractImportedFiles(content, projectRoot));
202850
202880
  return jsResponse(content);
202851
202881
  } catch (err) {
202852
202882
  const errMsg = err instanceof Error ? err.message : String(err);
@@ -202856,6 +202886,15 @@ export default {};
202856
202886
  });
202857
202887
  }
202858
202888
  };
202889
+ }, SRC_IMPORT_RE, extractImportedFiles = (content, projectRoot) => {
202890
+ const files = [];
202891
+ let match;
202892
+ SRC_IMPORT_RE.lastIndex = 0;
202893
+ while ((match = SRC_IMPORT_RE.exec(content)) !== null) {
202894
+ if (match[1])
202895
+ files.push(resolve17(projectRoot, match[1]));
202896
+ }
202897
+ return files;
202859
202898
  }, invalidateModule = (filePath) => {
202860
202899
  invalidate(filePath);
202861
202900
  mtimeCache.delete(filePath);
@@ -202923,6 +202962,7 @@ var init_moduleServer = __esm(() => {
202923
202962
  trimUnusedImports: true
202924
202963
  });
202925
202964
  svelteExternalCss = new Map;
202965
+ SRC_IMPORT_RE = /\/@src\/([^"'?\s]+)/g;
202926
202966
  SRC_URL_PREFIX = SRC_PREFIX;
202927
202967
  });
202928
202968
 
@@ -203449,44 +203489,13 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, parseError
203449
203489
  for (const file3 of reactFiles) {
203450
203490
  invalidateModule2(file3);
203451
203491
  }
203452
- const isComponentFile = primaryFile.endsWith(".tsx") || primaryFile.endsWith(".jsx");
203453
- let broadcastFile = primaryFile;
203454
- if (!isComponentFile) {
203455
- const pageFile = reactFiles.find((f) => f.replace(/\\/g, "/").includes("/pages/") && (f.endsWith(".tsx") || f.endsWith(".jsx")));
203456
- if (pageFile) {
203457
- broadcastFile = pageFile;
203458
- } else {
203459
- const visited = new Set;
203460
- const queue = [resolve20(primaryFile)];
203461
- while (queue.length > 0) {
203462
- const current = queue.shift();
203463
- if (visited.has(current))
203464
- continue;
203465
- visited.add(current);
203466
- if (current.replace(/\\/g, "/").includes("/pages/") && (current.endsWith(".tsx") || current.endsWith(".jsx"))) {
203467
- broadcastFile = current;
203468
- break;
203469
- }
203470
- const deps = state.dependencyGraph.dependents.get(current);
203471
- if (deps) {
203472
- for (const dep of deps)
203473
- queue.push(dep);
203474
- }
203475
- }
203476
- }
203477
- }
203478
- const pageModuleUrl = await getReactModuleUrl(broadcastFile);
203479
- let dataModuleUrl;
203480
- if (!isComponentFile && broadcastFile !== primaryFile) {
203481
- dataModuleUrl = await getReactModuleUrl(primaryFile);
203482
- }
203492
+ const pageModuleUrl = await getReactModuleUrl(primaryFile);
203483
203493
  if (pageModuleUrl) {
203484
203494
  const serverDuration = Date.now() - startTime;
203485
203495
  state.lastHmrPath = relative9(process.cwd(), primaryFile).replace(/\\/g, "/");
203486
203496
  state.lastHmrFramework = "react";
203487
203497
  broadcastToClients(state, {
203488
203498
  data: {
203489
- dataModuleUrl,
203490
203499
  framework: "react",
203491
203500
  hasComponentChanges: true,
203492
203501
  hasCSSChanges: false,
@@ -204862,5 +204871,5 @@ export {
204862
204871
  build
204863
204872
  };
204864
204873
 
204865
- //# debugId=97FF81EE2B472F2864756E2164756E21
204874
+ //# debugId=B45A17BBFBB29B3764756E2164756E21
204866
204875
  //# sourceMappingURL=build.js.map