on-zero 0.16.19 → 0.16.20

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 (120) hide show
  1. package/dist/cjs/createUseQuery.cjs +2 -1
  2. package/dist/cjs/createUseQuery.native.js +2 -1
  3. package/dist/cjs/createUseQuery.native.js.map +1 -1
  4. package/dist/cjs/createUseQueryDirect.cjs +2 -1
  5. package/dist/cjs/createUseQueryDirect.native.js +2 -1
  6. package/dist/cjs/createUseQueryDirect.native.js.map +1 -1
  7. package/dist/cjs/createZeroClient.cjs +75 -9
  8. package/dist/cjs/createZeroClient.native.js +151 -81
  9. package/dist/cjs/createZeroClient.native.js.map +1 -1
  10. package/dist/cjs/createZeroClient.recovery.test.cjs +351 -10
  11. package/dist/cjs/createZeroClient.recovery.test.native.js +412 -12
  12. package/dist/cjs/createZeroClient.recovery.test.native.js.map +1 -1
  13. package/dist/cjs/generate.cjs +16 -11
  14. package/dist/cjs/generate.native.js +16 -11
  15. package/dist/cjs/generate.native.js.map +1 -1
  16. package/dist/cjs/generate.test.cjs +22 -0
  17. package/dist/cjs/generate.test.native.js +22 -0
  18. package/dist/cjs/generate.test.native.js.map +1 -1
  19. package/dist/cjs/helpers/recoverZeroClient.cjs +542 -52
  20. package/dist/cjs/helpers/recoverZeroClient.native.js +721 -59
  21. package/dist/cjs/helpers/recoverZeroClient.native.js.map +1 -1
  22. package/dist/cjs/helpers/recoverZeroClient.test.cjs +318 -0
  23. package/dist/cjs/helpers/recoverZeroClient.test.native.js +361 -0
  24. package/dist/cjs/helpers/recoverZeroClient.test.native.js.map +1 -1
  25. package/dist/cjs/kvStore.cjs +30 -0
  26. package/dist/cjs/kvStore.native.js +34 -0
  27. package/dist/cjs/kvStore.native.js.map +1 -0
  28. package/dist/cjs/queryJson.cjs +58 -0
  29. package/dist/cjs/queryJson.native.js +86 -0
  30. package/dist/cjs/queryJson.native.js.map +1 -0
  31. package/dist/cjs/resolveQuery.cjs +2 -0
  32. package/dist/cjs/resolveQuery.native.js +2 -0
  33. package/dist/cjs/resolveQuery.native.js.map +1 -1
  34. package/dist/cjs/useQuery.empty.test.cjs +11 -1
  35. package/dist/cjs/useQuery.empty.test.native.js +23 -1
  36. package/dist/cjs/useQuery.empty.test.native.js.map +1 -1
  37. package/dist/cjs/useQuery.ssr.test.cjs +22 -1
  38. package/dist/cjs/useQuery.ssr.test.native.js +30 -1
  39. package/dist/cjs/useQuery.ssr.test.native.js.map +1 -1
  40. package/dist/esm/createUseQuery.mjs +2 -1
  41. package/dist/esm/createUseQuery.mjs.map +1 -1
  42. package/dist/esm/createUseQuery.native.js +2 -1
  43. package/dist/esm/createUseQuery.native.js.map +1 -1
  44. package/dist/esm/createUseQueryDirect.mjs +2 -1
  45. package/dist/esm/createUseQueryDirect.mjs.map +1 -1
  46. package/dist/esm/createUseQueryDirect.native.js +2 -1
  47. package/dist/esm/createUseQueryDirect.native.js.map +1 -1
  48. package/dist/esm/createZeroClient.mjs +76 -10
  49. package/dist/esm/createZeroClient.mjs.map +1 -1
  50. package/dist/esm/createZeroClient.native.js +152 -82
  51. package/dist/esm/createZeroClient.native.js.map +1 -1
  52. package/dist/esm/createZeroClient.recovery.test.mjs +352 -11
  53. package/dist/esm/createZeroClient.recovery.test.mjs.map +1 -1
  54. package/dist/esm/createZeroClient.recovery.test.native.js +413 -13
  55. package/dist/esm/createZeroClient.recovery.test.native.js.map +1 -1
  56. package/dist/esm/generate.mjs +16 -11
  57. package/dist/esm/generate.mjs.map +1 -1
  58. package/dist/esm/generate.native.js +16 -11
  59. package/dist/esm/generate.native.js.map +1 -1
  60. package/dist/esm/generate.test.mjs +22 -0
  61. package/dist/esm/generate.test.mjs.map +1 -1
  62. package/dist/esm/generate.test.native.js +22 -0
  63. package/dist/esm/generate.test.native.js.map +1 -1
  64. package/dist/esm/helpers/recoverZeroClient.mjs +542 -54
  65. package/dist/esm/helpers/recoverZeroClient.mjs.map +1 -1
  66. package/dist/esm/helpers/recoverZeroClient.native.js +721 -61
  67. package/dist/esm/helpers/recoverZeroClient.native.js.map +1 -1
  68. package/dist/esm/helpers/recoverZeroClient.test.mjs +319 -1
  69. package/dist/esm/helpers/recoverZeroClient.test.mjs.map +1 -1
  70. package/dist/esm/helpers/recoverZeroClient.test.native.js +362 -1
  71. package/dist/esm/helpers/recoverZeroClient.test.native.js.map +1 -1
  72. package/dist/esm/kvStore.mjs +5 -0
  73. package/dist/esm/kvStore.mjs.map +1 -0
  74. package/dist/esm/kvStore.native.js +6 -0
  75. package/dist/esm/kvStore.native.js.map +1 -0
  76. package/dist/esm/queryJson.mjs +32 -0
  77. package/dist/esm/queryJson.mjs.map +1 -0
  78. package/dist/esm/queryJson.native.js +57 -0
  79. package/dist/esm/queryJson.native.js.map +1 -0
  80. package/dist/esm/resolveQuery.mjs +2 -0
  81. package/dist/esm/resolveQuery.mjs.map +1 -1
  82. package/dist/esm/resolveQuery.native.js +2 -0
  83. package/dist/esm/resolveQuery.native.js.map +1 -1
  84. package/dist/esm/useQuery.empty.test.mjs +12 -2
  85. package/dist/esm/useQuery.empty.test.mjs.map +1 -1
  86. package/dist/esm/useQuery.empty.test.native.js +24 -2
  87. package/dist/esm/useQuery.empty.test.native.js.map +1 -1
  88. package/dist/esm/useQuery.ssr.test.mjs +23 -2
  89. package/dist/esm/useQuery.ssr.test.mjs.map +1 -1
  90. package/dist/esm/useQuery.ssr.test.native.js +31 -2
  91. package/dist/esm/useQuery.ssr.test.native.js.map +1 -1
  92. package/package.json +11 -3
  93. package/src/createUseQuery.tsx +2 -1
  94. package/src/createUseQueryDirect.tsx +2 -1
  95. package/src/createZeroClient.recovery.test.tsx +370 -7
  96. package/src/createZeroClient.tsx +100 -10
  97. package/src/generate.test.ts +31 -0
  98. package/src/generate.ts +22 -10
  99. package/src/helpers/recoverZeroClient.test.ts +323 -0
  100. package/src/helpers/recoverZeroClient.ts +896 -78
  101. package/src/kvStore.native.ts +7 -0
  102. package/src/kvStore.ts +7 -0
  103. package/src/queryJson.ts +46 -0
  104. package/src/resolveQuery.ts +2 -0
  105. package/src/useQuery.empty.test.tsx +16 -2
  106. package/src/useQuery.ssr.test.ts +23 -2
  107. package/types/createUseQuery.d.ts.map +1 -1
  108. package/types/createUseQueryDirect.d.ts.map +1 -1
  109. package/types/createZeroClient.d.ts.map +1 -1
  110. package/types/createZeroClient.recovery.test.d.ts.map +1 -1
  111. package/types/generate.d.ts.map +1 -1
  112. package/types/helpers/recoverZeroClient.d.ts +6 -0
  113. package/types/helpers/recoverZeroClient.d.ts.map +1 -1
  114. package/types/kvStore.d.ts +2 -0
  115. package/types/kvStore.d.ts.map +1 -0
  116. package/types/kvStore.native.d.ts +3 -0
  117. package/types/kvStore.native.d.ts.map +1 -0
  118. package/types/queryJson.d.ts +3 -0
  119. package/types/queryJson.d.ts.map +1 -0
  120. package/types/resolveQuery.d.ts.map +1 -1
