mindoodb 0.0.2 → 0.0.3
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.
- package/README.md +92 -19
- package/dist/__mocks__/expo-standard-web-crypto.d.ts +10 -0
- package/dist/__mocks__/expo-standard-web-crypto.d.ts.map +1 -0
- package/dist/__mocks__/expo-standard-web-crypto.js +22 -0
- package/dist/__mocks__/expo-standard-web-crypto.js.map +1 -0
- package/dist/appendonlystores/BasicOnDiskContentAddressedStoreFactory.d.ts +8 -0
- package/dist/appendonlystores/BasicOnDiskContentAddressedStoreFactory.d.ts.map +1 -0
- package/dist/appendonlystores/BasicOnDiskContentAddressedStoreFactory.js +16 -0
- package/dist/appendonlystores/BasicOnDiskContentAddressedStoreFactory.js.map +1 -0
- package/dist/appendonlystores/InMemoryContentAddressedStoreFactory.d.ts +1 -1
- package/dist/appendonlystores/InMemoryContentAddressedStoreFactory.d.ts.map +1 -1
- package/dist/appendonlystores/InMemoryContentAddressedStoreFactory.js +2 -2
- package/dist/appendonlystores/InMemoryContentAddressedStoreFactory.js.map +1 -1
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts +11 -1
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts.map +1 -1
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js +94 -0
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js.map +1 -1
- package/dist/appendonlystores/network/HttpTransport.d.ts +13 -2
- package/dist/appendonlystores/network/HttpTransport.d.ts.map +1 -1
- package/dist/appendonlystores/network/HttpTransport.js +86 -0
- package/dist/appendonlystores/network/HttpTransport.js.map +1 -1
- package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts +19 -2
- package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts.map +1 -1
- package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js +96 -0
- package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js.map +1 -1
- package/dist/appendonlystores/network/index.d.ts +1 -1
- package/dist/appendonlystores/network/index.d.ts.map +1 -1
- package/dist/appendonlystores/network/index.js.map +1 -1
- package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.d.ts +61 -0
- package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.d.ts.map +1 -0
- package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.js +685 -0
- package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.js.map +1 -0
- package/dist/browser/appendonlystores/IndexedDBContentAddressedStoreFactory.d.ts +25 -0
- package/dist/browser/appendonlystores/IndexedDBContentAddressedStoreFactory.d.ts.map +1 -0
- package/dist/browser/appendonlystores/IndexedDBContentAddressedStoreFactory.js +41 -0
- package/dist/browser/appendonlystores/IndexedDBContentAddressedStoreFactory.js.map +1 -0
- package/dist/browser/index.d.ts +5 -0
- package/dist/browser/index.d.ts.map +1 -1
- package/dist/browser/index.js +13 -1
- package/dist/browser/index.js.map +1 -1
- package/dist/core/BaseMindooDB.d.ts +12 -0
- package/dist/core/BaseMindooDB.d.ts.map +1 -1
- package/dist/core/BaseMindooDB.js +210 -108
- package/dist/core/BaseMindooDB.js.map +1 -1
- package/dist/core/BaseMindooTenant.d.ts +40 -6
- package/dist/core/BaseMindooTenant.d.ts.map +1 -1
- package/dist/core/BaseMindooTenant.js +179 -21
- package/dist/core/BaseMindooTenant.js.map +1 -1
- package/dist/core/BaseMindooTenantDirectory.d.ts.map +1 -1
- package/dist/core/BaseMindooTenantDirectory.js +10 -0
- package/dist/core/BaseMindooTenantDirectory.js.map +1 -1
- package/dist/core/BaseMindooTenantFactory.d.ts +22 -28
- package/dist/core/BaseMindooTenantFactory.d.ts.map +1 -1
- package/dist/core/BaseMindooTenantFactory.js +161 -65
- package/dist/core/BaseMindooTenantFactory.js.map +1 -1
- package/dist/core/appendonlystores/BasicOnDiskContentAddressedStore.d.ts +68 -0
- package/dist/core/appendonlystores/BasicOnDiskContentAddressedStore.d.ts.map +1 -0
- package/dist/core/appendonlystores/BasicOnDiskContentAddressedStore.js +659 -0
- package/dist/core/appendonlystores/BasicOnDiskContentAddressedStore.js.map +1 -0
- package/dist/core/appendonlystores/InMemoryContentAddressedStore.d.ts +43 -3
- package/dist/core/appendonlystores/InMemoryContentAddressedStore.d.ts.map +1 -1
- package/dist/core/appendonlystores/InMemoryContentAddressedStore.js +162 -23
- package/dist/core/appendonlystores/InMemoryContentAddressedStore.js.map +1 -1
- package/dist/core/appendonlystores/bloom.d.ts +85 -0
- package/dist/core/appendonlystores/bloom.d.ts.map +1 -0
- package/dist/core/appendonlystores/bloom.js +228 -0
- package/dist/core/appendonlystores/bloom.js.map +1 -0
- package/dist/core/appendonlystores/network/NetworkTransport.d.ts +22 -2
- package/dist/core/appendonlystores/network/NetworkTransport.d.ts.map +1 -1
- package/dist/core/appendonlystores/network/types.d.ts +10 -0
- package/dist/core/appendonlystores/network/types.d.ts.map +1 -1
- package/dist/core/appendonlystores/network/types.js.map +1 -1
- package/dist/core/appendonlystores/types.d.ts +123 -0
- package/dist/core/appendonlystores/types.d.ts.map +1 -1
- package/dist/core/automerge-adapter.d.ts +15 -0
- package/dist/core/automerge-adapter.d.ts.map +1 -0
- package/dist/core/automerge-adapter.js +73 -0
- package/dist/core/automerge-adapter.js.map +1 -0
- package/dist/core/crypto/pbkdf2Iterations.d.ts +12 -0
- package/dist/core/crypto/pbkdf2Iterations.d.ts.map +1 -0
- package/dist/core/crypto/pbkdf2Iterations.js +55 -0
- package/dist/core/crypto/pbkdf2Iterations.js.map +1 -0
- package/dist/core/index.d.ts +7 -2
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +30 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/keys/KeyBag.d.ts +32 -12
- package/dist/core/keys/KeyBag.d.ts.map +1 -1
- package/dist/core/keys/KeyBag.js +86 -26
- package/dist/core/keys/KeyBag.js.map +1 -1
- package/dist/core/keys/KeyContext.d.ts +4 -0
- package/dist/core/keys/KeyContext.d.ts.map +1 -0
- package/dist/core/keys/KeyContext.js +11 -0
- package/dist/core/keys/KeyContext.js.map +1 -0
- package/dist/core/types.d.ts +218 -50
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +2 -0
- package/dist/core/types.js.map +1 -1
- package/dist/core/uri/MindooURI.d.ts +58 -0
- package/dist/core/uri/MindooURI.d.ts.map +1 -0
- package/dist/core/uri/MindooURI.js +169 -0
- package/dist/core/uri/MindooURI.js.map +1 -0
- package/dist/core/userid/index.d.ts +0 -10
- package/dist/core/userid/index.d.ts.map +1 -1
- package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.d.ts +541 -0
- package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.d.ts.map +1 -0
- package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.js +1334 -0
- package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.js.map +1 -0
- package/dist/node/index.d.ts +1 -0
- package/dist/node/index.d.ts.map +1 -1
- package/dist/node/index.js +5 -1
- package/dist/node/index.js.map +1 -1
- package/dist/reactnative/crypto/AESAdapter.d.ts +18 -0
- package/dist/reactnative/crypto/AESAdapter.d.ts.map +1 -0
- package/dist/reactnative/crypto/AESAdapter.js +112 -0
- package/dist/reactnative/crypto/AESAdapter.js.map +1 -0
- package/dist/reactnative/crypto/Ed25519Adapter.d.ts +34 -0
- package/dist/reactnative/crypto/Ed25519Adapter.d.ts.map +1 -0
- package/dist/reactnative/crypto/Ed25519Adapter.js +386 -0
- package/dist/reactnative/crypto/Ed25519Adapter.js.map +1 -0
- package/dist/reactnative/crypto/ExpoGoCryptoAdapter.d.ts +23 -0
- package/dist/reactnative/crypto/ExpoGoCryptoAdapter.d.ts.map +1 -0
- package/dist/reactnative/crypto/ExpoGoCryptoAdapter.js +51 -0
- package/dist/reactnative/crypto/ExpoGoCryptoAdapter.js.map +1 -0
- package/dist/reactnative/crypto/HMACAdapter.d.ts +13 -0
- package/dist/reactnative/crypto/HMACAdapter.d.ts.map +1 -0
- package/dist/reactnative/crypto/HMACAdapter.js +50 -0
- package/dist/reactnative/crypto/HMACAdapter.js.map +1 -0
- package/dist/reactnative/crypto/KeyFormatConverter.d.ts +21 -0
- package/dist/reactnative/crypto/KeyFormatConverter.d.ts.map +1 -0
- package/dist/reactnative/crypto/KeyFormatConverter.js +72 -0
- package/dist/reactnative/crypto/KeyFormatConverter.js.map +1 -0
- package/dist/reactnative/crypto/PBKDF2Adapter.d.ts +19 -0
- package/dist/reactnative/crypto/PBKDF2Adapter.d.ts.map +1 -0
- package/dist/reactnative/crypto/PBKDF2Adapter.js +67 -0
- package/dist/reactnative/crypto/PBKDF2Adapter.js.map +1 -0
- package/dist/reactnative/crypto/QuickCryptoAdapter.d.ts +37 -0
- package/dist/reactnative/crypto/QuickCryptoAdapter.d.ts.map +1 -0
- package/dist/reactnative/crypto/QuickCryptoAdapter.js +72 -0
- package/dist/reactnative/crypto/QuickCryptoAdapter.js.map +1 -0
- package/dist/reactnative/crypto/RSAAdapter.d.ts +38 -0
- package/dist/reactnative/crypto/RSAAdapter.d.ts.map +1 -0
- package/dist/reactnative/crypto/RSAAdapter.js +184 -0
- package/dist/reactnative/crypto/RSAAdapter.js.map +1 -0
- package/dist/reactnative/crypto/ReactNativeCryptoAdapter.d.ts +33 -0
- package/dist/reactnative/crypto/ReactNativeCryptoAdapter.d.ts.map +1 -0
- package/dist/reactnative/crypto/ReactNativeCryptoAdapter.js +61 -0
- package/dist/reactnative/crypto/ReactNativeCryptoAdapter.js.map +1 -0
- package/dist/reactnative/crypto/SHA256Adapter.d.ts +9 -0
- package/dist/reactnative/crypto/SHA256Adapter.d.ts.map +1 -0
- package/dist/reactnative/crypto/SHA256Adapter.js +29 -0
- package/dist/reactnative/crypto/SHA256Adapter.js.map +1 -0
- package/dist/reactnative/crypto/SubtleCryptoPolyfill.d.ts +63 -0
- package/dist/reactnative/crypto/SubtleCryptoPolyfill.d.ts.map +1 -0
- package/dist/reactnative/crypto/SubtleCryptoPolyfill.js +350 -0
- package/dist/reactnative/crypto/SubtleCryptoPolyfill.js.map +1 -0
- package/dist/reactnative/index.d.ts +8 -0
- package/dist/reactnative/index.d.ts.map +1 -0
- package/dist/reactnative/index.js +38 -0
- package/dist/reactnative/index.js.map +1 -0
- package/package.json +51 -6
- package/patches/PATCHES.md +111 -0
- package/patches/react-native+0.76.9.patch +34 -0
- package/patches/react-native-quick-crypto+1.0.7.patch +42 -0
- package/scripts/cli.js +21 -0
- package/scripts/setup-react-native.js +228 -0
- package/templates/reactnative/App.js +252 -0
- package/templates/reactnative/app.json +29 -0
- package/templates/reactnative/babel.config.js +6 -0
- package/templates/reactnative/index.js +26 -0
- package/templates/reactnative/metro.config.snippet.js +39 -0
- package/templates/reactnative/mindoodb-polyfills.js +116 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SubtleCrypto Polyfill
|
|
3
|
+
* Implements the Web Crypto API SubtleCrypto interface using JavaScript-only libraries
|
|
4
|
+
* Only implements methods actually used by MindooDB
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* SubtleCrypto polyfill implementation
|
|
8
|
+
* Note: We use 'as any' for type compatibility since we only implement a subset of methods
|
|
9
|
+
*/
|
|
10
|
+
export declare class SubtleCryptoPolyfill {
|
|
11
|
+
/**
|
|
12
|
+
* Generate a cryptographic key
|
|
13
|
+
*/
|
|
14
|
+
generateKey(algorithm: RsaHashedKeyGenParams | EcKeyGenParams | AesKeyGenParams | {
|
|
15
|
+
name: "Ed25519";
|
|
16
|
+
} | "Ed25519", extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKeyPair | CryptoKey>;
|
|
17
|
+
/**
|
|
18
|
+
* Import a key
|
|
19
|
+
*/
|
|
20
|
+
importKey(format: KeyFormat, keyData: BufferSource | JsonWebKey, algorithm: RsaHashedImportParams | EcKeyImportParams | AesKeyAlgorithm | HmacImportParams | {
|
|
21
|
+
name: "Ed25519";
|
|
22
|
+
}, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>;
|
|
23
|
+
/**
|
|
24
|
+
* Export a key
|
|
25
|
+
*/
|
|
26
|
+
exportKey(format: KeyFormat, key: CryptoKey): Promise<ArrayBuffer | JsonWebKey>;
|
|
27
|
+
/**
|
|
28
|
+
* Sign data
|
|
29
|
+
*/
|
|
30
|
+
sign(algorithm: AlgorithmIdentifier | RsaPssParams | EcdsaParams | {
|
|
31
|
+
name: "Ed25519";
|
|
32
|
+
} | {
|
|
33
|
+
name: "HMAC";
|
|
34
|
+
}, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>;
|
|
35
|
+
/**
|
|
36
|
+
* Verify a signature
|
|
37
|
+
*/
|
|
38
|
+
verify(algorithm: AlgorithmIdentifier | RsaPssParams | EcdsaParams | {
|
|
39
|
+
name: "Ed25519";
|
|
40
|
+
} | {
|
|
41
|
+
name: "HMAC";
|
|
42
|
+
}, key: CryptoKey, signature: BufferSource, data: BufferSource): Promise<boolean>;
|
|
43
|
+
/**
|
|
44
|
+
* Encrypt data
|
|
45
|
+
*/
|
|
46
|
+
encrypt(algorithm: RsaOaepParams | AesGcmParams, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>;
|
|
47
|
+
/**
|
|
48
|
+
* Decrypt data
|
|
49
|
+
*/
|
|
50
|
+
decrypt(algorithm: RsaOaepParams | AesGcmParams, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>;
|
|
51
|
+
/**
|
|
52
|
+
* Derive a key using PBKDF2
|
|
53
|
+
*/
|
|
54
|
+
deriveKey(algorithm: Pbkdf2Params, baseKey: CryptoKey, derivedKeyType: AesDerivedKeyParams, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>;
|
|
55
|
+
/**
|
|
56
|
+
* Compute digest
|
|
57
|
+
*/
|
|
58
|
+
digest(algorithm: AlgorithmIdentifier, data: BufferSource): Promise<ArrayBuffer>;
|
|
59
|
+
deriveBits(algorithm: AlgorithmIdentifier, baseKey: CryptoKey, length: number): Promise<ArrayBuffer>;
|
|
60
|
+
wrapKey(format: KeyFormat, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: AlgorithmIdentifier): Promise<ArrayBuffer>;
|
|
61
|
+
unwrapKey(format: KeyFormat, wrappedKey: BufferSource, unwrappingKey: CryptoKey, unwrapAlgorithm: AlgorithmIdentifier, unwrappedKeyAlgorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=SubtleCryptoPolyfill.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SubtleCryptoPolyfill.d.ts","sourceRoot":"","sources":["../../../src/reactnative/crypto/SubtleCryptoPolyfill.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAmBH;;;GAGG;AACH,qBAAa,oBAAoB;IAC/B;;OAEG;IACG,WAAW,CACf,SAAS,EAAE,qBAAqB,GAAG,cAAc,GAAG,eAAe,GAAG;QAAE,IAAI,EAAE,SAAS,CAAA;KAAE,GAAG,SAAS,EACrG,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IA2CrC;;OAEG;IACG,SAAS,CACb,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,YAAY,GAAG,UAAU,EAClC,SAAS,EACL,qBAAqB,GACrB,iBAAiB,GACjB,eAAe,GACf,gBAAgB,GAChB;QAAE,IAAI,EAAE,SAAS,CAAA;KAAE,EACvB,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,SAAS,CAAC;IA6FrB;;OAEG;IACG,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,GAAG,UAAU,CAAC;IAwBrF;;OAEG;IACG,IAAI,CACR,SAAS,EAAE,mBAAmB,GAAG,YAAY,GAAG,WAAW,GAAG;QAAE,IAAI,EAAE,SAAS,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EACpG,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,YAAY,GACnB,OAAO,CAAC,WAAW,CAAC;IAiBrB;;OAEG;IACG,MAAM,CACV,SAAS,EAAE,mBAAmB,GAAG,YAAY,GAAG,WAAW,GAAG;QAAE,IAAI,EAAE,SAAS,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EACpG,GAAG,EAAE,SAAS,EACd,SAAS,EAAE,YAAY,EACvB,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,OAAO,CAAC;IAkBnB;;OAEG;IACG,OAAO,CACX,SAAS,EAAE,aAAa,GAAG,YAAY,EACvC,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,WAAW,CAAC;IAqBvB;;OAEG;IACG,OAAO,CACX,SAAS,EAAE,aAAa,GAAG,YAAY,EACvC,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,WAAW,CAAC;IAqBvB;;OAEG;IACG,SAAS,CACb,SAAS,EAAE,YAAY,EACvB,OAAO,EAAE,SAAS,EAClB,cAAc,EAAE,mBAAmB,EACnC,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,SAAS,CAAC;IAyBrB;;OAEG;IACG,MAAM,CAAC,SAAS,EAAE,mBAAmB,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IAYhF,UAAU,CACd,SAAS,EAAE,mBAAmB,EAC9B,OAAO,EAAE,SAAS,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC;IAIjB,OAAO,CACX,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,SAAS,EACd,WAAW,EAAE,SAAS,EACtB,aAAa,EAAE,mBAAmB,GACjC,OAAO,CAAC,WAAW,CAAC;IAIjB,SAAS,CACb,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,YAAY,EACxB,aAAa,EAAE,SAAS,EACxB,eAAe,EAAE,mBAAmB,EACpC,qBAAqB,EAAE,mBAAmB,EAC1C,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,SAAS,CAAC;CAGtB"}
|
|
@@ -0,0 +1,350 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* SubtleCrypto Polyfill
|
|
4
|
+
* Implements the Web Crypto API SubtleCrypto interface using JavaScript-only libraries
|
|
5
|
+
* Only implements methods actually used by MindooDB
|
|
6
|
+
*/
|
|
7
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
+
if (k2 === undefined) k2 = k;
|
|
9
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
+
}
|
|
13
|
+
Object.defineProperty(o, k2, desc);
|
|
14
|
+
}) : (function(o, m, k, k2) {
|
|
15
|
+
if (k2 === undefined) k2 = k;
|
|
16
|
+
o[k2] = m[k];
|
|
17
|
+
}));
|
|
18
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
19
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
20
|
+
}) : function(o, v) {
|
|
21
|
+
o["default"] = v;
|
|
22
|
+
});
|
|
23
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
24
|
+
var ownKeys = function(o) {
|
|
25
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
26
|
+
var ar = [];
|
|
27
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
28
|
+
return ar;
|
|
29
|
+
};
|
|
30
|
+
return ownKeys(o);
|
|
31
|
+
};
|
|
32
|
+
return function (mod) {
|
|
33
|
+
if (mod && mod.__esModule) return mod;
|
|
34
|
+
var result = {};
|
|
35
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
36
|
+
__setModuleDefault(result, mod);
|
|
37
|
+
return result;
|
|
38
|
+
};
|
|
39
|
+
})();
|
|
40
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
|
+
exports.SubtleCryptoPolyfill = void 0;
|
|
42
|
+
const ed25519 = __importStar(require("./Ed25519Adapter"));
|
|
43
|
+
const rsa = __importStar(require("./RSAAdapter"));
|
|
44
|
+
const aes = __importStar(require("./AESAdapter"));
|
|
45
|
+
const pbkdf2 = __importStar(require("./PBKDF2Adapter"));
|
|
46
|
+
const hmac = __importStar(require("./HMACAdapter"));
|
|
47
|
+
const sha256 = __importStar(require("./SHA256Adapter"));
|
|
48
|
+
/**
|
|
49
|
+
* NotSupportedError for unimplemented methods
|
|
50
|
+
*/
|
|
51
|
+
class NotSupportedError extends Error {
|
|
52
|
+
constructor(message) {
|
|
53
|
+
super(message);
|
|
54
|
+
this.name = "NotSupportedError";
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* SubtleCrypto polyfill implementation
|
|
59
|
+
* Note: We use 'as any' for type compatibility since we only implement a subset of methods
|
|
60
|
+
*/
|
|
61
|
+
class SubtleCryptoPolyfill {
|
|
62
|
+
/**
|
|
63
|
+
* Generate a cryptographic key
|
|
64
|
+
*/
|
|
65
|
+
async generateKey(algorithm, extractable, keyUsages) {
|
|
66
|
+
const alg = typeof algorithm === "string" ? { name: algorithm } : algorithm;
|
|
67
|
+
if (alg.name === "Ed25519") {
|
|
68
|
+
return ed25519.ed25519GenerateKey();
|
|
69
|
+
}
|
|
70
|
+
else if (alg.name === "RSA-OAEP") {
|
|
71
|
+
const params = alg;
|
|
72
|
+
return rsa.rsaGenerateKey({
|
|
73
|
+
name: "RSA-OAEP",
|
|
74
|
+
modulusLength: params.modulusLength,
|
|
75
|
+
publicExponent: new Uint8Array(params.publicExponent),
|
|
76
|
+
hash: params.hash,
|
|
77
|
+
}, extractable, keyUsages);
|
|
78
|
+
}
|
|
79
|
+
else if (alg.name === "AES-GCM") {
|
|
80
|
+
const params = alg;
|
|
81
|
+
// Generate random key material
|
|
82
|
+
const keyLength = params.length / 8; // Convert bits to bytes
|
|
83
|
+
const keyMaterial = new Uint8Array(keyLength);
|
|
84
|
+
// Use crypto.getRandomValues if available, otherwise throw
|
|
85
|
+
if (typeof crypto !== "undefined" && crypto.getRandomValues) {
|
|
86
|
+
crypto.getRandomValues(keyMaterial);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
throw new Error("getRandomValues not available");
|
|
90
|
+
}
|
|
91
|
+
return {
|
|
92
|
+
type: "secret",
|
|
93
|
+
extractable,
|
|
94
|
+
algorithm: {
|
|
95
|
+
name: "AES-GCM",
|
|
96
|
+
length: params.length,
|
|
97
|
+
},
|
|
98
|
+
usages: keyUsages,
|
|
99
|
+
_rawKey: keyMaterial.buffer,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
throw new NotSupportedError(`Algorithm ${alg.name} is not supported`);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Import a key
|
|
108
|
+
*/
|
|
109
|
+
async importKey(format, keyData, algorithm, extractable, keyUsages) {
|
|
110
|
+
if (format === "jwk") {
|
|
111
|
+
throw new NotSupportedError("JWK format is not supported");
|
|
112
|
+
}
|
|
113
|
+
let keyBuffer;
|
|
114
|
+
if (keyData instanceof ArrayBuffer) {
|
|
115
|
+
keyBuffer = keyData;
|
|
116
|
+
}
|
|
117
|
+
else if (typeof SharedArrayBuffer !== 'undefined' && keyData instanceof SharedArrayBuffer) {
|
|
118
|
+
// Convert SharedArrayBuffer to ArrayBuffer by copying
|
|
119
|
+
// Note: SharedArrayBuffer may not exist in React Native/Expo Go environments
|
|
120
|
+
const view = new Uint8Array(keyData);
|
|
121
|
+
const copy = new Uint8Array(view.length);
|
|
122
|
+
copy.set(view);
|
|
123
|
+
keyBuffer = copy.buffer;
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
// ArrayBufferView - copy to ensure we have an ArrayBuffer
|
|
127
|
+
const view = keyData;
|
|
128
|
+
const bytes = new Uint8Array(view.buffer, view.byteOffset, view.byteLength);
|
|
129
|
+
const copy = new Uint8Array(bytes.length);
|
|
130
|
+
copy.set(bytes);
|
|
131
|
+
keyBuffer = copy.buffer;
|
|
132
|
+
}
|
|
133
|
+
const alg = typeof algorithm === "string" ? { name: algorithm } : algorithm;
|
|
134
|
+
if (alg.name === "Ed25519") {
|
|
135
|
+
return ed25519.ed25519ImportKey(format, keyBuffer, alg, extractable, keyUsages);
|
|
136
|
+
}
|
|
137
|
+
else if (alg.name === "RSA-OAEP") {
|
|
138
|
+
const params = alg;
|
|
139
|
+
return rsa.rsaImportKey(format, keyBuffer, {
|
|
140
|
+
name: "RSA-OAEP",
|
|
141
|
+
hash: params.hash,
|
|
142
|
+
}, extractable, keyUsages);
|
|
143
|
+
}
|
|
144
|
+
else if (alg.name === "AES-GCM") {
|
|
145
|
+
if (format !== "raw") {
|
|
146
|
+
throw new Error("AES-GCM keys can only be imported in 'raw' format");
|
|
147
|
+
}
|
|
148
|
+
const params = alg;
|
|
149
|
+
const keyBytes = new Uint8Array(keyBuffer);
|
|
150
|
+
return {
|
|
151
|
+
type: "secret",
|
|
152
|
+
extractable,
|
|
153
|
+
algorithm: {
|
|
154
|
+
name: "AES-GCM",
|
|
155
|
+
length: params.length || keyBytes.length * 8,
|
|
156
|
+
},
|
|
157
|
+
usages: keyUsages,
|
|
158
|
+
_rawKey: keyBuffer,
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
else if (alg.name === "HMAC") {
|
|
162
|
+
if (format !== "raw") {
|
|
163
|
+
throw new Error("HMAC keys can only be imported in 'raw' format");
|
|
164
|
+
}
|
|
165
|
+
const params = alg;
|
|
166
|
+
return {
|
|
167
|
+
type: "secret",
|
|
168
|
+
extractable,
|
|
169
|
+
algorithm: {
|
|
170
|
+
name: "HMAC",
|
|
171
|
+
hash: params.hash,
|
|
172
|
+
length: new Uint8Array(keyBuffer).length * 8,
|
|
173
|
+
},
|
|
174
|
+
usages: keyUsages,
|
|
175
|
+
_rawKey: keyBuffer,
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
else if (alg.name === "PBKDF2") {
|
|
179
|
+
// PBKDF2 key import - treat the keyData as raw password material
|
|
180
|
+
// This is used for PBKDF2 key derivation
|
|
181
|
+
return {
|
|
182
|
+
type: "secret",
|
|
183
|
+
extractable,
|
|
184
|
+
algorithm: alg,
|
|
185
|
+
usages: keyUsages,
|
|
186
|
+
_rawKey: keyBuffer,
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
190
|
+
throw new NotSupportedError(`Algorithm ${alg.name} is not supported`);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Export a key
|
|
195
|
+
*/
|
|
196
|
+
async exportKey(format, key) {
|
|
197
|
+
if (format === "jwk") {
|
|
198
|
+
throw new NotSupportedError("JWK format is not supported");
|
|
199
|
+
}
|
|
200
|
+
if (format === "raw") {
|
|
201
|
+
// For raw keys (AES, HMAC), export the raw key material
|
|
202
|
+
const rawKey = key._rawKey;
|
|
203
|
+
if (!rawKey) {
|
|
204
|
+
throw new Error("Key does not contain raw key material");
|
|
205
|
+
}
|
|
206
|
+
return rawKey instanceof ArrayBuffer ? rawKey : rawKey.buffer;
|
|
207
|
+
}
|
|
208
|
+
else if (format === "spki" || format === "pkcs8") {
|
|
209
|
+
if (key.algorithm.name === "Ed25519") {
|
|
210
|
+
return ed25519.ed25519ExportKey(format, key);
|
|
211
|
+
}
|
|
212
|
+
else if (key.algorithm.name === "RSA-OAEP") {
|
|
213
|
+
return rsa.rsaExportKey(format, key);
|
|
214
|
+
}
|
|
215
|
+
else {
|
|
216
|
+
throw new Error(`Cannot export ${key.algorithm.name} key in ${format} format`);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
else {
|
|
220
|
+
throw new NotSupportedError(`Export format ${format} is not supported`);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Sign data
|
|
225
|
+
*/
|
|
226
|
+
async sign(algorithm, key, data) {
|
|
227
|
+
const dataBuffer = data instanceof ArrayBuffer ? data : data.buffer;
|
|
228
|
+
const alg = typeof algorithm === "string" ? { name: algorithm } : algorithm;
|
|
229
|
+
if (alg.name === "Ed25519") {
|
|
230
|
+
return ed25519.ed25519Sign(alg, key, dataBuffer);
|
|
231
|
+
}
|
|
232
|
+
else if (algorithm === "HMAC" || alg.name === "HMAC") {
|
|
233
|
+
const rawKey = key._rawKey;
|
|
234
|
+
if (!rawKey) {
|
|
235
|
+
throw new Error("Key does not contain raw key material");
|
|
236
|
+
}
|
|
237
|
+
return hmac.hmacSign(rawKey, dataBuffer);
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
throw new NotSupportedError(`Signing algorithm ${alg.name || algorithm} is not supported`);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Verify a signature
|
|
245
|
+
*/
|
|
246
|
+
async verify(algorithm, key, signature, data) {
|
|
247
|
+
const sigBuffer = signature instanceof ArrayBuffer ? signature : signature.buffer;
|
|
248
|
+
const dataBuffer = data instanceof ArrayBuffer ? data : data.buffer;
|
|
249
|
+
const alg = typeof algorithm === "string" ? { name: algorithm } : algorithm;
|
|
250
|
+
if (alg.name === "Ed25519") {
|
|
251
|
+
return ed25519.ed25519Verify(alg, key, sigBuffer, dataBuffer);
|
|
252
|
+
}
|
|
253
|
+
else if (algorithm === "HMAC" || alg.name === "HMAC") {
|
|
254
|
+
const rawKey = key._rawKey;
|
|
255
|
+
if (!rawKey) {
|
|
256
|
+
throw new Error("Key does not contain raw key material");
|
|
257
|
+
}
|
|
258
|
+
return hmac.hmacVerify(rawKey, sigBuffer, dataBuffer);
|
|
259
|
+
}
|
|
260
|
+
else {
|
|
261
|
+
throw new NotSupportedError(`Verification algorithm ${alg.name || algorithm} is not supported`);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Encrypt data
|
|
266
|
+
*/
|
|
267
|
+
async encrypt(algorithm, key, data) {
|
|
268
|
+
const dataBuffer = data instanceof ArrayBuffer ? data : data.buffer;
|
|
269
|
+
if (algorithm.name === "RSA-OAEP") {
|
|
270
|
+
return rsa.rsaEncrypt(algorithm, key, dataBuffer);
|
|
271
|
+
}
|
|
272
|
+
else if (algorithm.name === "AES-GCM") {
|
|
273
|
+
const params = algorithm;
|
|
274
|
+
return aes.aesGcmEncrypt({
|
|
275
|
+
name: "AES-GCM",
|
|
276
|
+
iv: params.iv,
|
|
277
|
+
tagLength: params.tagLength,
|
|
278
|
+
}, key, dataBuffer);
|
|
279
|
+
}
|
|
280
|
+
else {
|
|
281
|
+
throw new NotSupportedError(`Encryption algorithm ${algorithm.name} is not supported`);
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Decrypt data
|
|
286
|
+
*/
|
|
287
|
+
async decrypt(algorithm, key, data) {
|
|
288
|
+
const dataBuffer = data instanceof ArrayBuffer ? data : data.buffer;
|
|
289
|
+
if (algorithm.name === "RSA-OAEP") {
|
|
290
|
+
return rsa.rsaDecrypt(algorithm, key, dataBuffer);
|
|
291
|
+
}
|
|
292
|
+
else if (algorithm.name === "AES-GCM") {
|
|
293
|
+
const params = algorithm;
|
|
294
|
+
return aes.aesGcmDecrypt({
|
|
295
|
+
name: "AES-GCM",
|
|
296
|
+
iv: params.iv,
|
|
297
|
+
tagLength: params.tagLength,
|
|
298
|
+
}, key, dataBuffer);
|
|
299
|
+
}
|
|
300
|
+
else {
|
|
301
|
+
throw new NotSupportedError(`Decryption algorithm ${algorithm.name} is not supported`);
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* Derive a key using PBKDF2
|
|
306
|
+
*/
|
|
307
|
+
async deriveKey(algorithm, baseKey, derivedKeyType, extractable, keyUsages) {
|
|
308
|
+
if (algorithm.name !== "PBKDF2") {
|
|
309
|
+
throw new NotSupportedError(`Key derivation algorithm ${algorithm.name} is not supported`);
|
|
310
|
+
}
|
|
311
|
+
const rawKey = baseKey._rawKey;
|
|
312
|
+
if (!rawKey) {
|
|
313
|
+
throw new Error("Base key does not contain raw key material");
|
|
314
|
+
}
|
|
315
|
+
return pbkdf2.pbkdf2DeriveKey({
|
|
316
|
+
name: "PBKDF2",
|
|
317
|
+
salt: algorithm.salt,
|
|
318
|
+
iterations: algorithm.iterations,
|
|
319
|
+
hash: algorithm.hash,
|
|
320
|
+
}, rawKey, {
|
|
321
|
+
name: "AES-GCM",
|
|
322
|
+
length: derivedKeyType.length,
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Compute digest
|
|
327
|
+
*/
|
|
328
|
+
async digest(algorithm, data) {
|
|
329
|
+
const dataBuffer = data instanceof ArrayBuffer ? data : data.buffer;
|
|
330
|
+
const alg = typeof algorithm === "string" ? algorithm : algorithm.name;
|
|
331
|
+
if (alg === "SHA-256") {
|
|
332
|
+
return sha256.sha256Digest(dataBuffer);
|
|
333
|
+
}
|
|
334
|
+
else {
|
|
335
|
+
throw new NotSupportedError(`Digest algorithm ${alg} is not supported`);
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
// Unimplemented methods - throw NotSupportedError
|
|
339
|
+
async deriveBits(algorithm, baseKey, length) {
|
|
340
|
+
throw new NotSupportedError("deriveBits is not implemented");
|
|
341
|
+
}
|
|
342
|
+
async wrapKey(format, key, wrappingKey, wrapAlgorithm) {
|
|
343
|
+
throw new NotSupportedError("wrapKey is not implemented");
|
|
344
|
+
}
|
|
345
|
+
async unwrapKey(format, wrappedKey, unwrappingKey, unwrapAlgorithm, unwrappedKeyAlgorithm, extractable, keyUsages) {
|
|
346
|
+
throw new NotSupportedError("unwrapKey is not implemented");
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
exports.SubtleCryptoPolyfill = SubtleCryptoPolyfill;
|
|
350
|
+
//# sourceMappingURL=SubtleCryptoPolyfill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SubtleCryptoPolyfill.js","sourceRoot":"","sources":["../../../src/reactnative/crypto/SubtleCryptoPolyfill.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from "../core/index";
|
|
2
|
+
export { BaseMindooDB } from "../core/BaseMindooDB";
|
|
3
|
+
export { BaseMindooTenant } from "../core/BaseMindooTenant";
|
|
4
|
+
export { BaseMindooTenantFactory } from "../core/BaseMindooTenantFactory";
|
|
5
|
+
export { ReactNativeCryptoAdapter, createCryptoAdapter } from "./crypto/ReactNativeCryptoAdapter";
|
|
6
|
+
export { ExpoGoCryptoAdapter } from "./crypto/ExpoGoCryptoAdapter";
|
|
7
|
+
export { QuickCryptoAdapter, isQuickCryptoAvailable } from "./crypto/QuickCryptoAdapter";
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/reactnative/index.ts"],"names":[],"mappings":"AAIA,cAAc,eAAe,CAAC;AAG9B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAG1E,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAClG,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// React Native-specific exports
|
|
3
|
+
// Re-exports everything from core plus React Native-specific implementations
|
|
4
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
5
|
+
if (k2 === undefined) k2 = k;
|
|
6
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
7
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
8
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
9
|
+
}
|
|
10
|
+
Object.defineProperty(o, k2, desc);
|
|
11
|
+
}) : (function(o, m, k, k2) {
|
|
12
|
+
if (k2 === undefined) k2 = k;
|
|
13
|
+
o[k2] = m[k];
|
|
14
|
+
}));
|
|
15
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
16
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
17
|
+
};
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.isQuickCryptoAvailable = exports.QuickCryptoAdapter = exports.ExpoGoCryptoAdapter = exports.createCryptoAdapter = exports.ReactNativeCryptoAdapter = exports.BaseMindooTenantFactory = exports.BaseMindooTenant = exports.BaseMindooDB = void 0;
|
|
20
|
+
// Re-export all core exports
|
|
21
|
+
__exportStar(require("../core/index"), exports);
|
|
22
|
+
// Re-export Base* classes that aren't in core/index
|
|
23
|
+
var BaseMindooDB_1 = require("../core/BaseMindooDB");
|
|
24
|
+
Object.defineProperty(exports, "BaseMindooDB", { enumerable: true, get: function () { return BaseMindooDB_1.BaseMindooDB; } });
|
|
25
|
+
var BaseMindooTenant_1 = require("../core/BaseMindooTenant");
|
|
26
|
+
Object.defineProperty(exports, "BaseMindooTenant", { enumerable: true, get: function () { return BaseMindooTenant_1.BaseMindooTenant; } });
|
|
27
|
+
var BaseMindooTenantFactory_1 = require("../core/BaseMindooTenantFactory");
|
|
28
|
+
Object.defineProperty(exports, "BaseMindooTenantFactory", { enumerable: true, get: function () { return BaseMindooTenantFactory_1.BaseMindooTenantFactory; } });
|
|
29
|
+
// React Native-specific crypto adapters
|
|
30
|
+
var ReactNativeCryptoAdapter_1 = require("./crypto/ReactNativeCryptoAdapter");
|
|
31
|
+
Object.defineProperty(exports, "ReactNativeCryptoAdapter", { enumerable: true, get: function () { return ReactNativeCryptoAdapter_1.ReactNativeCryptoAdapter; } });
|
|
32
|
+
Object.defineProperty(exports, "createCryptoAdapter", { enumerable: true, get: function () { return ReactNativeCryptoAdapter_1.createCryptoAdapter; } });
|
|
33
|
+
var ExpoGoCryptoAdapter_1 = require("./crypto/ExpoGoCryptoAdapter");
|
|
34
|
+
Object.defineProperty(exports, "ExpoGoCryptoAdapter", { enumerable: true, get: function () { return ExpoGoCryptoAdapter_1.ExpoGoCryptoAdapter; } });
|
|
35
|
+
var QuickCryptoAdapter_1 = require("./crypto/QuickCryptoAdapter");
|
|
36
|
+
Object.defineProperty(exports, "QuickCryptoAdapter", { enumerable: true, get: function () { return QuickCryptoAdapter_1.QuickCryptoAdapter; } });
|
|
37
|
+
Object.defineProperty(exports, "isQuickCryptoAvailable", { enumerable: true, get: function () { return QuickCryptoAdapter_1.isQuickCryptoAvailable; } });
|
|
38
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/reactnative/index.ts"],"names":[],"mappings":";AAAA,gCAAgC;AAChC,6EAA6E;;;;;;;;;;;;;;;;;AAE7E,6BAA6B;AAC7B,gDAA8B;AAE9B,oDAAoD;AACpD,qDAAoD;AAA3C,4GAAA,YAAY,OAAA;AACrB,6DAA4D;AAAnD,oHAAA,gBAAgB,OAAA;AACzB,2EAA0E;AAAjE,kIAAA,uBAAuB,OAAA;AAEhC,wCAAwC;AACxC,8EAAkG;AAAzF,oIAAA,wBAAwB,OAAA;AAAE,+HAAA,mBAAmB,OAAA;AACtD,oEAAmE;AAA1D,0HAAA,mBAAmB,OAAA;AAC5B,kEAAyF;AAAhF,wHAAA,kBAAkB,OAAA;AAAE,4HAAA,sBAAsB,OAAA"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mindoodb",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.3",
|
|
4
4
|
"description": "End-to-End Encrypted, Offline-first Sync Database",
|
|
5
5
|
"main": "./dist/node/index.js",
|
|
6
6
|
"browser": "./dist/browser/index.js",
|
|
7
|
+
"react-native": "./dist/reactnative/index.js",
|
|
7
8
|
"types": "./dist/core/index.d.ts",
|
|
8
9
|
"repository": {
|
|
9
10
|
"type": "git",
|
|
@@ -15,26 +16,42 @@
|
|
|
15
16
|
"offline-first",
|
|
16
17
|
"sync",
|
|
17
18
|
"crdt",
|
|
18
|
-
"automerge"
|
|
19
|
+
"automerge",
|
|
20
|
+
"react-native",
|
|
21
|
+
"expo"
|
|
19
22
|
],
|
|
20
23
|
"exports": {
|
|
21
24
|
".": {
|
|
25
|
+
"react-native": "./dist/reactnative/index.js",
|
|
22
26
|
"browser": "./dist/browser/index.js",
|
|
23
27
|
"node": "./dist/node/index.js",
|
|
24
28
|
"default": "./dist/node/index.js"
|
|
25
29
|
},
|
|
26
30
|
"./core": "./dist/core/index.js",
|
|
27
31
|
"./browser": "./dist/browser/index.js",
|
|
28
|
-
"./node": "./dist/node/index.js"
|
|
32
|
+
"./node": "./dist/node/index.js",
|
|
33
|
+
"./reactnative": "./dist/reactnative/index.js"
|
|
29
34
|
},
|
|
30
35
|
"files": [
|
|
31
36
|
"dist",
|
|
32
|
-
"README.md"
|
|
37
|
+
"README.md",
|
|
38
|
+
"patches",
|
|
39
|
+
"scripts",
|
|
40
|
+
"templates"
|
|
33
41
|
],
|
|
42
|
+
"bin": {
|
|
43
|
+
"mindoodb": "./scripts/cli.js"
|
|
44
|
+
},
|
|
34
45
|
"scripts": {
|
|
35
46
|
"build": "tsc",
|
|
36
47
|
"test": "jest",
|
|
37
|
-
"test:watch": "jest --watch"
|
|
48
|
+
"test:watch": "jest --watch",
|
|
49
|
+
"test:stress": "MINDOODB_STRESS_TESTS=1 jest --runInBand BasicOnDiskContentAddressedStore.stress",
|
|
50
|
+
"test:soak": "MINDOODB_STRESS_TESTS=1 MINDOODB_SOAK_TESTS=1 jest --runInBand BasicOnDiskContentAddressedStore.stress",
|
|
51
|
+
"test:browser:install": "playwright install chromium",
|
|
52
|
+
"test:browser": "npm run build && playwright test",
|
|
53
|
+
"test:browser:watch": "npm run build && playwright test --ui",
|
|
54
|
+
"test:all": "npm test && npm run test:browser"
|
|
38
55
|
},
|
|
39
56
|
"author": "Mindoo GmbH",
|
|
40
57
|
"license": "ISC",
|
|
@@ -44,15 +61,43 @@
|
|
|
44
61
|
"uuid": "^10.0.0"
|
|
45
62
|
},
|
|
46
63
|
"devDependencies": {
|
|
64
|
+
"@playwright/test": "^1.58.2",
|
|
47
65
|
"@types/express": "^4.17.21",
|
|
48
66
|
"@types/jest": "^29.5.12",
|
|
49
67
|
"@types/node": "^20.11.0",
|
|
68
|
+
"@types/node-forge": "^1.3.14",
|
|
50
69
|
"@types/uuid": "^10.0.0",
|
|
70
|
+
"esbuild": "^0.27.3",
|
|
51
71
|
"express": "^4.18.2",
|
|
52
72
|
"jest": "^29.7.0",
|
|
73
|
+
"node-forge": "^1.3.1",
|
|
53
74
|
"ts-jest": "^29.1.2",
|
|
54
75
|
"ts-node-dev": "^2.0.0",
|
|
76
|
+
"tweetnacl": "^1.0.3",
|
|
55
77
|
"typescript": "^5.6.0"
|
|
56
78
|
},
|
|
57
|
-
"
|
|
79
|
+
"peerDependencies": {
|
|
80
|
+
"expo-standard-web-crypto": "^3.0.0",
|
|
81
|
+
"node-forge": "^1.3.1",
|
|
82
|
+
"react-native-automerge-generated": "^0.1.0",
|
|
83
|
+
"react-native-quick-crypto": "^1.0.0",
|
|
84
|
+
"tweetnacl": "^1.0.3"
|
|
85
|
+
},
|
|
86
|
+
"peerDependenciesMeta": {
|
|
87
|
+
"react-native-automerge-generated": {
|
|
88
|
+
"optional": true
|
|
89
|
+
},
|
|
90
|
+
"react-native-quick-crypto": {
|
|
91
|
+
"optional": true
|
|
92
|
+
},
|
|
93
|
+
"expo-standard-web-crypto": {
|
|
94
|
+
"optional": true
|
|
95
|
+
},
|
|
96
|
+
"node-forge": {
|
|
97
|
+
"optional": true
|
|
98
|
+
},
|
|
99
|
+
"tweetnacl": {
|
|
100
|
+
"optional": true
|
|
101
|
+
}
|
|
102
|
+
}
|
|
58
103
|
}
|