@enbox/api 0.3.2 → 0.4.0
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 +63 -0
- package/dist/browser.mjs +11 -28
- package/dist/browser.mjs.map +4 -4
- package/dist/esm/advanced.js +1 -1
- package/dist/esm/define-protocol.js +3 -3
- package/dist/esm/did-api.js +1 -1
- package/dist/esm/did-api.js.map +1 -1
- package/dist/esm/dwn-api.js +6 -6
- package/dist/esm/dwn-api.js.map +1 -1
- package/dist/esm/dwn-reader-api.js +2 -2
- package/dist/esm/enbox.js +205 -0
- package/dist/esm/enbox.js.map +1 -0
- package/dist/esm/index.js +16 -15
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/protocol.js +2 -2
- package/dist/esm/protocol.js.map +1 -1
- package/dist/esm/record-data.js +79 -5
- package/dist/esm/record-data.js.map +1 -1
- package/dist/esm/record.js +49 -10
- package/dist/esm/record.js.map +1 -1
- package/dist/esm/repository.js +7 -7
- package/dist/esm/repository.js.map +1 -1
- package/dist/esm/typed-enbox.js +583 -0
- package/dist/esm/typed-enbox.js.map +1 -0
- package/dist/esm/typed-live-query.js +1 -1
- package/dist/esm/typed-record.js +370 -46
- package/dist/esm/typed-record.js.map +1 -1
- package/dist/esm/utils.js +25 -0
- package/dist/esm/utils.js.map +1 -1
- package/dist/esm/vc-api.js.map +1 -1
- package/dist/types/advanced.d.ts +1 -1
- package/dist/types/define-protocol.d.ts +3 -3
- package/dist/types/did-api.d.ts +4 -4
- package/dist/types/did-api.d.ts.map +1 -1
- package/dist/types/dwn-api.d.ts +12 -7
- package/dist/types/dwn-api.d.ts.map +1 -1
- package/dist/types/dwn-reader-api.d.ts +2 -2
- package/dist/types/enbox.d.ts +202 -0
- package/dist/types/enbox.d.ts.map +1 -0
- package/dist/types/grant-revocation.d.ts +2 -2
- package/dist/types/grant-revocation.d.ts.map +1 -1
- package/dist/types/index.d.ts +16 -15
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/live-query.d.ts +2 -2
- package/dist/types/live-query.d.ts.map +1 -1
- package/dist/types/permission-grant.d.ts +2 -2
- package/dist/types/permission-grant.d.ts.map +1 -1
- package/dist/types/permission-request.d.ts +2 -2
- package/dist/types/permission-request.d.ts.map +1 -1
- package/dist/types/protocol-types.d.ts +2 -2
- package/dist/types/protocol.d.ts +7 -7
- package/dist/types/protocol.d.ts.map +1 -1
- package/dist/types/record-data.d.ts +17 -0
- package/dist/types/record-data.d.ts.map +1 -1
- package/dist/types/record.d.ts +24 -10
- package/dist/types/record.d.ts.map +1 -1
- package/dist/types/repository-types.d.ts +19 -11
- package/dist/types/repository-types.d.ts.map +1 -1
- package/dist/types/repository.d.ts +7 -7
- package/dist/types/repository.d.ts.map +1 -1
- package/dist/types/typed-enbox.d.ts +613 -0
- package/dist/types/typed-enbox.d.ts.map +1 -0
- package/dist/types/typed-live-query.d.ts +1 -1
- package/dist/types/typed-record.d.ts +427 -53
- package/dist/types/typed-record.d.ts.map +1 -1
- package/dist/types/utils.d.ts +23 -0
- package/dist/types/utils.d.ts.map +1 -1
- package/dist/types/vc-api.d.ts +3 -3
- package/dist/types/vc-api.d.ts.map +1 -1
- package/package.json +12 -11
- package/src/advanced.ts +1 -1
- package/src/define-protocol.ts +3 -3
- package/src/did-api.ts +5 -5
- package/src/dwn-api.ts +22 -17
- package/src/dwn-reader-api.ts +2 -2
- package/src/enbox.ts +281 -0
- package/src/grant-revocation.ts +3 -3
- package/src/index.ts +17 -16
- package/src/live-query.ts +2 -2
- package/src/permission-grant.ts +4 -4
- package/src/permission-request.ts +3 -3
- package/src/protocol-types.ts +2 -2
- package/src/protocol.ts +8 -8
- package/src/record-data.ts +86 -5
- package/src/record.ts +54 -13
- package/src/repository-types.ts +19 -7
- package/src/repository.ts +15 -15
- package/src/typed-enbox.ts +1169 -0
- package/src/typed-live-query.ts +1 -1
- package/src/typed-record.ts +431 -53
- package/src/utils.ts +27 -0
- package/src/vc-api.ts +4 -4
- package/dist/esm/typed-web5.js +0 -339
- package/dist/esm/typed-web5.js.map +0 -1
- package/dist/esm/web5.js +0 -410
- package/dist/esm/web5.js.map +0 -1
- package/dist/types/typed-web5.d.ts +0 -221
- package/dist/types/typed-web5.d.ts.map +0 -1
- package/dist/types/web5.d.ts +0 -351
- package/dist/types/web5.d.ts.map +0 -1
- package/src/typed-web5.ts +0 -598
- package/src/web5.ts +0 -762
package/README.md
CHANGED
|
@@ -33,6 +33,7 @@ The high-level SDK for building decentralized applications with protocol-first d
|
|
|
33
33
|
- [Unscoped DWN Access](#unscoped-dwn-access)
|
|
34
34
|
- [Permissions](#permissions)
|
|
35
35
|
- [DID Operations](#did-operations)
|
|
36
|
+
- [Browser Builds — Required Polyfills](#browser-builds--required-polyfills)
|
|
36
37
|
- [API Reference](#api-reference)
|
|
37
38
|
- [License](#license)
|
|
38
39
|
|
|
@@ -761,6 +762,68 @@ const { didDocument } = await web5.did.resolve('did:dht:abc...');
|
|
|
761
762
|
|
|
762
763
|
---
|
|
763
764
|
|
|
765
|
+
## Browser Builds — Required Polyfills
|
|
766
|
+
|
|
767
|
+
The Enbox packages reference several Node.js globals that must be shimmed in browser environments. Most bundlers (Vite, webpack) handle the main bundle automatically, but **secondary build targets** (e.g., service workers, Web Workers) may need explicit configuration.
|
|
768
|
+
|
|
769
|
+
### Required shims
|
|
770
|
+
|
|
771
|
+
| Global | Shim value | Used by |
|
|
772
|
+
|--------|-----------|---------|
|
|
773
|
+
| `global` | `globalThis` | `@enbox/agent` transitive deps |
|
|
774
|
+
| `process.env` | `{}` | `@enbox/agent`, `@enbox/dids` |
|
|
775
|
+
| `process.browser` | `true` | `@enbox/agent` transitive deps |
|
|
776
|
+
| `process.emitWarning` | `() => {}` | `@enbox/agent` transitive deps |
|
|
777
|
+
|
|
778
|
+
### Vite configuration
|
|
779
|
+
|
|
780
|
+
For the main app bundle, add to `vite.config.ts`:
|
|
781
|
+
|
|
782
|
+
```ts
|
|
783
|
+
import nodePolyfills from 'vite-plugin-node-stdlib-browser';
|
|
784
|
+
|
|
785
|
+
export default defineConfig({
|
|
786
|
+
define: {
|
|
787
|
+
global: 'globalThis',
|
|
788
|
+
},
|
|
789
|
+
plugins: [nodePolyfills()],
|
|
790
|
+
});
|
|
791
|
+
```
|
|
792
|
+
|
|
793
|
+
### Service workers (VitePWA)
|
|
794
|
+
|
|
795
|
+
Service workers built via [VitePWA](https://vite-pwa-org.netlify.app/) run in a separate Vite build that does **not** inherit the main app's polyfill plugins. Two additional steps are needed:
|
|
796
|
+
|
|
797
|
+
1. **Build as IIFE** to compile away `import.meta.url` references:
|
|
798
|
+
```ts
|
|
799
|
+
VitePWA({
|
|
800
|
+
strategies: 'injectManifest',
|
|
801
|
+
injectManifest: {
|
|
802
|
+
rollupFormat: 'iife',
|
|
803
|
+
},
|
|
804
|
+
})
|
|
805
|
+
```
|
|
806
|
+
|
|
807
|
+
2. **Prepend a `process` shim** via a Rollup plugin:
|
|
808
|
+
```ts
|
|
809
|
+
VitePWA({
|
|
810
|
+
injectManifest: {
|
|
811
|
+
rollupFormat: 'iife',
|
|
812
|
+
buildPlugins: {
|
|
813
|
+
rollup: [{
|
|
814
|
+
name: 'sw-process-shim',
|
|
815
|
+
renderChunk(code) {
|
|
816
|
+
const shim = 'if(typeof process==="undefined"){self.process={env:{},browser:true,emitWarning:function(){}};};\n';
|
|
817
|
+
return { code: shim + code, map: null };
|
|
818
|
+
},
|
|
819
|
+
}],
|
|
820
|
+
},
|
|
821
|
+
},
|
|
822
|
+
})
|
|
823
|
+
```
|
|
824
|
+
|
|
825
|
+
---
|
|
826
|
+
|
|
764
827
|
## API Reference
|
|
765
828
|
|
|
766
829
|
### Main Exports (`@enbox/api`)
|