@@ -4,7 +4,7 @@ import { act, Suspense, useLayoutEffect } from "react";
4
4
  import { createRoot } from "react-dom/client";
5
5
  import { afterEach, beforeEach, expect, test, vi } from "vitest";
6
6
  import { createZeroClient } from "./createZeroClient.native.js";
7
- import { resetRecoveryStateForTests } from "./helpers/recoverZeroClient.native.js";
7
+ import { isGroupTransitionOpen, resetRecoveryStateForTests } from "./helpers/recoverZeroClient.native.js";
8
8
  function _class_call_check(instance, Constructor) {
9
9
  if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
10
10
  }
@@ -20,6 +20,9 @@ function _define_property(obj, key, value) {
20
20
  return obj;
21
21
  }
22
22
  var fakeZero = vi.hoisted(function () {
23
+ var group = {
24
+ current: "g1"
25
+ };
23
26
  var FakeZero = function FakeZero2(options) {
24
27
  "use strict";
25
28
 
@@ -30,20 +33,11 @@ var fakeZero = vi.hoisted(function () {
30
33
  _define_property(this, "delete", void 0);
31
34
  _define_property(this, "close", void 0);
32
35
  _define_property(this, "run", void 0);
36
+ _define_property(this, "mutate", void 0);
33
37
  _define_property(this, "preload", void 0);
38
+ _define_property(this, "clientGroupID", void 0);
34
39
  this.options = options;
35
40
  this.context = {};
36
- this.connection = {
37
- state: {
38
- current: {
39
- name: "closed"
40
- },
41
- subscribe: function subscribe() {
42
- return function () {};
43
- }
44
- },
45
- connect: vi.fn()
46
- };
47
41
  this.delete = vi.fn(async function () {
48
42
  return {
49
43
  errors: []
@@ -53,6 +47,16 @@ var fakeZero = vi.hoisted(function () {
53
47
  this.run = vi.fn(async function () {
54
48
  return [];
55
49
  });
50
+ this.mutate = {
51
+ note: {
52
+ insert: vi.fn(function () {
53
+ return {
54
+ client: Promise.resolve({}),
55
+ server: Promise.resolve({})
56
+ };
57
+ })
58
+ }
59
+ };
56
60
  this.preload = vi.fn(function () {
57
61
  return {
58
62
  cleanup: function cleanup() {},
@@ -60,11 +64,38 @@ var fakeZero = vi.hoisted(function () {
60
64
  };
61
65
  });
62
66
  instances.push(this);
67
+ this.clientGroupID = Promise.resolve(group.current);
68
+ var listeners = /* @__PURE__ */new Set();
69
+ this.connection = {
70
+ state: {
71
+ current: {
72
+ name: "closed"
73
+ },
74
+ subscribe: function subscribe(listener) {
75
+ listeners.add(listener);
76
+ return function () {
77
+ listeners.delete(listener);
78
+ };
79
+ }
80
+ },
81
+ connect: vi.fn()
82
+ };
83
+ this.__connectionListeners = listeners;
63
84
  };
64
85
  var instances = [];
86
+ function setConnectionState(instance, name) {
87
+ instance.connection.state.current.name = name;
88
+ var listeners = instance.__connectionListeners;
89
+ for (var _i = 0, _iter = [...listeners]; _i < _iter.length; _i++) {
90
+ var listener = _iter[_i];
91
+ listener();
92
+ }
93
+ }
65
94
  return {
66
95
  FakeZero,
67
- instances
96
+ instances,
97
+ group,
98
+ setConnectionState
68
99
  };
69
100
  });
70
101
  vi.mock("@rocicorp/zero", async function (importOriginal) {
@@ -94,6 +125,7 @@ beforeEach(function () {
94
125
  window.sessionStorage.clear();
95
126
  resetRecoveryStateForTests();
96
127
  fakeZero.instances.length = 0;
128
+ fakeZero.group.current = "g1";
97
129
  container = document.createElement("div");
98
130
  root = null;
99
131
  });
@@ -464,4 +496,372 @@ test("headless NewClientGroup recovery reconstructs its client without a provide
464
496
  expect(first.close).toHaveBeenCalledOnce();
465
497
  await connection.close();
466
498
  });
499
+ function makeTransitionClient(instanceName) {
500
+ return createZeroClient({
501
+ schema,
502
+ models: {},
503
+ groupedQueries: {},
504
+ instanceName
505
+ });
506
+ }
507
+ function collectClientEvents(client2) {
508
+ var events = [];
509
+ var off = client2.zeroEvents.listen(function (event) {
510
+ if (event) events.push(event);
511
+ });
512
+ return {
513
+ events,
514
+ off
515
+ };
516
+ }
517
+ async function mountTransitionClient(client2, userID) {
518
+ var el = document.createElement("div");
519
+ var mountedRoot = createRoot(el);
520
+ await act(async function () {
521
+ mountedRoot.render(/* @__PURE__ */_jsx(client2.ProvideZero, {
522
+ cacheURL: "http://127.0.0.1:7777/zero",
523
+ userID,
524
+ children: /* @__PURE__ */_jsx("span", {
525
+ children: "ok"
526
+ })
527
+ }));
528
+ await Promise.resolve();
529
+ });
530
+ return {
531
+ el,
532
+ root: mountedRoot,
533
+ instance: fakeZero.instances.at(-1)
534
+ };
535
+ }
536
+ async function unmountTransitionClient(mounted) {
537
+ await act(async function () {
538
+ mounted.root.unmount();
539
+ });
540
+ }
541
+ function withoutPageReload() {
542
+ var originalLocation = globalThis.location;
543
+ Object.defineProperty(globalThis, "location", {
544
+ configurable: true,
545
+ value: void 0
546
+ });
547
+ return function () {
548
+ Object.defineProperty(globalThis, "location", {
549
+ configurable: true,
550
+ value: originalLocation
551
+ });
552
+ };
553
+ }
554
+ test("two providers ride one group transition and keep querying and mutating", async function () {
555
+ var restoreLocation = withoutPageReload();
556
+ var clientA = makeTransitionClient("transition-two-a");
557
+ var clientB = makeTransitionClient("transition-two-b");
558
+ var collectedA = collectClientEvents(clientA);
559
+ var collectedB = collectClientEvents(clientB);
560
+ var mountedA = await mountTransitionClient(clientA, "transition-user");
561
+ var mountedB = await mountTransitionClient(clientB, "transition-user");
562
+ var firstA = mountedA.instance;
563
+ var firstB = mountedB.instance;
564
+ var countBefore = fakeZero.instances.length;
565
+ try {
566
+ firstA.options.onUpdateNeeded({
567
+ type: "NewClientGroup"
568
+ });
569
+ firstB.options.onUpdateNeeded({
570
+ type: "NewClientGroup"
571
+ });
572
+ await act(async function () {
573
+ await new Promise(function (resolve) {
574
+ return setTimeout(resolve, 0);
575
+ });
576
+ });
577
+ expect(fakeZero.instances).toHaveLength(countBefore + 2);
578
+ var secondA = fakeZero.instances[countBefore];
579
+ var secondB = fakeZero.instances[countBefore + 1];
580
+ expect(secondA).not.toBe(firstA);
581
+ expect(secondB).not.toBe(firstB);
582
+ expect(firstA.close).toHaveBeenCalledTimes(1);
583
+ expect(firstB.close).toHaveBeenCalledTimes(1);
584
+ expect(isGroupTransitionOpen()).toBe(true);
585
+ await act(async function () {
586
+ fakeZero.setConnectionState(secondA, "connected");
587
+ fakeZero.setConnectionState(secondB, "connected");
588
+ await Promise.resolve();
589
+ });
590
+ await vi.waitFor(function () {
591
+ return expect(isGroupTransitionOpen()).toBe(false);
592
+ });
593
+ var allEvents = [...collectedA.events, ...collectedB.events];
594
+ expect(allEvents.filter(function (event) {
595
+ return event.type === "recovering";
596
+ })).toHaveLength(1);
597
+ expect(allEvents.filter(function (event) {
598
+ return event.type === "fatal";
599
+ })).toHaveLength(0);
600
+ expect(firstA.delete).not.toHaveBeenCalled();
601
+ expect(firstB.delete).not.toHaveBeenCalled();
602
+ await clientA.zero.run({});
603
+ await clientB.zero.run({});
604
+ expect(secondA.run).toHaveBeenCalled();
605
+ expect(secondB.run).toHaveBeenCalled();
606
+ clientA.zero.mutate.note.insert({
607
+ id: "a1"
608
+ });
609
+ clientB.zero.mutate.note.insert({
610
+ id: "b1"
611
+ });
612
+ expect(secondA.mutate.note.insert).toHaveBeenCalledTimes(1);
613
+ expect(secondB.mutate.note.insert).toHaveBeenCalledTimes(1);
614
+ } finally {
615
+ collectedA.off();
616
+ collectedB.off();
617
+ await unmountTransitionClient(mountedA);
618
+ await unmountTransitionClient(mountedB);
619
+ restoreLocation();
620
+ }
621
+ });
622
+ test("a second registry change after recovery remints again without fatal", async function () {
623
+ var restoreLocation = withoutPageReload();
624
+ var clientA = makeTransitionClient("transition-second-a");
625
+ var clientB = makeTransitionClient("transition-second-b");
626
+ var collectedA = collectClientEvents(clientA);
627
+ var collectedB = collectClientEvents(clientB);
628
+ var mountedA = await mountTransitionClient(clientA, "transition-second-user");
629
+ var mountedB = await mountTransitionClient(clientB, "transition-second-user");
630
+ try {
631
+ var fireBoth = function fireBoth2(instances) {
632
+ instances[0].options.onUpdateNeeded({
633
+ type: "NewClientGroup"
634
+ });
635
+ instances[1].options.onUpdateNeeded({
636
+ type: "NewClientGroup"
637
+ });
638
+ };
639
+ var settleRemints = async function settleRemints2(countBefore2) {
640
+ await act(async function () {
641
+ await new Promise(function (resolve) {
642
+ return setTimeout(resolve, 0);
643
+ });
644
+ });
645
+ expect(fakeZero.instances).toHaveLength(countBefore2 + 2);
646
+ var next = fakeZero.instances.slice(countBefore2);
647
+ await act(async function () {
648
+ var _iteratorNormalCompletion = true,
649
+ _didIteratorError = false,
650
+ _iteratorError = void 0;
651
+ try {
652
+ for (var _iterator = next[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
653
+ var instance = _step.value;
654
+ fakeZero.setConnectionState(instance, "connected");
655
+ }
656
+ } catch (err) {
657
+ _didIteratorError = true;
658
+ _iteratorError = err;
659
+ } finally {
660
+ try {
661
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
662
+ _iterator.return();
663
+ }
664
+ } finally {
665
+ if (_didIteratorError) {
666
+ throw _iteratorError;
667
+ }
668
+ }
669
+ }
670
+ await Promise.resolve();
671
+ });
672
+ await vi.waitFor(function () {
673
+ return expect(isGroupTransitionOpen()).toBe(false);
674
+ });
675
+ return next;
676
+ };
677
+ var countBeforeFirst = fakeZero.instances.length;
678
+ fireBoth(fakeZero.instances.slice(-2));
679
+ await settleRemints(countBeforeFirst);
680
+ fakeZero.group.current = "g2";
681
+ var countBefore = fakeZero.instances.length;
682
+ fireBoth(fakeZero.instances.slice(-2));
683
+ var third = await settleRemints(countBefore);
684
+ var allEvents = [...collectedA.events, ...collectedB.events];
685
+ expect(allEvents.filter(function (event) {
686
+ return event.type === "recovering";
687
+ })).toHaveLength(2);
688
+ expect(allEvents.filter(function (event) {
689
+ return event.type === "fatal";
690
+ })).toHaveLength(0);
691
+ await clientA.zero.run({});
692
+ await clientB.zero.run({});
693
+ expect(third[0].run).toHaveBeenCalled();
694
+ expect(third[1].run).toHaveBeenCalled();
695
+ } finally {
696
+ collectedA.off();
697
+ collectedB.off();
698
+ await unmountTransitionClient(mountedA);
699
+ await unmountTransitionClient(mountedB);
700
+ restoreLocation();
701
+ }
702
+ });
703
+ test("negative control: an incompatible schema emits exactly one terminal error, never a loop", async function () {
704
+ var restoreLocation = withoutPageReload();
705
+ var consoleError = vi.spyOn(console, "error").mockImplementation(function () {});
706
+ var clientA = makeTransitionClient("transition-negative-a");
707
+ var clientB = makeTransitionClient("transition-negative-b");
708
+ var collectedA = collectClientEvents(clientA);
709
+ var collectedB = collectClientEvents(clientB);
710
+ var mountedA = await mountTransitionClient(clientA, "transition-negative-user");
711
+ var mountedB = await mountTransitionClient(clientB, "transition-negative-user");
712
+ var firstA = mountedA.instance;
713
+ var firstB = mountedB.instance;
714
+ var countBefore = fakeZero.instances.length;
715
+ try {
716
+ firstA.options.onUpdateNeeded({
717
+ type: "SchemaVersionNotSupported"
718
+ });
719
+ firstB.options.onUpdateNeeded({
720
+ type: "SchemaVersionNotSupported"
721
+ });
722
+ await act(async function () {
723
+ await new Promise(function (resolve) {
724
+ return setTimeout(resolve, 0);
725
+ });
726
+ });
727
+ expect(firstA.delete).toHaveBeenCalledTimes(1);
728
+ expect(firstB.delete).toHaveBeenCalledTimes(1);
729
+ expect(fakeZero.instances).toHaveLength(countBefore + 2);
730
+ var secondA = fakeZero.instances[countBefore];
731
+ var secondB = fakeZero.instances[countBefore + 1];
732
+ expect(isGroupTransitionOpen()).toBe(true);
733
+ secondA.options.onUpdateNeeded({
734
+ type: "SchemaVersionNotSupported"
735
+ });
736
+ await act(async function () {
737
+ await new Promise(function (resolve) {
738
+ return setTimeout(resolve, 0);
739
+ });
740
+ });
741
+ var allEvents = function allEvents2() {
742
+ return [...collectedA.events, ...collectedB.events];
743
+ };
744
+ expect(allEvents().filter(function (event) {
745
+ return event.type === "fatal";
746
+ })).toHaveLength(1);
747
+ var [fatal] = allEvents().filter(function (event) {
748
+ return event.type === "fatal";
749
+ });
750
+ expect(fatal).toMatchObject({
751
+ reasonKey: "SchemaVersionNotSupported",
752
+ reason: expect.stringContaining("g1")
753
+ });
754
+ expect(consoleError).toHaveBeenCalledTimes(1);
755
+ expect(consoleError.mock.calls[0][0]).toContain("g1");
756
+ secondB.options.onUpdateNeeded({
757
+ type: "SchemaVersionNotSupported"
758
+ });
759
+ secondA.options.onUpdateNeeded({
760
+ type: "SchemaVersionNotSupported"
761
+ });
762
+ await act(async function () {
763
+ await new Promise(function (resolve) {
764
+ return setTimeout(resolve, 0);
765
+ });
766
+ });
767
+ expect(allEvents().filter(function (event) {
768
+ return event.type === "fatal";
769
+ })).toHaveLength(1);
770
+ expect(consoleError).toHaveBeenCalledTimes(1);
771
+ expect(fakeZero.instances).toHaveLength(countBefore + 2);
772
+ } finally {
773
+ collectedA.off();
774
+ collectedB.off();
775
+ await unmountTransitionClient(mountedA);
776
+ await unmountTransitionClient(mountedB);
777
+ restoreLocation();
778
+ consoleError.mockRestore();
779
+ }
780
+ });
781
+ test("concurrent update signals across providers schedule a single reload", async function () {
782
+ var reloadPage = vi.fn();
783
+ var originalLocation = globalThis.location;
784
+ Object.defineProperty(globalThis, "location", {
785
+ configurable: true,
786
+ value: {
787
+ href: "http://localhost/reload-test",
788
+ reload: reloadPage
789
+ }
790
+ });
791
+ var scheduleA = vi.fn();
792
+ var scheduleB = vi.fn();
793
+ var clientA = makeTransitionClient("transition-reload-a");
794
+ var clientB = makeTransitionClient("transition-reload-b");
795
+ var collectedA = collectClientEvents(clientA);
796
+ var collectedB = collectClientEvents(clientB);
797
+ var elA = document.createElement("div");
798
+ var elB = document.createElement("div");
799
+ var rootA = createRoot(elA);
800
+ var rootB = createRoot(elB);
801
+ try {
802
+ var _scheduleA_mock_calls_;
803
+ await act(async function () {
804
+ rootA.render(/* @__PURE__ */_jsx(clientA.ProvideZero, {
805
+ cacheURL: "http://127.0.0.1:7777/zero",
806
+ userID: "transition-reload-user",
807
+ scheduleReload: scheduleA,
808
+ children: /* @__PURE__ */_jsx("span", {
809
+ children: "ok"
810
+ })
811
+ }));
812
+ await Promise.resolve();
813
+ });
814
+ await act(async function () {
815
+ rootB.render(/* @__PURE__ */_jsx(clientB.ProvideZero, {
816
+ cacheURL: "http://127.0.0.1:7777/zero",
817
+ userID: "transition-reload-user",
818
+ scheduleReload: scheduleB,
819
+ children: /* @__PURE__ */_jsx("span", {
820
+ children: "ok"
821
+ })
822
+ }));
823
+ await Promise.resolve();
824
+ });
825
+ var firstA = fakeZero.instances.at(-2);
826
+ var firstB = fakeZero.instances.at(-1);
827
+ firstA.options.onUpdateNeeded({
828
+ type: "NewClientGroup"
829
+ });
830
+ firstB.options.onUpdateNeeded({
831
+ type: "NewClientGroup"
832
+ });
833
+ await act(async function () {
834
+ await new Promise(function (resolve) {
835
+ return setTimeout(resolve, 0);
836
+ });
837
+ });
838
+ expect(scheduleA.mock.calls.length + scheduleB.mock.calls.length).toBe(1);
839
+ expect(reloadPage).not.toHaveBeenCalled();
840
+ var allEvents = [...collectedA.events, ...collectedB.events];
841
+ expect(allEvents.filter(function (event) {
842
+ return event.type === "fatal";
843
+ })).toHaveLength(0);
844
+ var ctx = ((_scheduleA_mock_calls_ = scheduleA.mock.calls[0]) !== null && _scheduleA_mock_calls_ !== void 0 ? _scheduleA_mock_calls_ : scheduleB.mock.calls[0])[0];
845
+ await act(async function () {
846
+ await ctx.performReload();
847
+ });
848
+ expect(reloadPage).toHaveBeenCalledTimes(1);
849
+ expect(isGroupTransitionOpen()).toBe(false);
850
+ var marker = window.sessionStorage.getItem("on-zero-recover-http://localhost/reload-test-NewClientGroup");
851
+ expect(marker).toContain("g1");
852
+ } finally {
853
+ collectedA.off();
854
+ collectedB.off();
855
+ await act(async function () {
856
+ rootA.unmount();
857
+ });
858
+ await act(async function () {
859
+ rootB.unmount();
860
+ });
861
+ Object.defineProperty(globalThis, "location", {
862
+ configurable: true,
863
+ value: originalLocation
864
+ });
865
+ }
866
+ });
467
867
  //# sourceMappingURL=createZeroClient.recovery.test.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","createSchema","string","table","UpdateNeededReasonType","act","Suspense","useLayoutEffect","createRoot","afterEach","beforeEach","expect","test","vi","createZeroClient","resetRecoveryStateForTests","_class_call_check","instance","Constructor","TypeError","_define_property","obj","key","value","Object","defineProperty","enumerable","configurable","writable","fakeZero","hoisted","FakeZero","FakeZero2","options","context","connection","state","current","name","subscribe","connect","fn","delete","errors","close","run","preload","cleanup","complete","Promise","resolve","instances","push","mock","importOriginal","actual","Zero","globalThis","IS_REACT_ACT_ENVIRONMENT","noteTable","columns","id","body","primaryKey","schema","tables","client","models","groupedQueries","instanceName","container","root","window","sessionStorage","clear","length","document","createElement","unmount","mount","render","ProvideZero","cacheURL","userID","children","first","toBeDefined","deleteZero","zero","toHaveBeenCalledTimes","toHaveLength","not","toBe","at","countBefore","result","remint","isolated","connectHeadless","kvStore","storageKey","consoleError","spyOn","console","mockImplementation","onUpdateNeeded","type","NewClientGroup","setTimeout","toHaveBeenCalledWith","mockRestore","_generations_","_generations_1","generationClient","generations","GenerationProbe","generation","useZeroProviderGeneration","firstGeneration","isCurrent","dropLocalState","hidden","hiddenUntil","MaybeHidden","App","fallback","settleServer","settleServer2","server","settled","acknowledgement","awaitMutationServer","finally","textContent","toContain","resolves","useFakeTimers","_fakeZero_instances_","scheduleReload","events","off","zeroEvents","listen","event","timeout","timeout2","label","timedOut","rejects","toMatchObject","phase","advanceTimersByTimeAsync","toEqual","toContainEqual","status","reasonKey","reason","toHaveBeenCalled","useRealTimers","install","transport","logClassifications","benign","benignLogPatterns"],"sources":["../../src/createZeroClient.recovery.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","createSchema","string","table","UpdateNeededReasonType","act","Suspense","useLayoutEffect","createRoot","afterEach","beforeEach","expect","test","vi","createZeroClient","isGroupTransitionOpen","resetRecoveryStateForTests","_class_call_check","instance","Constructor","TypeError","_define_property","obj","key","value","Object","defineProperty","enumerable","configurable","writable","fakeZero","hoisted","group","current","FakeZero","FakeZero2","options","context","delete","fn","errors","close","run","mutate","note","insert","client","Promise","resolve","server","preload","cleanup","complete","instances","push","clientGroupID","listeners","Set","connection","state","name","subscribe","listener","add","connect","__connectionListeners","setConnectionState","_i","_iter","length","mock","importOriginal","actual","Zero","globalThis","IS_REACT_ACT_ENVIRONMENT","noteTable","columns","id","body","primaryKey","schema","tables","models","groupedQueries","instanceName","container","root","window","sessionStorage","clear","document","createElement","unmount","mount","render","ProvideZero","cacheURL","userID","children","first","toBeDefined","deleteZero","zero","toHaveBeenCalledTimes","toHaveLength","not","toBe","at","countBefore","result","remint","isolated","connectHeadless","kvStore","storageKey","consoleError","spyOn","console","mockImplementation","onUpdateNeeded","type","NewClientGroup","setTimeout","toHaveBeenCalledWith","mockRestore","_generations_","_generations_1","generationClient","generations","GenerationProbe","generation","useZeroProviderGeneration","firstGeneration","isCurrent","dropLocalState","hidden","hiddenUntil","MaybeHidden","App","fallback","settleServer","settleServer2","settled","acknowledgement","awaitMutationServer","finally","textContent","toContain","resolves","useFakeTimers","_fakeZero_instances_","scheduleReload","events","off","zeroEvents","listen","event","timeout","timeout2","label","timedOut","rejects","toMatchObject","phase","advanceTimersByTimeAsync","toEqual","toContainEqual","status","reasonKey","reason","toHaveBeenCalled","useRealTimers","install","transport","logClassifications","benign","benignLogPatterns","logSink","log","toHaveBeenCalledOnce","retire","second","waitFor","waitForZero","makeTransitionClient","collectClientEvents","client2","mountTransitionClient","el","mountedRoot","unmountTransitionClient","mounted","withoutPageReload","originalLocation","location","restoreLocation","clientA","clientB","collectedA","collectedB","mountedA","mountedB","firstA","firstB","secondA","secondB","allEvents","filter","fireBoth","fireBoth2","settleRemints","settleRemints2","countBefore2","next","slice","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","done","err","return","countBeforeFirst","third"],"sources":["../../src/createZeroClient.recovery.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -7,7 +7,7 @@ import { CRUD_MUTATION_NAMES, formatObjectKey, generateAggregatesFile, generateG
7
7
  import { discoverDataLayout, namespaceImportPath } from "./generate-layout.mjs";
8
8
  import { collectTypeScriptSourcePaths, createNativeTypeScriptProject } from "./native-typescript.mjs";
9
9
  const hash = s => createHash("sha256").update(s).digest("hex");
10
- const GENERATOR_CACHE_VERSION = "7";
10
+ const GENERATOR_CACHE_VERSION = "8";
11
11
  const isGeneratorSourceFile = name => name.endsWith(".ts") && !name.endsWith(".d.ts") && !name.endsWith(".test.ts") && !name.endsWith(".spec.ts");
12
12
  function hashInputTree(sourceRoots, generatedDir) {
13
13
  const parts = [];
@@ -577,8 +577,11 @@ async function generateWithProject(options, project) {
577
577
  const layout = discoverDataLayout(project, baseDir, config ? resolve(config) : void 0);
578
578
  const metadataHash = hash(layout.metadataPaths.map(path => `${path}\0${readFileSync(path, "utf8")}`).join("\0"));
579
579
  const databaseSchemaPath = resolve(dirname(baseDir), "database/schema.ts");
580
- const needsSqliteZeroSchema = existsSync(databaseSchemaPath);
581
- const inputHash = hash(`${hashInputTree(layout.sourceRoots, generatedDir)}\0${metadataHash}`);
580
+ const needsDrizzleSchema = existsSync(databaseSchemaPath);
581
+ const externalZeroConfigPath = resolve(dirname(databaseSchemaPath), "drizzle-zero.config.ts");
582
+ const externalZeroConfig = existsSync(externalZeroConfigPath) ? readFileSync(externalZeroConfigPath, "utf8") : null;
583
+ const needsSqliteZeroSchema = needsDrizzleSchema && externalZeroConfig === null;
584
+ const inputHash = hash(`${hashInputTree(layout.sourceRoots, generatedDir)}\0${metadataHash}\0${externalZeroConfig}`);
582
585
  if (!force && generateCache.__generatorVersion === GENERATOR_CACHE_VERSION && generateCache.__inputHash === inputHash &&
583
586
  // the input hash deliberately skips the generated directory, so it cannot
584
587
  // notice that the outputs themselves moved. existence is not correctness
@@ -608,7 +611,7 @@ async function generateWithProject(options, project) {
608
611
  } catch {
609
612
  return false;
610
613
  }
611
- }) && existsSync(resolve(generatedDir, "models.ts")) && (!needsSqliteZeroSchema || existsSync(resolve(generatedDir, "schema.ts")))) {
614
+ }) && existsSync(resolve(generatedDir, "models.ts")) && (!needsDrizzleSchema || existsSync(resolve(generatedDir, "drizzleSchema.ts"))) && (!needsSqliteZeroSchema || existsSync(resolve(generatedDir, "schema.ts")))) {
612
615
  let counts = {};
613
616
  try {
614
617
  counts = JSON.parse(generateCache.__counts || "{}");
@@ -637,22 +640,24 @@ async function generateWithProject(options, project) {
637
640
  // managed externally and should not be overwritten.
638
641
  ...(filesWithSchema.length > 0 ? [writeFileIfChanged(resolve(generatedDir, "types.ts"), generateTypesFile(schemaModules.map(module => module.name))), writeFileIfChanged(resolve(generatedDir, "tables.ts"), generateTablesFile(schemaModules))] : []), writeFileIfChanged(resolve(generatedDir, "README.md"), generateReadmeFile())];
639
642
  let filesChanged = writeResults.filter(Boolean).length;
640
- if (needsSqliteZeroSchema) {
643
+ if (needsDrizzleSchema) {
641
644
  const membership = dataMembershipFromLayout(layout);
642
645
  const drizzleSchema = await generateDrizzleSchemaInputFileWithProject({
643
646
  dir: baseDir,
644
647
  schemaImportPath: "../../database/schema",
645
648
  config
646
649
  }, project);
647
- const sqliteSchema = renderDrizzleZeroSqliteSchemaModule({
648
- importPath: "./drizzleSchema",
649
- tableNames: membership.allTables
650
- });
651
650
  if (writeFileIfChanged(resolve(generatedDir, "drizzleSchema.ts"), drizzleSchema)) {
652
651
  filesChanged++;
653
652
  }
654
- if (writeFileIfChanged(resolve(generatedDir, "schema.ts"), sqliteSchema)) {
655
- filesChanged++;
653
+ if (needsSqliteZeroSchema) {
654
+ const sqliteSchema = renderDrizzleZeroSqliteSchemaModule({
655
+ importPath: "./drizzleSchema",
656
+ tableNames: membership.allTables
657
+ });
658
+ if (writeFileIfChanged(resolve(generatedDir, "schema.ts"), sqliteSchema)) {
659
+ filesChanged++;
660
+ }
656
661
  }
657
662
  }
658
663
  let queryCount = 0;