Skip to content

Commit 62e43aa

Browse files
[Fix] Improve bson usage (#172)
1 parent 6b01811 commit 62e43aa

File tree

22 files changed

+339
-742
lines changed

22 files changed

+339
-742
lines changed

.changeset/many-chefs-hug.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
'@powersync/react-native': minor
3+
'@powersync/common': minor
4+
'@powersync/web': minor
5+
---
6+
7+
Improved import and usage of BSON library.

demos/example-electron/vite.renderer.config.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ export default defineConfig((env) => {
3030
'@powersync/web > js-logger',
3131
'@powersync/web > lodash/throttle',
3232
'@powersync/web > can-ndjson-stream',
33-
'@powersync/web > bson',
3433
'@powersync/web > buffer',
3534
'@powersync/web > rsocket-core',
3635
'@powersync/web > rsocket-websocket-client',

demos/example-nextjs/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@
3030
"lowlight": "^2.9.0",
3131
"next": "14.1.0",
3232
"next-images": "1.8.5",
33-
"react": "^18.2.0",
34-
"react-dom": "^18.2.0",
33+
"react": "18.2.0",
34+
"react-dom": "18.2.0",
3535
"remixicon": "^2.5.0",
3636
"shiki": "^0.10.1",
3737
"simplify-js": "^1.2.4"

demos/example-vite/src/index.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
import { Column, ColumnType, WASQLitePowerSyncDatabaseOpenFactory, Schema, Table } from '@powersync/web';
2+
import Logger from 'js-logger';
3+
4+
Logger.useDefaults();
25

36
/**
47
* A placeholder connector which doesn't do anything.

demos/example-vite/vite.config.ts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import wasm from 'vite-plugin-wasm';
22
import topLevelAwait from 'vite-plugin-top-level-await';
3-
43
import { defineConfig } from 'vite';
54

65
// https://vitejs.dev/config/
@@ -13,12 +12,6 @@ export default defineConfig({
1312
},
1413
emptyOutDir: true
1514
},
16-
resolve: {
17-
alias: [
18-
// https://jira.mongodb.org/browse/NODE-5773
19-
{ find: 'bson', replacement: require.resolve('bson') }
20-
]
21-
},
2215
envDir: '..', // Use this dir for env vars, not 'src'.
2316
optimizeDeps: {
2417
// Don't optimize these packages as they contain web workers and WASM files.
@@ -29,7 +22,6 @@ export default defineConfig({
2922
'@powersync/web > js-logger',
3023
'@powersync/web > lodash/throttle',
3124
'@powersync/web > can-ndjson-stream',
32-
'@powersync/web > bson',
3325
'@powersync/web > buffer',
3426
'@powersync/web > rsocket-core',
3527
'@powersync/web > rsocket-websocket-client',

demos/example-webpack/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@
1111
"@powersync/web": "workspace:*"
1212
},
1313
"devDependencies": {
14-
"webpack-cli": "^5.1.4",
15-
"webpack": "^5.90.1",
1614
"@types/webpack": "^5.28.5",
15+
"html-webpack-plugin": "^5.6.0",
1716
"serve": "^14.2.1",
18-
"html-webpack-plugin": "^5.6.0"
17+
"webpack": "^5.90.1",
18+
"webpack-cli": "^5.1.4"
1919
}
2020
}

demos/example-webpack/src/index.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
import { Column, ColumnType, WASQLitePowerSyncDatabaseOpenFactory, Schema, Table } from '@powersync/web';
2+
import Logger from 'js-logger';
3+
4+
Logger.useDefaults();
25

36
/**
47
* A placeholder connector which doesn't do anything.

demos/example-webpack/webpack.config.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@ module.exports = {
77
filename: 'index.js',
88
path: path.join(__dirname, 'dist')
99
},
10+
externals: {
11+
// BSON includes imports to these, but does not have a hard requirement for them to be present.
12+
crypto: 'Crypto',
13+
stream: 'Stream',
14+
vm: 'VM'
15+
},
1016
devtool: 'source-map',
1117
mode: 'development',
1218
resolve: {

demos/react-supabase-todolist/package.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,15 @@
1111
"dependencies": {
1212
"@powersync/react": "workspace:*",
1313
"@powersync/web": "workspace:*",
14+
"@emotion/react": "11.11.4",
15+
"@emotion/styled": "11.11.5",
1416
"@journeyapps/wa-sqlite": "~0.2.0",
1517
"@mui/icons-material": "^5.15.12",
1618
"@mui/material": "^5.15.12",
1719
"@mui/x-data-grid": "^6.19.6",
1820
"@supabase/supabase-js": "^2.39.7",
1921
"buffer": "^6.0.3",
22+
"formik": "^2.4.6",
2023
"js-logger": "^1.6.1",
2124
"lodash": "^4.17.21",
2225
"react": "^18.2.0",

demos/react-supabase-todolist/vite.config.mts

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ import { fileURLToPath, URL } from 'url';
55
import { defineConfig } from 'vite';
66
import react from '@vitejs/plugin-react';
77
import { VitePWA } from 'vite-plugin-pwa';
8-
import { createRequire } from 'node:module';
9-
const require = createRequire(import.meta.url); // Needed since the config file is also an ES module
108

119
// https://vitejs.dev/config/
1210
export default defineConfig({
@@ -19,11 +17,7 @@ export default defineConfig({
1917
emptyOutDir: true
2018
},
2119
resolve: {
22-
alias: [
23-
{ find: '@', replacement: fileURLToPath(new URL('./src', import.meta.url)) },
24-
// https://jira.mongodb.org/browse/NODE-5773
25-
{ find: 'bson', replacement: require.resolve('bson') }
26-
]
20+
alias: [{ find: '@', replacement: fileURLToPath(new URL('./src', import.meta.url)) }]
2721
},
2822
publicDir: '../public',
2923
envDir: '..', // Use this dir for env vars, not 'src'.
@@ -36,7 +30,6 @@ export default defineConfig({
3630
'@powersync/web > js-logger',
3731
'@powersync/web > lodash/throttle',
3832
'@powersync/web > can-ndjson-stream',
39-
'@powersync/web > bson',
4033
'@powersync/web > buffer',
4134
'@powersync/web > rsocket-core',
4235
'@powersync/web > rsocket-websocket-client',

0 commit comments

Comments
 (0)