rerender-lens 0.5.0 → 0.7.0

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.
Files changed (64) hide show
  1. package/CHANGELOG.md +50 -1
  2. package/README.md +23 -4
  3. package/dist/{budget-CRswn-nC.d.cts → budget-CA1MS7lB.d.cts} +1 -1
  4. package/dist/{budget-BnJlYwrV.d.ts → budget-ok1VDJ4t.d.ts} +1 -1
  5. package/dist/cli.cjs +78 -26
  6. package/dist/cli.cjs.map +1 -1
  7. package/dist/cli.js +78 -26
  8. package/dist/cli.js.map +1 -1
  9. package/dist/{devtools-BYWat7nQ.d.ts → devtools-Cl5n_52v.d.ts} +11 -2
  10. package/dist/{devtools-DJi_6AfJ.d.cts → devtools-UwQx2VYS.d.cts} +11 -2
  11. package/dist/index.cjs +99 -9
  12. package/dist/index.cjs.map +1 -1
  13. package/dist/index.d.cts +13 -7
  14. package/dist/index.d.ts +13 -7
  15. package/dist/index.js +99 -10
  16. package/dist/index.js.map +1 -1
  17. package/dist/jest-setup.cjs +20 -3
  18. package/dist/jest-setup.cjs.map +1 -1
  19. package/dist/jest-setup.d.cts +4 -4
  20. package/dist/jest-setup.d.ts +4 -4
  21. package/dist/jest-setup.js +20 -3
  22. package/dist/jest-setup.js.map +1 -1
  23. package/dist/jest.cjs +20 -3
  24. package/dist/jest.cjs.map +1 -1
  25. package/dist/jest.d.cts +4 -4
  26. package/dist/jest.d.ts +4 -4
  27. package/dist/jest.js +20 -3
  28. package/dist/jest.js.map +1 -1
  29. package/dist/{notifiers-DwKlvv4H.d.cts → notifiers-B5poAEvE.d.cts} +2 -2
  30. package/dist/{notifiers-FNzKHs0a.d.ts → notifiers-CqQW0Eum.d.ts} +2 -2
  31. package/dist/playwright.d.cts +4 -4
  32. package/dist/playwright.d.ts +4 -4
  33. package/dist/relay.cjs +65 -21
  34. package/dist/relay.cjs.map +1 -1
  35. package/dist/relay.d.cts +25 -3
  36. package/dist/relay.d.ts +25 -3
  37. package/dist/relay.js +65 -21
  38. package/dist/relay.js.map +1 -1
  39. package/dist/rerender-lens.iife.js +105 -12
  40. package/dist/{runner-report-CW8X5RwK.d.ts → runner-report-Bvqoe89M.d.ts} +2 -2
  41. package/dist/{runner-report-B8Sc3FZO.d.cts → runner-report-CvpDg2zt.d.cts} +2 -2
  42. package/dist/setup.cjs +98 -9
  43. package/dist/setup.cjs.map +1 -1
  44. package/dist/setup.js +98 -9
  45. package/dist/setup.js.map +1 -1
  46. package/dist/{types-DW5-N2XH.d.cts → types-DwNN5cWe.d.cts} +28 -1
  47. package/dist/{types-DW5-N2XH.d.ts → types-DwNN5cWe.d.ts} +28 -1
  48. package/dist/vite.d.cts +1 -1
  49. package/dist/vite.d.ts +1 -1
  50. package/dist/vitest-setup.cjs +20 -3
  51. package/dist/vitest-setup.cjs.map +1 -1
  52. package/dist/vitest-setup.d.cts +4 -4
  53. package/dist/vitest-setup.d.ts +4 -4
  54. package/dist/vitest-setup.js +20 -3
  55. package/dist/vitest-setup.js.map +1 -1
  56. package/dist/vitest.cjs +20 -3
  57. package/dist/vitest.cjs.map +1 -1
  58. package/dist/vitest.d.cts +5 -5
  59. package/dist/vitest.d.ts +5 -5
  60. package/dist/vitest.js +20 -3
  61. package/dist/vitest.js.map +1 -1
  62. package/package.json +3 -2
  63. package/panel/panel.css +48 -0
  64. package/panel/panel.js +348 -20
package/dist/vitest.d.cts CHANGED
@@ -1,8 +1,8 @@
1
- import { R as ReporterOptions } from './runner-report-B8Sc3FZO.cjs';
2
- export { L as LensSetup, O as OUT_ENV, a as RunResult, S as SetupHooks, b as SetupOptions, r as readRun, s as setupRerenderLens } from './runner-report-B8Sc3FZO.cjs';
3
- export { c as checkBudget, f as formatFixes } from './budget-CRswn-nC.cjs';
4
- import './types-DW5-N2XH.cjs';
5
- import './notifiers-DwKlvv4H.cjs';
1
+ import { R as ReporterOptions } from './runner-report-CvpDg2zt.cjs';
2
+ export { L as LensSetup, O as OUT_ENV, a as RunResult, S as SetupHooks, b as SetupOptions, r as readRun, s as setupRerenderLens } from './runner-report-CvpDg2zt.cjs';
3
+ export { c as checkBudget, f as formatFixes } from './budget-CA1MS7lB.cjs';
4
+ import './types-DwNN5cWe.cjs';
5
+ import './notifiers-B5poAEvE.cjs';
6
6
 
