diff --git a/addons/dexie-cloud/package.json b/addons/dexie-cloud/package.json index 57d4c4c5a..f40a6c857 100644 --- a/addons/dexie-cloud/package.json +++ b/addons/dexie-cloud/package.json @@ -1,6 +1,6 @@ { "name": "dexie-cloud-addon", - "version": "4.0.8", + "version": "4.0.11", "description": "Dexie addon that syncs with to Dexie Cloud", "main": "dist/umd/dexie-cloud-addon.js", "type": "module", @@ -95,6 +95,6 @@ "rxjs": "^7.x" }, "peerDependencies": { - "dexie": "^4.0.1" + "dexie": "workspace:^" } } diff --git a/addons/dexie-cloud/src/TSON.ts b/addons/dexie-cloud/src/TSON.ts index d20a38ac1..55b11aebf 100644 --- a/addons/dexie-cloud/src/TSON.ts +++ b/addons/dexie-cloud/src/TSON.ts @@ -1,5 +1,5 @@ import { TypesonSimplified } from 'dreambase-library/dist/typeson-simplified/TypesonSimplified'; -import { Bison } from "dreambase-library/dist/typeson-simplified/Bison"; +import { Bison } from 'dreambase-library/dist/typeson-simplified/Bison'; import undefinedDef from 'dreambase-library/dist/typeson-simplified/types/undefined.js'; import tsonBuiltinDefs from 'dreambase-library/dist/typeson-simplified/presets/builtin.js'; import { TypeDefSet } from 'dreambase-library/dist/typeson-simplified/TypeDefSet'; @@ -20,7 +20,8 @@ import { PropModSpec, PropModification } from 'dexie'; // serverRev.rev = bigIntDef.bigint.revive(server.rev) // else // serverRev.rev = new FakeBigInt(server.rev) -export const hasBigIntSupport = typeof BigInt === 'function' && typeof BigInt(0) === 'bigint'; +export const hasBigIntSupport = + typeof BigInt === 'function' && typeof BigInt(0) === 'bigint'; function getValueOfBigInt(x: bigint | FakeBigInt | string) { if (typeof x === 'bigint') { @@ -33,7 +34,10 @@ function getValueOfBigInt(x: bigint | FakeBigInt | string) { } } -export function compareBigInts(a: bigint | FakeBigInt | string, b:bigint | FakeBigInt | string) { +export function compareBigInts( + a: bigint | FakeBigInt | string, + b: bigint | FakeBigInt | string +) { const valA = getValueOfBigInt(a); const valB = getValueOfBigInt(b); return valA < valB ? -1 : valA > valB ? 1 : 0; @@ -48,42 +52,40 @@ export class FakeBigInt { } } -const defs: TypeDefSet = { - ...undefinedDef, - ...(hasBigIntSupport - ? {} - : { - bigint: { - test: (val: any) => val instanceof FakeBigInt, - replace: (fakeBigInt: any) => { - return { - $t: 'bigint', - ...fakeBigInt - }; - }, - revive: ({ - v, - }: { - $t: 'bigint'; - v: string; - }) => new FakeBigInt(v) as any as bigint - } - }), - PropModification: { - test: (val: any) => val instanceof PropModification, - replace: (propModification: any) => { +const bigIntDef = hasBigIntSupport + ? {} + : { + bigint: { + test: (val: any) => val instanceof FakeBigInt, + replace: (fakeBigInt: any) => { return { - $t: 'PropModification', - ...propModification + $t: 'bigint', + ...fakeBigInt, }; }, - revive: ({ - $t, - ...propModification - }: { - $t: 'PropModification'; - } & PropModSpec) => new PropModification(propModification) - } + revive: ({ v }: { $t: 'bigint'; v: string }) => + new FakeBigInt(v) as any as bigint, + }, + }; + +const defs: TypeDefSet = { + ...undefinedDef, + ...bigIntDef, + PropModification: { + test: (val: any) => val instanceof PropModification, + replace: (propModification: any) => { + return { + $t: 'PropModification', + ...propModification['@@propmod'], + }; + }, + revive: ({ + $t, // strip '$t' + ...propModSpec // keep the rest + }: { + $t: 'PropModification'; + } & PropModSpec) => new PropModification(propModSpec), + }, }; export const TSON = TypesonSimplified(tsonBuiltinDefs, defs); diff --git a/import-wrapper-prod.mjs b/import-wrapper-prod.mjs index a6556c91a..3747bfc11 100644 --- a/import-wrapper-prod.mjs +++ b/import-wrapper-prod.mjs @@ -9,7 +9,7 @@ if (_Dexie.semVer !== Dexie.semVer) { } const { liveQuery, mergeRanges, rangesOverlap, RangeSet, cmp, Entity, - PropModSymbol, PropModification, replacePrefix, add, remove } = Dexie; + PropModification, replacePrefix, add, remove } = Dexie; export { liveQuery, mergeRanges, rangesOverlap, RangeSet, cmp, Dexie, Entity, - PropModSymbol, PropModification, replacePrefix, add, remove }; + PropModification, replacePrefix, add, remove }; export default Dexie; diff --git a/import-wrapper.mjs b/import-wrapper.mjs index c70c6b72a..bef9c5cd1 100644 --- a/import-wrapper.mjs +++ b/import-wrapper.mjs @@ -8,7 +8,7 @@ if (_Dexie.semVer !== Dexie.semVer) { throw new Error(`Two different versions of Dexie loaded in the same app: ${_Dexie.semVer} and ${Dexie.semVer}`); } const { liveQuery, mergeRanges, rangesOverlap, RangeSet, cmp, Entity, - PropModSymbol, PropModification, replacePrefix, add, remove } = Dexie; + PropModification, replacePrefix, add, remove } = Dexie; export { liveQuery, mergeRanges, rangesOverlap, RangeSet, cmp, Dexie, Entity, - PropModSymbol, PropModification, replacePrefix, add, remove }; + PropModification, replacePrefix, add, remove }; export default Dexie; diff --git a/libs/dexie-react-hooks/package.json b/libs/dexie-react-hooks/package.json index 38980a97d..34539ee4c 100644 --- a/libs/dexie-react-hooks/package.json +++ b/libs/dexie-react-hooks/package.json @@ -55,7 +55,7 @@ "homepage": "https://dexie.org", "peerDependencies": { "@types/react": ">=16", - "dexie": "^3.2 || ^4.0.1", + "dexie": "workspace:^", "react": ">=16" }, "devDependencies": { @@ -65,7 +65,7 @@ "@types/qunit": "^2.9.6", "@types/react": "^17.0.0", "@types/react-dom": "^17.0.0", - "dexie": "^3.2 || ^4.0.1", + "dexie": "workspace:^", "just-build": "^0.9.24", "qunit": "^2.12.0", "react": "^17.0.1", diff --git a/package.json b/package.json index 61702f4ee..57b17b1cc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dexie", - "version": "4.0.10", + "version": "4.0.11", "description": "A Minimalistic Wrapper for IndexedDB", "main": "dist/dexie.js", "module": "dist/dexie.mjs", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4ef094f91..590f8a714 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -58,7 +58,7 @@ importers: version: 5.2.0(rollup@2.58.3) rollup-plugin-sourcemaps: specifier: ^0.6.3 - version: 0.6.3(rollup@2.58.3) + version: 0.6.3(@types/node@20.2.5)(rollup@2.58.3) rxjs: specifier: ^6.6.6 version: 6.6.7 @@ -135,11 +135,11 @@ importers: addons/dexie-cloud: dependencies: dexie: - specifier: ^4.0.1 + specifier: workspace:^ version: link:../.. dexie-cloud-common: specifier: ^1.0.31 - version: link:../../libs/dexie-cloud-common + version: 1.0.47 rxjs: specifier: ^7.x version: 7.5.6 @@ -204,7 +204,7 @@ importers: devDependencies: '@rollup/plugin-alias': specifier: ^3.1.2 - version: 3.1.9(rollup@2.79.1) + version: 3.1.9(rollup@4.1.4) '@types/node': specifier: ^18.11.18 version: 18.11.18 @@ -225,7 +225,7 @@ importers: version: 5.3.3 typeson: specifier: ^5.8.2 - version: 5.18.2(core-js-bundle@3.34.0)(regenerator-runtime@0.13.11) + version: 5.18.2(core-js-bundle@3.34.0)(regenerator-runtime@0.14.1) typeson-registry: specifier: ^1.0.0-alpha.21 version: 1.0.0-alpha.39 @@ -249,7 +249,7 @@ importers: version: 11.2.1(rollup@2.79.0) '@rollup/plugin-typescript': specifier: ^8.1.1 - version: 8.4.0(rollup@2.79.0)(tslib@2.3.1)(typescript@5.3.3) + version: 8.4.0(rollup@2.79.0)(tslib@2.4.0)(typescript@5.3.3) '@types/qunit': specifier: ^2.9.6 version: 2.19.2 @@ -260,7 +260,7 @@ importers: specifier: ^17.0.0 version: 17.0.17 dexie: - specifier: ^3.2 || ^4.0.1 + specifier: workspace:^ version: link:../.. just-build: specifier: ^0.9.24 @@ -288,10 +288,10 @@ importers: version: 5.2.0(rollup@2.79.0) rollup-plugin-sourcemaps: specifier: ^0.6.3 - version: 0.6.3(rollup@2.79.0) + version: 0.6.3(@types/node@20.2.5)(rollup@2.79.0) ts-loader: specifier: ^8.0.17 - version: 8.4.0(typescript@5.3.3)(webpack@5.74.0) + version: 8.4.0(typescript@5.3.3)(webpack@5.74.0(uglify-js@3.14.2)(webpack-cli@4.10.0)) typescript: specifier: ^5.3.3 version: 5.3.3 @@ -321,7 +321,7 @@ importers: version: 5.16.5 '@testing-library/react': specifier: ^12.1.5 - version: 12.1.5(react-dom@17.0.2)(react@17.0.2) + version: 12.1.5(react-dom@17.0.2(react@17.0.2))(react@17.0.2) '@testing-library/user-event': specifier: ^14.4.3 version: 14.4.3(@testing-library/dom@9.3.3) @@ -344,32 +344,32 @@ importers: specifier: 5.3.0 version: 5.3.0(@popperjs/core@2.11.8) dexie: - specifier: ^4.0.7 + specifier: workspace:^ version: link:../.. dexie-cloud-addon: - specifier: ^4.0.7 + specifier: workspace:^ version: link:../../addons/dexie-cloud dexie-react-hooks: - specifier: ^1.1.6 + specifier: workspace:^ version: link:../../libs/dexie-react-hooks postcss-flexbugs-fixes: specifier: ^5.0.2 - version: 5.0.2(postcss@8.4.32) + version: 5.0.2(postcss@8.4.24) react: specifier: ^17.0.2 version: 17.0.2 react-bootstrap: specifier: ^2.7.4 - version: 2.7.4(@types/react@18.2.8)(react-dom@17.0.2)(react@17.0.2) + version: 2.7.4(@types/react@18.2.8)(react-dom@17.0.2(react@17.0.2))(react@17.0.2) react-dom: specifier: ^17.0.2 version: 17.0.2(react@17.0.2) react-scripts: specifier: 5.0.1 - version: 5.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(eslint@8.56.0)(react@17.0.2)(typescript@4.9.5)(uglify-js@3.14.2) + version: 5.0.1(@babel/plugin-syntax-flow@7.23.3(@babel/core@7.22.1))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.22.1))(@types/babel__core@7.20.1)(eslint@8.56.0)(react@17.0.2)(type-fest@0.21.3)(typescript@4.9.5)(uglify-js@3.14.2) react-use: specifier: ^17.4.0 - version: 17.4.0(react-dom@17.0.2)(react@17.0.2) + version: 17.4.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2) typescript: specifier: ^4.9.4 version: 4.9.5 @@ -2702,7 +2702,6 @@ packages: clarinet@https://codeload.github.com/dfahlander/clarinet/tar.gz/d1dc89f7e67488b16ad98b2464d29a9b3bc6f5ef: resolution: {tarball: https://codeload.github.com/dfahlander/clarinet/tar.gz/d1dc89f7e67488b16ad98b2464d29a9b3bc6f5ef} - name: clarinet version: 0.12.4 engines: {chrome: '>=16.0.912', firefox: '>=0.8.0', node: '>=0.3.6'} @@ -3141,6 +3140,9 @@ packages: engines: {node: '>= 4.2.1'} hasBin: true + dexie-cloud-common@1.0.47: + resolution: {integrity: sha512-/8KexyBjnps7ixY4NtkA2AwKVEHrWnPWjkCrA5khB1DkIWSARJD0lR313dZC/O5Y78/FnqcaqnVqyOJkRytyuw==} + di@0.0.1: resolution: {integrity: sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==} @@ -4358,6 +4360,9 @@ packages: resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} engines: {node: '>=0.10.0'} + isomorphic.js@0.2.5: + resolution: {integrity: sha512-PIeMbHqMt4DnUP3MA/Flc0HElYjMXArsw1qwJZcm9sqR8mq3l8NYizFMty0pWwE/tzIGH3EKK5+jes5mAr85yw==} + isstream@0.1.2: resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} @@ -4739,6 +4744,11 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} + lib0@0.2.99: + resolution: {integrity: sha512-vwztYuUf1uf/1zQxfzRfO5yzfNKhTtgOByCruuiQQxWQXnPb8Itaube5ylofcV0oM0aKal9Mv+S1s1Ky0UYP1w==} + engines: {node: '>=16'} + hasBin: true + lilconfig@2.1.0: resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} @@ -4984,11 +4994,6 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - natural-compare-lite@1.4.0: resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} @@ -5694,10 +5699,6 @@ packages: resolution: {integrity: sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==} engines: {node: ^10 || ^12 || >=14} - postcss@8.4.32: - resolution: {integrity: sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==} - engines: {node: ^10 || ^12 || >=14} - preact@10.10.6: resolution: {integrity: sha512-w0mCL5vICUAZrh1DuHEdOWBjxdO62lvcO++jbzr8UhhYcTbFkpegLH9XX+7MadjTl/y0feoqwQ/zAnzkc/EGog==} @@ -8781,7 +8782,7 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.15.0 - '@pmmmwh/react-refresh-webpack-plugin@0.5.10(react-refresh@0.11.0)(webpack-dev-server@4.15.0)(webpack@5.74.0)': + '@pmmmwh/react-refresh-webpack-plugin@0.5.10(react-refresh@0.11.0)(type-fest@0.21.3)(webpack-dev-server@4.15.0(webpack@5.74.0(uglify-js@3.14.2)))(webpack@5.74.0(uglify-js@3.14.2))': dependencies: ansi-html-community: 0.0.8 common-path-prefix: 3.0.0 @@ -8793,8 +8794,10 @@ snapshots: react-refresh: 0.11.0 schema-utils: 3.1.1 source-map: 0.7.3 - webpack: 5.74.0(uglify-js@3.14.2)(webpack-cli@4.10.0) - webpack-dev-server: 4.15.0(webpack@5.74.0) + webpack: 5.74.0(uglify-js@3.14.2) + optionalDependencies: + type-fest: 0.21.3 + webpack-dev-server: 4.15.0(webpack@5.74.0(uglify-js@3.14.2)) '@popperjs/core@2.11.8': {} @@ -8808,7 +8811,7 @@ snapshots: dequal: 2.0.3 react: 17.0.2 - '@restart/ui@1.6.6(react-dom@17.0.2)(react@17.0.2)': + '@restart/ui@1.6.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': dependencies: '@babel/runtime': 7.22.3 '@popperjs/core': 2.11.8 @@ -8822,17 +8825,19 @@ snapshots: uncontrollable: 8.0.2(react@17.0.2) warning: 4.0.3 - '@rollup/plugin-alias@3.1.9(rollup@2.79.1)': + '@rollup/plugin-alias@3.1.9(rollup@4.1.4)': dependencies: - rollup: 2.79.1 + rollup: 4.1.4 slash: 3.0.0 - '@rollup/plugin-babel@5.3.1(@babel/core@7.22.1)(rollup@2.79.1)': + '@rollup/plugin-babel@5.3.1(@babel/core@7.22.1)(@types/babel__core@7.20.1)(rollup@2.79.1)': dependencies: '@babel/core': 7.22.1 '@babel/helper-module-imports': 7.21.4 '@rollup/pluginutils': 3.1.0(rollup@2.79.1) rollup: 2.79.1 + optionalDependencies: + '@types/babel__core': 7.20.1 '@rollup/plugin-commonjs@17.1.0(rollup@2.79.0)': dependencies: @@ -8853,6 +8858,7 @@ snapshots: glob: 8.1.0 is-reference: 1.2.1 magic-string: 0.30.5 + optionalDependencies: rollup: 4.1.4 '@rollup/plugin-node-resolve@11.2.1(rollup@2.79.0)': @@ -8883,6 +8889,7 @@ snapshots: is-builtin-module: 3.2.1 is-module: 1.0.0 resolve: 1.22.2 + optionalDependencies: rollup: 4.1.4 '@rollup/plugin-replace@2.4.2(rollup@2.79.1)': @@ -8895,30 +8902,34 @@ snapshots: dependencies: '@rollup/pluginutils': 5.0.5(rollup@4.1.4) magic-string: 0.30.5 + optionalDependencies: rollup: 4.1.4 '@rollup/plugin-terser@0.4.4(rollup@4.1.4)': dependencies: - rollup: 4.1.4 serialize-javascript: 6.0.1 smob: 1.4.1 terser: 5.20.0 + optionalDependencies: + rollup: 4.1.4 '@rollup/plugin-typescript@11.1.5(rollup@4.1.4)(tslib@2.4.0)(typescript@5.3.3)': dependencies: '@rollup/pluginutils': 5.0.5(rollup@4.1.4) resolve: 1.22.2 + typescript: 5.3.3 + optionalDependencies: rollup: 4.1.4 tslib: 2.4.0 - typescript: 5.3.3 - '@rollup/plugin-typescript@8.4.0(rollup@2.79.0)(tslib@2.3.1)(typescript@5.3.3)': + '@rollup/plugin-typescript@8.4.0(rollup@2.79.0)(tslib@2.4.0)(typescript@5.3.3)': dependencies: '@rollup/pluginutils': 3.1.0(rollup@2.79.0) resolve: 1.22.2 rollup: 2.79.0 - tslib: 2.3.1 typescript: 5.3.3 + optionalDependencies: + tslib: 2.4.0 '@rollup/pluginutils@3.1.0(rollup@2.58.3)': dependencies: @@ -8946,6 +8957,7 @@ snapshots: '@types/estree': 1.0.1 estree-walker: 2.0.2 picomatch: 2.3.1 + optionalDependencies: rollup: 4.1.4 '@rollup/rollup-android-arm-eabi@4.1.4': @@ -9112,7 +9124,7 @@ snapshots: lodash: 4.17.21 redent: 3.0.0 - '@testing-library/react@12.1.5(react-dom@17.0.2)(react@17.0.2)': + '@testing-library/react@12.1.5(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': dependencies: '@babel/runtime': 7.22.3 '@testing-library/dom': 8.20.0 @@ -9342,7 +9354,7 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.0 - '@typescript-eslint/eslint-plugin@5.59.9(@typescript-eslint/parser@5.59.9)(eslint@8.56.0)(typescript@4.9.5)': + '@typescript-eslint/eslint-plugin@5.59.9(@typescript-eslint/parser@5.59.9(eslint@8.56.0)(typescript@4.9.5))(eslint@8.56.0)(typescript@4.9.5)': dependencies: '@eslint-community/regexpp': 4.5.1 '@typescript-eslint/parser': 5.59.9(eslint@8.56.0)(typescript@4.9.5) @@ -9356,6 +9368,7 @@ snapshots: natural-compare-lite: 1.4.0 semver: 7.5.1 tsutils: 3.21.0(typescript@4.9.5) + optionalDependencies: typescript: 4.9.5 transitivePeerDependencies: - supports-color @@ -9375,6 +9388,7 @@ snapshots: '@typescript-eslint/typescript-estree': 5.59.9(typescript@4.9.5) debug: 4.3.4 eslint: 8.56.0 + optionalDependencies: typescript: 4.9.5 transitivePeerDependencies: - supports-color @@ -9391,6 +9405,7 @@ snapshots: debug: 4.3.4 eslint: 8.56.0 tsutils: 3.21.0(typescript@4.9.5) + optionalDependencies: typescript: 4.9.5 transitivePeerDependencies: - supports-color @@ -9406,6 +9421,7 @@ snapshots: is-glob: 4.0.3 semver: 7.5.1 tsutils: 3.21.0(typescript@4.9.5) + optionalDependencies: typescript: 4.9.5 transitivePeerDependencies: - supports-color @@ -9508,17 +9524,17 @@ snapshots: '@webassemblyjs/ast': 1.11.1 '@xtuc/long': 4.2.2 - '@webpack-cli/configtest@1.2.0(webpack-cli@4.10.0)(webpack@5.74.0)': + '@webpack-cli/configtest@1.2.0(webpack-cli@4.10.0(webpack@5.74.0))(webpack@5.74.0(uglify-js@3.14.2)(webpack-cli@4.10.0))': dependencies: webpack: 5.74.0(uglify-js@3.14.2)(webpack-cli@4.10.0) webpack-cli: 4.10.0(webpack@5.74.0) - '@webpack-cli/info@1.5.0(webpack-cli@4.10.0)': + '@webpack-cli/info@1.5.0(webpack-cli@4.10.0(webpack@5.74.0))': dependencies: envinfo: 7.8.1 webpack-cli: 4.10.0(webpack@5.74.0) - '@webpack-cli/serve@1.7.0(webpack-cli@4.10.0)': + '@webpack-cli/serve@1.7.0(webpack-cli@4.10.0(webpack@5.74.0))': dependencies: webpack-cli: 4.10.0(webpack@5.74.0) @@ -9584,7 +9600,7 @@ snapshots: - supports-color ajv-formats@2.1.1(ajv@8.11.0): - dependencies: + optionalDependencies: ajv: 8.11.0 ajv-keywords@3.5.2(ajv@6.12.6): @@ -9810,14 +9826,14 @@ snapshots: transitivePeerDependencies: - supports-color - babel-loader@8.3.0(@babel/core@7.22.1)(webpack@5.74.0): + babel-loader@8.3.0(@babel/core@7.22.1)(webpack@5.74.0(uglify-js@3.14.2)): dependencies: '@babel/core': 7.22.1 find-cache-dir: 3.3.2 loader-utils: 2.0.2 make-dir: 3.1.0 schema-utils: 2.7.1 - webpack: 5.74.0(uglify-js@3.14.2)(webpack-cli@4.10.0) + webpack: 5.74.0(uglify-js@3.14.2) babel-plugin-istanbul@6.1.1: dependencies: @@ -10366,7 +10382,7 @@ snapshots: dependencies: hyphenate-style-name: 1.0.4 - css-loader@6.8.1(webpack@5.74.0): + css-loader@6.8.1(webpack@5.74.0(uglify-js@3.14.2)): dependencies: icss-utils: 5.1.0(postcss@8.4.24) postcss: 8.4.24 @@ -10376,9 +10392,9 @@ snapshots: postcss-modules-values: 4.0.0(postcss@8.4.24) postcss-value-parser: 4.2.0 semver: 7.5.1 - webpack: 5.74.0(uglify-js@3.14.2)(webpack-cli@4.10.0) + webpack: 5.74.0(uglify-js@3.14.2) - css-minimizer-webpack-plugin@3.4.1(webpack@5.74.0): + css-minimizer-webpack-plugin@3.4.1(webpack@5.74.0(uglify-js@3.14.2)): dependencies: cssnano: 5.1.15(postcss@8.4.24) jest-worker: 27.5.1 @@ -10386,7 +10402,7 @@ snapshots: schema-utils: 4.0.1 serialize-javascript: 6.0.1 source-map: 0.6.1 - webpack: 5.74.0(uglify-js@3.14.2)(webpack-cli@4.10.0) + webpack: 5.74.0(uglify-js@3.14.2) css-prefers-color-scheme@6.0.3(postcss@8.4.24): dependencies: @@ -10584,6 +10600,10 @@ snapshots: transitivePeerDependencies: - supports-color + dexie-cloud-common@1.0.47: + dependencies: + lib0: 0.2.99 + di@0.0.1: {} didyoumean@1.2.2: {} @@ -10878,23 +10898,24 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(eslint@8.56.0)(jest@27.5.1)(typescript@4.9.5): + eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.23.3(@babel/core@7.22.1))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.22.1))(eslint@8.56.0)(jest@27.5.1)(typescript@4.9.5): dependencies: '@babel/core': 7.22.1 '@babel/eslint-parser': 7.21.8(@babel/core@7.22.1)(eslint@8.56.0) '@rushstack/eslint-patch': 1.3.0 - '@typescript-eslint/eslint-plugin': 5.59.9(@typescript-eslint/parser@5.59.9)(eslint@8.56.0)(typescript@4.9.5) + '@typescript-eslint/eslint-plugin': 5.59.9(@typescript-eslint/parser@5.59.9(eslint@8.56.0)(typescript@4.9.5))(eslint@8.56.0)(typescript@4.9.5) '@typescript-eslint/parser': 5.59.9(eslint@8.56.0)(typescript@4.9.5) babel-preset-react-app: 10.0.1 confusing-browser-globals: 1.0.11 eslint: 8.56.0 - eslint-plugin-flowtype: 8.0.3(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(eslint@8.56.0) - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.59.9)(eslint@8.56.0) - eslint-plugin-jest: 25.7.0(@typescript-eslint/eslint-plugin@5.59.9)(eslint@8.56.0)(jest@27.5.1)(typescript@4.9.5) + eslint-plugin-flowtype: 8.0.3(@babel/plugin-syntax-flow@7.23.3(@babel/core@7.22.1))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.22.1))(eslint@8.56.0) + eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.59.9(eslint@8.56.0)(typescript@4.9.5))(eslint@8.56.0) + eslint-plugin-jest: 25.7.0(@typescript-eslint/eslint-plugin@5.59.9(@typescript-eslint/parser@5.59.9(eslint@8.56.0)(typescript@4.9.5))(eslint@8.56.0)(typescript@4.9.5))(eslint@8.56.0)(jest@27.5.1)(typescript@4.9.5) eslint-plugin-jsx-a11y: 6.7.1(eslint@8.56.0) eslint-plugin-react: 7.32.2(eslint@8.56.0) eslint-plugin-react-hooks: 4.6.0(eslint@8.56.0) eslint-plugin-testing-library: 5.11.0(eslint@8.56.0)(typescript@4.9.5) + optionalDependencies: typescript: 4.9.5 transitivePeerDependencies: - '@babel/plugin-syntax-flow' @@ -10912,16 +10933,17 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.8.0(@typescript-eslint/parser@5.59.9)(eslint-import-resolver-node@0.3.7)(eslint@8.56.0): + eslint-module-utils@2.8.0(@typescript-eslint/parser@5.59.9(eslint@8.56.0)(typescript@4.9.5))(eslint-import-resolver-node@0.3.7)(eslint@8.56.0): dependencies: - '@typescript-eslint/parser': 5.59.9(eslint@8.56.0)(typescript@4.9.5) debug: 3.2.7 + optionalDependencies: + '@typescript-eslint/parser': 5.59.9(eslint@8.56.0)(typescript@4.9.5) eslint: 8.56.0 eslint-import-resolver-node: 0.3.7 transitivePeerDependencies: - supports-color - eslint-plugin-flowtype@8.0.3(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(eslint@8.56.0): + eslint-plugin-flowtype@8.0.3(@babel/plugin-syntax-flow@7.23.3(@babel/core@7.22.1))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.22.1))(eslint@8.56.0): dependencies: '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.22.1) '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.22.1) @@ -10929,9 +10951,8 @@ snapshots: lodash: 4.17.21 string-natural-compare: 3.0.1 - eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.59.9)(eslint@8.56.0): + eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.59.9(eslint@8.56.0)(typescript@4.9.5))(eslint@8.56.0): dependencies: - '@typescript-eslint/parser': 5.59.9(eslint@8.56.0)(typescript@4.9.5) array-includes: 3.1.6 array.prototype.flat: 1.3.1 array.prototype.flatmap: 1.3.1 @@ -10939,7 +10960,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.56.0 eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.59.9)(eslint-import-resolver-node@0.3.7)(eslint@8.56.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.59.9(eslint@8.56.0)(typescript@4.9.5))(eslint-import-resolver-node@0.3.7)(eslint@8.56.0) has: 1.0.3 is-core-module: 2.12.1 is-glob: 4.0.3 @@ -10948,16 +10969,19 @@ snapshots: resolve: 1.22.2 semver: 6.3.0 tsconfig-paths: 3.14.2 + optionalDependencies: + '@typescript-eslint/parser': 5.59.9(eslint@8.56.0)(typescript@4.9.5) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-jest@25.7.0(@typescript-eslint/eslint-plugin@5.59.9)(eslint@8.56.0)(jest@27.5.1)(typescript@4.9.5): + eslint-plugin-jest@25.7.0(@typescript-eslint/eslint-plugin@5.59.9(@typescript-eslint/parser@5.59.9(eslint@8.56.0)(typescript@4.9.5))(eslint@8.56.0)(typescript@4.9.5))(eslint@8.56.0)(jest@27.5.1)(typescript@4.9.5): dependencies: - '@typescript-eslint/eslint-plugin': 5.59.9(@typescript-eslint/parser@5.59.9)(eslint@8.56.0)(typescript@4.9.5) '@typescript-eslint/experimental-utils': 5.59.9(eslint@8.56.0)(typescript@4.9.5) eslint: 8.56.0 + optionalDependencies: + '@typescript-eslint/eslint-plugin': 5.59.9(@typescript-eslint/parser@5.59.9(eslint@8.56.0)(typescript@4.9.5))(eslint@8.56.0)(typescript@4.9.5) jest: 27.5.1 transitivePeerDependencies: - supports-color @@ -11045,7 +11069,7 @@ snapshots: eslint-visitor-keys@3.4.3: {} - eslint-webpack-plugin@3.2.0(eslint@8.56.0)(webpack@5.74.0): + eslint-webpack-plugin@3.2.0(eslint@8.56.0)(webpack@5.74.0(uglify-js@3.14.2)): dependencies: '@types/eslint': 8.40.0 eslint: 8.56.0 @@ -11053,7 +11077,7 @@ snapshots: micromatch: 4.0.5 normalize-path: 3.0.0 schema-utils: 4.0.1 - webpack: 5.74.0(uglify-js@3.14.2)(webpack-cli@4.10.0) + webpack: 5.74.0(uglify-js@3.14.2) eslint@5.16.0: dependencies: @@ -11355,11 +11379,11 @@ snapshots: dependencies: flat-cache: 3.0.4 - file-loader@6.2.0(webpack@5.74.0): + file-loader@6.2.0(webpack@5.74.0(uglify-js@3.14.2)): dependencies: loader-utils: 2.0.4 schema-utils: 3.1.1 - webpack: 5.74.0(uglify-js@3.14.2)(webpack-cli@4.10.0) + webpack: 5.74.0(uglify-js@3.14.2) filelist@1.0.4: dependencies: @@ -11450,7 +11474,7 @@ snapshots: forever-agent@0.6.1: {} - fork-ts-checker-webpack-plugin@6.5.3(eslint@8.56.0)(typescript@4.9.5)(webpack@5.74.0): + fork-ts-checker-webpack-plugin@6.5.3(eslint@8.56.0)(typescript@4.9.5)(webpack@5.74.0(uglify-js@3.14.2)): dependencies: '@babel/code-frame': 7.21.4 '@types/json-schema': 7.0.12 @@ -11458,7 +11482,6 @@ snapshots: chokidar: 3.5.3 cosmiconfig: 6.0.0 deepmerge: 4.2.2 - eslint: 8.56.0 fs-extra: 9.1.0 glob: 7.2.3 memfs: 3.5.2 @@ -11467,7 +11490,9 @@ snapshots: semver: 7.5.1 tapable: 1.1.3 typescript: 4.9.5 - webpack: 5.74.0(uglify-js@3.14.2)(webpack-cli@4.10.0) + webpack: 5.74.0(uglify-js@3.14.2) + optionalDependencies: + eslint: 8.56.0 form-data@2.3.3: dependencies: @@ -11742,14 +11767,14 @@ snapshots: relateurl: 0.2.7 terser: 5.20.0 - html-webpack-plugin@5.5.1(webpack@5.74.0): + html-webpack-plugin@5.5.1(webpack@5.74.0(uglify-js@3.14.2)): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 lodash: 4.17.21 pretty-error: 4.0.0 tapable: 2.2.1 - webpack: 5.74.0(uglify-js@3.14.2)(webpack-cli@4.10.0) + webpack: 5.74.0(uglify-js@3.14.2) htmlparser2@6.1.0: dependencies: @@ -11795,12 +11820,13 @@ snapshots: http-proxy-middleware@2.0.6(@types/express@4.17.17): dependencies: - '@types/express': 4.17.17 '@types/http-proxy': 1.17.11 http-proxy: 1.18.1 is-glob: 4.0.3 is-plain-obj: 3.0.0 micromatch: 4.0.5 + optionalDependencies: + '@types/express': 4.17.17 transitivePeerDependencies: - debug @@ -12067,6 +12093,8 @@ snapshots: isobject@3.0.1: {} + isomorphic.js@0.2.5: {} + isstream@0.1.2: {} istanbul-lib-coverage@3.2.0: {} @@ -12344,7 +12372,7 @@ snapshots: '@types/node': 20.2.5 jest-pnp-resolver@1.2.3(jest-resolve@27.5.1): - dependencies: + optionalDependencies: jest-resolve: 27.5.1 jest-regex-util@27.5.1: {} @@ -12799,6 +12827,10 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 + lib0@0.2.99: + dependencies: + isomorphic.js: 0.2.5 + lilconfig@2.1.0: {} lines-and-columns@1.2.4: {} @@ -12960,10 +12992,10 @@ snapshots: min-indent@1.0.1: {} - mini-css-extract-plugin@2.7.6(webpack@5.74.0): + mini-css-extract-plugin@2.7.6(webpack@5.74.0(uglify-js@3.14.2)): dependencies: schema-utils: 4.0.1 - webpack: 5.74.0(uglify-js@3.14.2)(webpack-cli@4.10.0) + webpack: 5.74.0(uglify-js@3.14.2) minimalistic-assert@1.0.1: {} @@ -13006,7 +13038,7 @@ snapshots: object-assign: 4.1.1 thenify-all: 1.6.0 - nano-css@5.3.5(react-dom@17.0.2)(react@17.0.2): + nano-css@5.3.5(react-dom@17.0.2(react@17.0.2))(react@17.0.2): dependencies: css-tree: 1.1.3 csstype: 3.1.0 @@ -13021,8 +13053,6 @@ snapshots: nanoid@3.3.6: {} - nanoid@3.3.7: {} - natural-compare-lite@1.4.0: {} natural-compare@1.4.0: {} @@ -13381,10 +13411,6 @@ snapshots: dependencies: postcss: 8.4.24 - postcss-flexbugs-fixes@5.0.2(postcss@8.4.32): - dependencies: - postcss: 8.4.32 - postcss-focus-visible@6.0.4(postcss@8.4.24): dependencies: postcss: 8.4.24 @@ -13433,16 +13459,17 @@ snapshots: postcss-load-config@4.0.1(postcss@8.4.24): dependencies: lilconfig: 2.1.0 - postcss: 8.4.24 yaml: 2.3.1 + optionalDependencies: + postcss: 8.4.24 - postcss-loader@6.2.1(postcss@8.4.24)(webpack@5.74.0): + postcss-loader@6.2.1(postcss@8.4.24)(webpack@5.74.0(uglify-js@3.14.2)): dependencies: cosmiconfig: 7.1.0 klona: 2.0.6 postcss: 8.4.24 semver: 7.5.1 - webpack: 5.74.0(uglify-js@3.14.2)(webpack-cli@4.10.0) + webpack: 5.74.0(uglify-js@3.14.2) postcss-logical@5.0.4(postcss@8.4.24): dependencies: @@ -13707,12 +13734,6 @@ snapshots: picocolors: 1.0.0 source-map-js: 1.0.2 - postcss@8.4.32: - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 - preact@10.10.6: {} prelude-ls@1.1.2: {} @@ -13858,12 +13879,11 @@ snapshots: regenerator-runtime: 0.13.11 whatwg-fetch: 3.6.2 - react-bootstrap@2.7.4(@types/react@18.2.8)(react-dom@17.0.2)(react@17.0.2): + react-bootstrap@2.7.4(@types/react@18.2.8)(react-dom@17.0.2(react@17.0.2))(react@17.0.2): dependencies: '@babel/runtime': 7.22.3 '@restart/hooks': 0.4.9(react@17.0.2) - '@restart/ui': 1.6.6(react-dom@17.0.2)(react@17.0.2) - '@types/react': 18.2.8 + '@restart/ui': 1.6.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) '@types/react-transition-group': 4.4.6 classnames: 2.3.2 dom-helpers: 5.2.1 @@ -13872,11 +13892,13 @@ snapshots: prop-types-extra: 1.1.1(react@17.0.2) react: 17.0.2 react-dom: 17.0.2(react@17.0.2) - react-transition-group: 4.4.5(react-dom@17.0.2)(react@17.0.2) + react-transition-group: 4.4.5(react-dom@17.0.2(react@17.0.2))(react@17.0.2) uncontrollable: 7.2.1(react@17.0.2) warning: 4.0.3 + optionalDependencies: + '@types/react': 18.2.8 - react-dev-utils@12.0.1(eslint@8.56.0)(typescript@4.9.5)(webpack@5.74.0): + react-dev-utils@12.0.1(eslint@8.56.0)(typescript@4.9.5)(webpack@5.74.0(uglify-js@3.14.2)): dependencies: '@babel/code-frame': 7.21.4 address: 1.2.2 @@ -13887,7 +13909,7 @@ snapshots: escape-string-regexp: 4.0.0 filesize: 8.0.7 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.56.0)(typescript@4.9.5)(webpack@5.74.0) + fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.56.0)(typescript@4.9.5)(webpack@5.74.0(uglify-js@3.14.2)) global-modules: 2.0.0 globby: 11.1.0 gzip-size: 6.0.0 @@ -13902,8 +13924,9 @@ snapshots: shell-quote: 1.8.1 strip-ansi: 6.0.1 text-table: 0.2.0 + webpack: 5.74.0(uglify-js@3.14.2) + optionalDependencies: typescript: 4.9.5 - webpack: 5.74.0(uglify-js@3.14.2)(webpack-cli@4.10.0) transitivePeerDependencies: - eslint - supports-color @@ -13928,59 +13951,59 @@ snapshots: react-refresh@0.11.0: {} - react-scripts@5.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(eslint@8.56.0)(react@17.0.2)(typescript@4.9.5)(uglify-js@3.14.2): + react-scripts@5.0.1(@babel/plugin-syntax-flow@7.23.3(@babel/core@7.22.1))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.22.1))(@types/babel__core@7.20.1)(eslint@8.56.0)(react@17.0.2)(type-fest@0.21.3)(typescript@4.9.5)(uglify-js@3.14.2): dependencies: '@babel/core': 7.22.1 - '@pmmmwh/react-refresh-webpack-plugin': 0.5.10(react-refresh@0.11.0)(webpack-dev-server@4.15.0)(webpack@5.74.0) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.10(react-refresh@0.11.0)(type-fest@0.21.3)(webpack-dev-server@4.15.0(webpack@5.74.0(uglify-js@3.14.2)))(webpack@5.74.0(uglify-js@3.14.2)) '@svgr/webpack': 5.5.0 babel-jest: 27.5.1(@babel/core@7.22.1) - babel-loader: 8.3.0(@babel/core@7.22.1)(webpack@5.74.0) + babel-loader: 8.3.0(@babel/core@7.22.1)(webpack@5.74.0(uglify-js@3.14.2)) babel-plugin-named-asset-import: 0.3.8(@babel/core@7.22.1) babel-preset-react-app: 10.0.1 bfj: 7.0.2 browserslist: 4.21.3 camelcase: 6.3.0 case-sensitive-paths-webpack-plugin: 2.4.0 - css-loader: 6.8.1(webpack@5.74.0) - css-minimizer-webpack-plugin: 3.4.1(webpack@5.74.0) + css-loader: 6.8.1(webpack@5.74.0(uglify-js@3.14.2)) + css-minimizer-webpack-plugin: 3.4.1(webpack@5.74.0(uglify-js@3.14.2)) dotenv: 10.0.0 dotenv-expand: 5.1.0 eslint: 8.56.0 - eslint-config-react-app: 7.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(eslint@8.56.0)(jest@27.5.1)(typescript@4.9.5) - eslint-webpack-plugin: 3.2.0(eslint@8.56.0)(webpack@5.74.0) - file-loader: 6.2.0(webpack@5.74.0) + eslint-config-react-app: 7.0.1(@babel/plugin-syntax-flow@7.23.3(@babel/core@7.22.1))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.22.1))(eslint@8.56.0)(jest@27.5.1)(typescript@4.9.5) + eslint-webpack-plugin: 3.2.0(eslint@8.56.0)(webpack@5.74.0(uglify-js@3.14.2)) + file-loader: 6.2.0(webpack@5.74.0(uglify-js@3.14.2)) fs-extra: 10.0.1 - html-webpack-plugin: 5.5.1(webpack@5.74.0) + html-webpack-plugin: 5.5.1(webpack@5.74.0(uglify-js@3.14.2)) identity-obj-proxy: 3.0.0 jest: 27.5.1 jest-resolve: 27.5.1 jest-watch-typeahead: 1.1.0(jest@27.5.1) - mini-css-extract-plugin: 2.7.6(webpack@5.74.0) + mini-css-extract-plugin: 2.7.6(webpack@5.74.0(uglify-js@3.14.2)) postcss: 8.4.24 postcss-flexbugs-fixes: 5.0.2(postcss@8.4.24) - postcss-loader: 6.2.1(postcss@8.4.24)(webpack@5.74.0) + postcss-loader: 6.2.1(postcss@8.4.24)(webpack@5.74.0(uglify-js@3.14.2)) postcss-normalize: 10.0.1(browserslist@4.21.3)(postcss@8.4.24) postcss-preset-env: 7.8.3(postcss@8.4.24) prompts: 2.4.2 react: 17.0.2 react-app-polyfill: 3.0.0 - react-dev-utils: 12.0.1(eslint@8.56.0)(typescript@4.9.5)(webpack@5.74.0) + react-dev-utils: 12.0.1(eslint@8.56.0)(typescript@4.9.5)(webpack@5.74.0(uglify-js@3.14.2)) react-refresh: 0.11.0 resolve: 1.22.1 resolve-url-loader: 4.0.0 - sass-loader: 12.6.0(webpack@5.74.0) + sass-loader: 12.6.0(webpack@5.74.0(uglify-js@3.14.2)) semver: 7.3.7 - source-map-loader: 3.0.2(webpack@5.74.0) - style-loader: 3.3.3(webpack@5.74.0) + source-map-loader: 3.0.2(webpack@5.74.0(uglify-js@3.14.2)) + style-loader: 3.3.3(webpack@5.74.0(uglify-js@3.14.2)) tailwindcss: 3.3.2 - terser-webpack-plugin: 5.3.6(uglify-js@3.14.2)(webpack@5.74.0) - typescript: 4.9.5 - webpack: 5.74.0(uglify-js@3.14.2)(webpack-cli@4.10.0) - webpack-dev-server: 4.15.0(webpack@5.74.0) - webpack-manifest-plugin: 4.1.1(webpack@5.74.0) - workbox-webpack-plugin: 6.6.0(webpack@5.74.0) + terser-webpack-plugin: 5.3.6(uglify-js@3.14.2)(webpack@5.74.0(uglify-js@3.14.2)) + webpack: 5.74.0(uglify-js@3.14.2) + webpack-dev-server: 4.15.0(webpack@5.74.0(uglify-js@3.14.2)) + webpack-manifest-plugin: 4.1.1(webpack@5.74.0(uglify-js@3.14.2)) + workbox-webpack-plugin: 6.6.0(@types/babel__core@7.20.1)(webpack@5.74.0(uglify-js@3.14.2)) optionalDependencies: fsevents: 2.3.3 + typescript: 4.9.5 transitivePeerDependencies: - '@babel/plugin-syntax-flow' - '@babel/plugin-transform-react-jsx' @@ -14014,7 +14037,7 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - react-transition-group@4.4.5(react-dom@17.0.2)(react@17.0.2): + react-transition-group@4.4.5(react-dom@17.0.2(react@17.0.2))(react@17.0.2): dependencies: '@babel/runtime': 7.22.3 dom-helpers: 5.2.1 @@ -14028,7 +14051,7 @@ snapshots: react: 17.0.2 tslib: 2.4.0 - react-use@17.4.0(react-dom@17.0.2)(react@17.0.2): + react-use@17.4.0(react-dom@17.0.2(react@17.0.2))(react@17.0.2): dependencies: '@types/js-cookie': 2.2.7 '@xobotyi/scrollbar-width': 1.9.5 @@ -14036,7 +14059,7 @@ snapshots: fast-deep-equal: 3.1.3 fast-shallow-equal: 1.0.0 js-cookie: 2.2.1 - nano-css: 5.3.5(react-dom@17.0.2)(react@17.0.2) + nano-css: 5.3.5(react-dom@17.0.2(react@17.0.2))(react@17.0.2) react: 17.0.2 react-dom: 17.0.2(react@17.0.2) react-universal-interface: 0.6.2(react@17.0.2)(tslib@2.4.0) @@ -14282,17 +14305,21 @@ snapshots: rollup: 2.79.0 rollup-pluginutils: 2.8.2 - rollup-plugin-sourcemaps@0.6.3(rollup@2.58.3): + rollup-plugin-sourcemaps@0.6.3(@types/node@20.2.5)(rollup@2.58.3): dependencies: '@rollup/pluginutils': 3.1.0(rollup@2.58.3) rollup: 2.58.3 source-map-resolve: 0.6.0 + optionalDependencies: + '@types/node': 20.2.5 - rollup-plugin-sourcemaps@0.6.3(rollup@2.79.0): + rollup-plugin-sourcemaps@0.6.3(@types/node@20.2.5)(rollup@2.79.0): dependencies: '@rollup/pluginutils': 3.1.0(rollup@2.79.0) rollup: 2.79.0 source-map-resolve: 0.6.0 + optionalDependencies: + '@types/node': 20.2.5 rollup-plugin-terser@7.0.2(rollup@2.79.1): dependencies: @@ -14375,11 +14402,11 @@ snapshots: sanitize.css@13.0.0: {} - sass-loader@12.6.0(webpack@5.74.0): + sass-loader@12.6.0(webpack@5.74.0(uglify-js@3.14.2)): dependencies: klona: 2.0.6 neo-async: 2.6.2 - webpack: 5.74.0(uglify-js@3.14.2)(webpack-cli@4.10.0) + webpack: 5.74.0(uglify-js@3.14.2) sax@1.2.4: {} @@ -14627,12 +14654,12 @@ snapshots: source-map-js@1.0.2: {} - source-map-loader@3.0.2(webpack@5.74.0): + source-map-loader@3.0.2(webpack@5.74.0(uglify-js@3.14.2)): dependencies: abab: 2.0.6 iconv-lite: 0.6.3 source-map-js: 1.0.2 - webpack: 5.74.0(uglify-js@3.14.2)(webpack-cli@4.10.0) + webpack: 5.74.0(uglify-js@3.14.2) source-map-resolve@0.6.0: dependencies: @@ -14861,9 +14888,9 @@ snapshots: dependencies: escape-string-regexp: 1.0.5 - style-loader@3.3.3(webpack@5.74.0): + style-loader@3.3.3(webpack@5.74.0(uglify-js@3.14.2)): dependencies: - webpack: 5.74.0(uglify-js@3.14.2)(webpack-cli@4.10.0) + webpack: 5.74.0(uglify-js@3.14.2) stylehacks@5.1.1(postcss@8.4.24): dependencies: @@ -15001,15 +15028,27 @@ snapshots: ansi-escapes: 4.3.2 supports-hyperlinks: 2.3.0 - terser-webpack-plugin@5.3.6(uglify-js@3.14.2)(webpack@5.74.0): + terser-webpack-plugin@5.3.6(uglify-js@3.14.2)(webpack@5.74.0(uglify-js@3.14.2)(webpack-cli@4.10.0)): dependencies: '@jridgewell/trace-mapping': 0.3.18 jest-worker: 27.5.1 schema-utils: 3.1.1 serialize-javascript: 6.0.1 terser: 5.20.0 - uglify-js: 3.14.2 webpack: 5.74.0(uglify-js@3.14.2)(webpack-cli@4.10.0) + optionalDependencies: + uglify-js: 3.14.2 + + terser-webpack-plugin@5.3.6(uglify-js@3.14.2)(webpack@5.74.0(uglify-js@3.14.2)): + dependencies: + '@jridgewell/trace-mapping': 0.3.18 + jest-worker: 27.5.1 + schema-utils: 3.1.1 + serialize-javascript: 6.0.1 + terser: 5.20.0 + webpack: 5.74.0(uglify-js@3.14.2) + optionalDependencies: + uglify-js: 3.14.2 terser@5.20.0: dependencies: @@ -15106,7 +15145,7 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-loader@8.4.0(typescript@5.3.3)(webpack@5.74.0): + ts-loader@8.4.0(typescript@5.3.3)(webpack@5.74.0(uglify-js@3.14.2)(webpack-cli@4.10.0)): dependencies: chalk: 4.1.2 enhanced-resolve: 4.5.0 @@ -15181,10 +15220,10 @@ snapshots: typeson: 6.1.0 whatwg-url: 8.7.0 - typeson@5.18.2(core-js-bundle@3.34.0)(regenerator-runtime@0.13.11): + typeson@5.18.2(core-js-bundle@3.34.0)(regenerator-runtime@0.14.1): dependencies: core-js-bundle: 3.34.0 - regenerator-runtime: 0.13.11 + regenerator-runtime: 0.14.1 typeson@6.1.0: {} @@ -15344,9 +15383,9 @@ snapshots: webpack-cli@4.10.0(webpack@5.74.0): dependencies: '@discoveryjs/json-ext': 0.5.7 - '@webpack-cli/configtest': 1.2.0(webpack-cli@4.10.0)(webpack@5.74.0) - '@webpack-cli/info': 1.5.0(webpack-cli@4.10.0) - '@webpack-cli/serve': 1.7.0(webpack-cli@4.10.0) + '@webpack-cli/configtest': 1.2.0(webpack-cli@4.10.0(webpack@5.74.0))(webpack@5.74.0(uglify-js@3.14.2)(webpack-cli@4.10.0)) + '@webpack-cli/info': 1.5.0(webpack-cli@4.10.0(webpack@5.74.0)) + '@webpack-cli/serve': 1.7.0(webpack-cli@4.10.0(webpack@5.74.0)) colorette: 2.0.19 commander: 7.2.0 cross-spawn: 7.0.3 @@ -15357,16 +15396,16 @@ snapshots: webpack: 5.74.0(uglify-js@3.14.2)(webpack-cli@4.10.0) webpack-merge: 5.8.0 - webpack-dev-middleware@5.3.3(webpack@5.74.0): + webpack-dev-middleware@5.3.3(webpack@5.74.0(uglify-js@3.14.2)): dependencies: colorette: 2.0.19 memfs: 3.5.2 mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.0.1 - webpack: 5.74.0(uglify-js@3.14.2)(webpack-cli@4.10.0) + webpack: 5.74.0(uglify-js@3.14.2) - webpack-dev-server@4.15.0(webpack@5.74.0): + webpack-dev-server@4.15.0(webpack@5.74.0(uglify-js@3.14.2)): dependencies: '@types/bonjour': 3.5.10 '@types/connect-history-api-fallback': 1.5.0 @@ -15396,19 +15435,20 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack: 5.74.0(uglify-js@3.14.2)(webpack-cli@4.10.0) - webpack-dev-middleware: 5.3.3(webpack@5.74.0) + webpack-dev-middleware: 5.3.3(webpack@5.74.0(uglify-js@3.14.2)) ws: 8.13.0 + optionalDependencies: + webpack: 5.74.0(uglify-js@3.14.2) transitivePeerDependencies: - bufferutil - debug - supports-color - utf-8-validate - webpack-manifest-plugin@4.1.1(webpack@5.74.0): + webpack-manifest-plugin@4.1.1(webpack@5.74.0(uglify-js@3.14.2)): dependencies: tapable: 2.2.1 - webpack: 5.74.0(uglify-js@3.14.2)(webpack-cli@4.10.0) + webpack: 5.74.0(uglify-js@3.14.2) webpack-sources: 2.3.1 webpack-merge@5.8.0: @@ -15428,6 +15468,37 @@ snapshots: webpack-sources@3.2.3: {} + webpack@5.74.0(uglify-js@3.14.2): + dependencies: + '@types/eslint-scope': 3.7.4 + '@types/estree': 0.0.51 + '@webassemblyjs/ast': 1.11.1 + '@webassemblyjs/wasm-edit': 1.11.1 + '@webassemblyjs/wasm-parser': 1.11.1 + acorn: 8.8.0 + acorn-import-assertions: 1.8.0(acorn@8.8.0) + browserslist: 4.21.3 + chrome-trace-event: 1.0.3 + enhanced-resolve: 5.10.0 + es-module-lexer: 0.9.3 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.10 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.0 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 3.1.1 + tapable: 2.2.1 + terser-webpack-plugin: 5.3.6(uglify-js@3.14.2)(webpack@5.74.0(uglify-js@3.14.2)) + watchpack: 2.4.0 + webpack-sources: 3.2.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + webpack@5.74.0(uglify-js@3.14.2)(webpack-cli@4.10.0): dependencies: '@types/eslint-scope': 3.7.4 @@ -15451,10 +15522,11 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.1.1 tapable: 2.2.1 - terser-webpack-plugin: 5.3.6(uglify-js@3.14.2)(webpack@5.74.0) + terser-webpack-plugin: 5.3.6(uglify-js@3.14.2)(webpack@5.74.0(uglify-js@3.14.2)(webpack-cli@4.10.0)) watchpack: 2.4.0 - webpack-cli: 4.10.0(webpack@5.74.0) webpack-sources: 3.2.3 + optionalDependencies: + webpack-cli: 4.10.0(webpack@5.74.0) transitivePeerDependencies: - '@swc/core' - esbuild @@ -15544,13 +15616,13 @@ snapshots: dependencies: workbox-core: 7.0.0 - workbox-build@6.6.0: + workbox-build@6.6.0(@types/babel__core@7.20.1): dependencies: '@apideck/better-ajv-errors': 0.3.6(ajv@8.11.0) '@babel/core': 7.22.1 '@babel/preset-env': 7.22.4(@babel/core@7.22.1) '@babel/runtime': 7.22.3 - '@rollup/plugin-babel': 5.3.1(@babel/core@7.22.1)(rollup@2.79.1) + '@rollup/plugin-babel': 5.3.1(@babel/core@7.22.1)(@types/babel__core@7.20.1)(rollup@2.79.1) '@rollup/plugin-node-resolve': 11.2.1(rollup@2.79.1) '@rollup/plugin-replace': 2.4.2(rollup@2.79.1) '@surma/rollup-plugin-off-main-thread': 2.2.3 @@ -15688,14 +15760,14 @@ snapshots: workbox-sw@6.6.0: {} - workbox-webpack-plugin@6.6.0(webpack@5.74.0): + workbox-webpack-plugin@6.6.0(@types/babel__core@7.20.1)(webpack@5.74.0(uglify-js@3.14.2)): dependencies: fast-json-stable-stringify: 2.1.0 pretty-bytes: 5.6.0 upath: 1.2.0 - webpack: 5.74.0(uglify-js@3.14.2)(webpack-cli@4.10.0) + webpack: 5.74.0(uglify-js@3.14.2) webpack-sources: 1.4.3 - workbox-build: 6.6.0 + workbox-build: 6.6.0(@types/babel__core@7.20.1) transitivePeerDependencies: - '@types/babel__core' - supports-color diff --git a/samples/dexie-cloud-todo-app/README.md b/samples/dexie-cloud-todo-app/README.md index 94253e817..38794bd92 100644 --- a/samples/dexie-cloud-todo-app/README.md +++ b/samples/dexie-cloud-todo-app/README.md @@ -12,15 +12,15 @@ If you just want to see the app in action, navigate to the [pre-built published If you want to build and play with it locally, follow these steps: -1. `npm install --global yarn` (if yarn not already installed) +1. `npm install --global pnpm@latest-9` (if pnpm not already installed) 2. `npx dexie-cloud create` -3. `yarn install` +3. `pnpm install` 4. `./configure-app.sh` -5. `yarn start` +5. `pnpm start` The steps above will: -1. Install yarn (if you haven't already) +1. Install pnpm (if you haven't already) 2. Create a new database in the cloud 3. Install dependencies 4. Import demo-users to your database and create a .env file that connects the ToDo app to your database. @@ -30,7 +30,7 @@ The steps above will: Service worker is automatically disabled in dev-mode (the default for create-react-app). To enable it, the easiest way is to deploy the app: -1. `yarn deploy` (will publish the app to your gh-pages branch of your Dexie.js fork) +1. `pnpm run deploy` (will publish the app to your gh-pages branch of your Dexie.js fork) 2. `npx dexie-cloud whitelist https://your-github-username.github.io` (replace `your-github-username`) 3. Voila: Go to https://your-github-username.github.io/Dexie.js/dexie-cloud-todo-app/ from your browser. This is a full installable PWA that you can add to your start screen on a mobile phone. @@ -61,7 +61,7 @@ This command will create the file .env.local and configure it against the DB URL You can equally well set the environment variable REACT_APP_DBURL manually to the URL of your Dexie Cloud database. -### `yarn start` +### `pnpm start` Runs the app in the development mode.\ Open [http://localhost:3000](http://localhost:3000) to view it in the browser. @@ -69,12 +69,12 @@ Open [http://localhost:3000](http://localhost:3000) to view it in the browser. The page will reload if you make edits.\ You will also see any lint errors in the console. -### `yarn test` +### `pnpm test` Launches the test runner in the interactive watch mode.\ See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information. -### `yarn build` +### `pnpm build` Builds the app for production to the `build` folder.\ It correctly bundles React in production mode and optimizes the build for the best performance. @@ -84,11 +84,11 @@ Your app is ready to be deployed! See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information. -### `yarn deploy` +### `pnpm run deploy` Deploys the built app to gh-pages branch of this github repository under the folder /dexie-cloud-todo-app/. -### `yarn eject` +### `pnpm run eject` **Note: this is a one-way operation. Once you `eject`, you can’t go back!** diff --git a/samples/dexie-cloud-todo-app/package.json b/samples/dexie-cloud-todo-app/package.json index f2b93482f..749054936 100644 --- a/samples/dexie-cloud-todo-app/package.json +++ b/samples/dexie-cloud-todo-app/package.json @@ -16,9 +16,9 @@ "@types/react-dom": "^18.2.4", "@types/testing-library__jest-dom": "^5.14.6", "bootstrap": "5.3.0", - "dexie": "^4.0.7", - "dexie-cloud-addon": "^4.0.7", - "dexie-react-hooks": "^1.1.6", + "dexie": "workspace:^", + "dexie-cloud-addon": "workspace:^", + "dexie-react-hooks": "workspace:^", "postcss-flexbugs-fixes": "^5.0.2", "react": "^17.0.2", "react-bootstrap": "^2.7.4", diff --git a/src/helpers/prop-modification.ts b/src/helpers/prop-modification.ts index 69bf25891..624aa4f21 100644 --- a/src/helpers/prop-modification.ts +++ b/src/helpers/prop-modification.ts @@ -1,8 +1,6 @@ import { isArray } from "../functions/utils"; import { PropModSpec } from "../public/types/prop-modification"; -export const PropModSymbol: unique symbol = Symbol(); - /** Consistent change propagation across offline synced data. * * This class is executed client- and server side on sync, making @@ -25,16 +23,13 @@ export const PropModSymbol: unique symbol = Symbol(); * 2. Here in PropModification with the logic they represent * 3. (Optionally) a sugar function for it, such as const mathAdd = (amount: number | BigInt) => new PropModification({mathAdd: amount}) */ -export class PropModification implements PropModSpec { - [PropModSymbol]?: true; - replacePrefix?: [string, string]; - add?: number | bigint | Array; - remove?: number | bigint | Array; - +export class PropModification { + ["@@propmod"]: PropModSpec; execute(value: any): any { + const spec = this["@@propmod"] // add (mathematical or set-wise) - if (this.add !== undefined) { - const term = this.add; + if (spec.add !== undefined) { + const term = spec.add; // Set-addition on array representing a set of primitive types (strings, numbers) if (isArray(term)) { return [...(isArray(value) ? value : []), ...term].sort(); @@ -52,8 +47,8 @@ export class PropModification implements PropModSpec { } // remove (mathematical or set-wise) - if (this.remove !== undefined) { - const subtrahend = this.remove; + if (spec.remove !== undefined) { + const subtrahend = spec.remove; // Set-addition on array representing a set of primitive types (strings, numbers) if (isArray(subtrahend)) { return isArray(value) ? value.filter(item => !subtrahend.includes(item)).sort() : []; @@ -71,14 +66,14 @@ export class PropModification implements PropModSpec { } // Replace a prefix: - const prefixToReplace = this.replacePrefix?.[0]; + const prefixToReplace = spec.replacePrefix?.[0]; if (prefixToReplace && typeof value === 'string' && value.startsWith(prefixToReplace)) { - return this.replacePrefix[1] + value.substring(prefixToReplace.length); + return spec.replacePrefix[1] + value.substring(prefixToReplace.length); } return value; } constructor(spec: PropModSpec) { - Object.assign(this, spec); + this["@@propmod"] = spec; } } diff --git a/src/index.ts b/src/index.ts index ba0aca2ca..c422e2f8c 100644 --- a/src/index.ts +++ b/src/index.ts @@ -13,7 +13,7 @@ import './support-bfcache'; import { liveQuery } from './live-query/live-query'; import { Entity } from './classes/entity/Entity'; import { cmp } from './functions/cmp'; -import { PropModification, PropModSymbol } from './helpers/prop-modification'; +import { PropModification } from './helpers/prop-modification'; import { replacePrefix, add, remove } from './functions/propmods'; @@ -30,5 +30,5 @@ export { RangeSet, mergeRanges, rangesOverlap } from "./helpers/rangeset"; export { Dexie, liveQuery }; // Comply with public/index.d.ts. export { Entity }; export { cmp }; -export { PropModSymbol, PropModification, replacePrefix, add, remove }; +export { PropModification, replacePrefix, add, remove }; export default Dexie; diff --git a/src/public/index.d.ts b/src/public/index.d.ts index c22777a84..cce5d94a9 100644 --- a/src/public/index.d.ts +++ b/src/public/index.d.ts @@ -26,8 +26,8 @@ import { Observable } from './types/observable'; import { IntervalTree, RangeSetConstructor } from './types/rangeset'; import { Dexie, TableProp } from './types/dexie'; export type { TableProp }; -import { PropModification, PropModSpec, PropModSymbol } from './types/prop-modification'; -export { PropModification, PropModSpec, PropModSymbol }; +import { PropModification, PropModSpec } from './types/prop-modification'; +export { PropModification, PropModSpec }; export * from './types/entity'; export * from './types/entity-table'; export { UpdateSpec } from './types/update-spec'; diff --git a/src/public/types/prop-modification.d.ts b/src/public/types/prop-modification.d.ts index be8c85f44..022944c95 100644 --- a/src/public/types/prop-modification.d.ts +++ b/src/public/types/prop-modification.d.ts @@ -1,18 +1,11 @@ -export declare const PropModSymbol: unique symbol; - export type PropModSpec = { replacePrefix?: [string, string]; add?: number | bigint | Array; remove?: number | bigint | Array; } -export class PropModification implements PropModSpec { - [PropModSymbol]?: true; - replacePrefix?: [string, string]; - add?: number | bigint | Array; - remove?: number | bigint | Array; - - execute(value: T): T; - +export class PropModification { + ["@@propmod"]: PropModSpec; constructor(spec: PropModSpec); + execute(value: T): T; } diff --git a/tools/release.sh b/tools/release.sh index 705c156c3..1168e68a5 100755 --- a/tools/release.sh +++ b/tools/release.sh @@ -40,6 +40,8 @@ validate_semver $next_version if echo "$next_version" | grep -q "-"; then NPMTAG="next$master_suffix" +else if "$1" = "canary"; then + NPMTAG="canary$master_suffix" else NPMTAG="latest$master_suffix" fi