Skip to content

Commit 21ddda9

Browse files
authored
Merge pull request #15 from SQLoot/copilot/sync-merge-upstream-03-02-26
Sync 3 upstream commits from common-v8: workspace deps, export reordering, test mocking
2 parents 358cb8b + e152504 commit 21ddda9

9 files changed

Lines changed: 34 additions & 66 deletions

File tree

examples/angular-vite-pwa/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
"dependencies": {
1212
"@angular/core": "^21.1.0",
1313
"@angular/platform-browser": "^21.1.0",
14-
"@evolu/common": "latest",
15-
"@evolu/web": "latest"
14+
"@evolu/common": "workspace:*",
15+
"@evolu/web": "workspace:*"
1616
},
1717
"devDependencies": {
1818
"@analogjs/vite-plugin-angular": "^2.2.2",

examples/react-electron/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@
1010
"preview": "vite preview"
1111
},
1212
"dependencies": {
13-
"@evolu/common": "latest",
14-
"@evolu/react": "latest",
15-
"@evolu/react-web": "latest",
13+
"@evolu/common": "workspace:*",
14+
"@evolu/react": "workspace:*",
15+
"@evolu/react-web": "workspace:*",
1616
"react": "19.2.4",
1717
"react-dom": "19.2.4"
1818
},

examples/react-expo/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@
1818
},
1919
"dependencies": {
2020
"@blazejkustra/react-native-alert": "^1.0.0",
21-
"@evolu/common": "latest",
22-
"@evolu/react": "latest",
23-
"@evolu/react-native": "latest",
21+
"@evolu/common": "workspace:*",
22+
"@evolu/react": "workspace:*",
23+
"@evolu/react-native": "workspace:*",
2424
"@expo/metro-runtime": "^6.1.2",
2525
"@expo/vector-icons": "^15.0.3",
2626
"abort-signal-polyfill": "^1.0.0",

examples/react-nextjs/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99
"dev": "next dev --webpack"
1010
},
1111
"dependencies": {
12-
"@evolu/common": "latest",
13-
"@evolu/react": "latest",
14-
"@evolu/react-web": "latest",
12+
"@evolu/common": "workspace:*",
13+
"@evolu/react": "workspace:*",
14+
"@evolu/react-web": "workspace:*",
1515
"@tabler/icons-react": "^3.36.1",
1616
"clsx": "^2.1.1",
1717
"next": "^16.1.3",

examples/react-vite-pwa/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111
"preview": "vite preview"
1212
},
1313
"dependencies": {
14-
"@evolu/common": "latest",
15-
"@evolu/react": "latest",
16-
"@evolu/react-web": "latest",
14+
"@evolu/common": "workspace:*",
15+
"@evolu/react": "workspace:*",
16+
"@evolu/react-web": "workspace:*",
1717
"@tabler/icons-react": "^3.36.1",
1818
"clsx": "^2.1.1",
1919
"react": "19.2.4",

examples/vue-vite-pwa/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111
"preview": "vite preview"
1212
},
1313
"dependencies": {
14-
"@evolu/common": "latest",
15-
"@evolu/vue": "latest",
16-
"@evolu/web": "latest",
14+
"@evolu/common": "workspace:*",
15+
"@evolu/vue": "workspace:*",
16+
"@evolu/web": "workspace:*",
1717
"vue": "^3.5.26",
1818
"workbox-window": "^7.4.0"
1919
},