7
7
  /**
8
8
  * Vitest integration: one `setupFiles` line collects every avoidable re-render across the run,
package/dist/vitest.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- import { R as ReporterOptions } from './runner-report-CW8X5RwK.js';
2
- export { L as LensSetup, O as OUT_ENV, a as RunResult, S as SetupHooks, b as SetupOptions, r as readRun, s as setupRerenderLens } from './runner-report-CW8X5RwK.js';
3
- export { c as checkBudget, f as formatFixes } from './budget-BnJlYwrV.js';
4
- import './types-DW5-N2XH.js';
5
- import './notifiers-FNzKHs0a.js';
1
+ import { R as ReporterOptions } from './runner-report-Bvqoe89M.js';
2
+ export { L as LensSetup, O as OUT_ENV, a as RunResult, S as SetupHooks, b as SetupOptions, r as readRun, s as setupRerenderLens } from './runner-report-Bvqoe89M.js';
3
+ export { c as checkBudget, f as formatFixes } from './budget-ok1VDJ4t.js';
4
+ import './types-DwNN5cWe.js';
5
+ import './notifiers-CqQW0Eum.js';
6
6
 
7
7
  /**
8
8
  * Vitest integration: one `setupFiles` line collects every avoidable re-render across the run,
package/dist/vitest.js CHANGED
@@ -385,16 +385,27 @@ function printReport(report, options) {
385
385
  }
386
386
 
387
387
  // src/state.ts
388
+ var MAX_SEEN_COMPONENTS = 500;
388
389
  var KEY = /* @__PURE__ */ Symbol.for("rerender-lens.state");
389
390
  function getState() {
390
391
  const g = globalThis;
391
392
  let s = g[KEY];
392
393
  if (!s) {
393
- s = { options: {}, enabled: false, printed: /* @__PURE__ */ new Map(), detach: null, nextInstanceId: 1, nextCommitId: 1, warnedOnce: /* @__PURE__ */ new Set(), scheduled: 0, commits: 0, overheadMs: 0, maxCommitMs: 0, truncated: 0 };
394
+ s = { options: {}, enabled: false, printed: /* @__PURE__ */ new Map(), detach: null, nextInstanceId: 1, nextCommitId: 1, warnedOnce: /* @__PURE__ */ new Set(), scheduled: 0, commits: 0, overheadMs: 0, maxCommitMs: 0, truncated: 0, seen: /* @__PURE__ */ new Set(), seenTracked: /* @__PURE__ */ new Set(), seenOverflow: false };
394
395
  g[KEY] = s;
395
396
  }
396
397
  return s;
397
398
  }
399
+ function noteRendered(s, name, tracked) {
400
+ if (!s.seen.has(name)) {
401
+ if (s.seen.size >= MAX_SEEN_COMPONENTS) {
402
+ s.seenOverflow = true;
403
+ return;
404
+ }
405
+ s.seen.add(name);
406
+ }
407
+ if (tracked) s.seenTracked.add(name);
408
+ }
398
409
  function warnOnce(key, message) {
399
410
  const s = getState();
400
411
  if (s.warnedOnce.has(key)) return;
@@ -472,6 +483,9 @@ function init(options = {}) {
472
483
  const s = getState();
473
484
  s.options = { ...options };
474
485
  s.printed.clear();
486
+ s.seen.clear();
487
+ s.seenTracked.clear();
488
+ s.seenOverflow = false;
475
489
  if (!s.enabled) {
476
490
  s.detach = attach();
477
491
  s.enabled = true;
@@ -1140,8 +1154,11 @@ function onCommit(root, commitPriority) {
1140
1154
  const alt = fiber.alternate;
1141
1155
  if (alt && isComponentTag(fiber.tag) && didRender(fiber)) {
1142
1156
  if (isHotSwapped(fiber, alt)) hot = true;
1143
- renderedNames.add(fiberName(fiber));
1144
- if (shouldTrack(fiberType(fiber), o)) rendered.push(fiber);
1157
+ const name = fiberName(fiber);
1158
+ renderedNames.add(name);
1159
+ const tracked = shouldTrack(fiberType(fiber), o);
1160
+ noteRendered(s, name, tracked);
1161
+ if (tracked) rendered.push(fiber);
1145
1162
  }
1146
1163
  if (fiber.tag === SuspenseComponent && alt && alt.memoizedState !== null && fiber.memoizedState === null) (resolvedBoundaries ?? (resolvedBoundaries = [])).push(fiber);
1147
1164
  if (!alt || fiber.child !== alt.child) {