packages/react-native/package.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,26 +21,26 @@
2121
"exports": {
2222
".": {
2323
"types": "./dist/src/index.d.ts",
24-
"default": "./dist/src/index.js",
25-
"react-native": "./dist/src/index.js"
24+
"react-native": "./dist/src/index.js",
25+
"default": "./dist/src/index.js"
2626
},
2727
"./expo-sqlite": {
2828
"types": "./dist/src/exports/expo-sqlite.d.ts",
29-
"default": "./dist/src/exports/expo-sqlite.js",
3029
"react-native": "./dist/src/exports/expo-sqlite.js",
31-
"browser": "./dist/src/web.js"
30+
"browser": "./dist/src/web.js",
31+
"default": "./dist/src/exports/expo-sqlite.js"
3232
},
3333
"./expo-op-sqlite": {
3434
"types": "./dist/src/exports/expo-op-sqlite.d.ts",
35-
"default": "./dist/src/exports/expo-op-sqlite.js",
3635
"react-native": "./dist/src/exports/expo-op-sqlite.js",
37-
"browser": "./dist/src/web.js"
36+
"browser": "./dist/src/web.js",
37+
"default": "./dist/src/exports/expo-op-sqlite.js"
3838
},
3939
"./bare-op-sqlite": {
4040
"types": "./dist/src/exports/bare-op-sqlite.d.ts",
41-
"default": "./dist/src/exports/bare-op-sqlite.js",
4241
"react-native": "./dist/src/exports/bare-op-sqlite.js",
43-
"browser": "./dist/src/web.js"
42+
"browser": "./dist/src/web.js",
43+
"default": "./dist/src/exports/bare-op-sqlite.js"
4444
}
4545
},
4646
"typesVersions": {

packages/react-native/test/Task.test.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,8 @@ describe("createRunner", () => {
9191
const previousHandler = vi.fn();
9292
mockErrorUtils.getGlobalHandler.mockReturnValue(previousHandler);
9393

94-
await using _run = createRunner();
94+
const console = testCreateConsole();
95+
await using _run = createRunner({ console });
9596

9697
// Get the handler that was registered
9798
const handler = mockErrorUtils.setGlobalHandler.mock.calls[0][0];

packages/web/test/Task.test.ts

Lines changed: 7 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ describe("createRunner", () => {
1313
expect(run.deps.customValue).toBe(42);
1414
});
1515

16-
describe("listener registration (mocked)", () => {
16+
describe("event listeners", () => {
1717
const originalAddEventListener = globalThis.addEventListener;
1818
const originalRemoveEventListener = globalThis.removeEventListener;
1919

@@ -57,16 +57,13 @@ describe("createRunner", () => {
5757
addedListeners.get("unhandledrejection"),
5858
);
5959
});
60-
});
6160

62-
describe("error handling (real browser events)", () => {
63-
test("catches and logs ErrorEvent", async () => {
61+
test("error handler logs ErrorEvent", async () => {
6462
const console = testCreateConsole();
6563
await using _run = createRunner({ console });
6664

67-
globalThis.dispatchEvent(
68-
new ErrorEvent("error", { error: new Error("test error") }),
69-
);
65+
const handler = addedListeners.get("error")!;
66+
handler(new ErrorEvent("error", { error: new Error("test error") }));
7067

7168
const entries = console.getEntriesSnapshot();
7269
expect(entries).toHaveLength(1);
@@ -78,11 +75,12 @@ describe("createRunner", () => {
7875
});
7976
});
8077

81-
test("catches and logs PromiseRejectionEvent", async () => {
78+
test("error handler logs PromiseRejectionEvent", async () => {
8279
const console = testCreateConsole();
8380
await using _run = createRunner({ console });
8481

85-
globalThis.dispatchEvent(
82+
const handler = addedListeners.get("unhandledrejection")!;
83+
handler(
8684
new PromiseRejectionEvent("unhandledrejection", {
8785
promise: Promise.resolve(),
8886
reason: new Error("test rejection"),
@@ -98,36 +96,5 @@ describe("createRunner", () => {
9896
error: { message: "test rejection" },
9997
});
10098
});
101-
102-
test("stops catching events after dispose", async () => {
103-
const console = testCreateConsole();
104-
105-
// First verify events ARE caught before dispose
106-
{
107-
await using _run = createRunner({ console });
108-
globalThis.dispatchEvent(
109-
new ErrorEvent("error", { error: new Error("before dispose") }),
110-
);
111-
}
112-
expect(console.getEntriesSnapshot()).toHaveLength(1);
113-
114-
// Verify events are NOT caught after dispose
115-
// Prevent vitest from treating dispatched error as unhandled
116-
const suppress = (e: Event) => e.preventDefault();
117-
globalThis.addEventListener("error", suppress);
118-
119-
const beforeCount = console.getEntriesSnapshot().length;
120-
121-
globalThis.dispatchEvent(
122-
new ErrorEvent("error", {
123-
error: new Error("after dispose"),
124-
cancelable: true,
125-
}),
126-
);
127-
128-
globalThis.removeEventListener("error", suppress);
129-
130-
expect(console.getEntriesSnapshot()).toHaveLength(beforeCount);
131-
});
13299
});
133100
});

0 commit comments

Comments
 (0)