Prelude's web SDK.
npm install @prelude.so/js-sdk
This package contains several entrypoints (from the package.json
file's exports
field):
".": {
"types": "./dist/types/index.d.ts",
"import": "./dist/esm/inline/index.js",
"default": "./dist/iife/index.js"
},
"./slim": {
"types": "./dist/types/index.d.ts",
"import": "./dist/esm/slim/index.js"
},
"./signals": {
"types": "./dist/types/signals/index.d.ts",
"import": "./dist/esm/inline/signals.js",
"default": "./dist/iife/signals.js"
},
"./signals/slim": {
"types": "./dist/types/signals/index.d.ts",
"import": "./dist/esm/slim/signals.js"
},
"./session": {
"types": "./dist/types/session/index.d.ts",
"import": "./dist/esm/inline/session.js",
"default": "./dist/iife/session.js"
},
"./session/slim": {
"types": "./dist/types/session/index.d.ts",
"import": "./dist/esm/slim/session.js"
}
You can either import from the default @prelude.so/js-sdk
entrypoint, or use the following:
-
@prelude.so/js-sdk/session
: the session SDK client. Useful to use Prelude's session core API to authenticate your apps. -
@prelude.so/js-sdk/signals
: minimum library to dispatch browser signals to Prelude's platform while using our SDKs.
import { PrldSessionClient } from "@prelude.so/js-sdk/session";
const client = new PrldSessionClient({
appId: "<your-prelude-session-app-id>",
sdkKey: "<your-sdk-key>" // To automatically dispatch device signals upon login
});
Note: if you're using the session client with your SDK key configured you don't need to call this.
import { dispatchSignals } from "@prelude.so/js-sdk/signals";
await const dispatchId = dispatchSignals(<your-prelude-sdk-key>);
This package contains wasm code. In the default entrypoints, the wasm is inlined in the javascript file. If you want to optimize your bundle size, then you should configure your bundler to copy the wasm file in your outputs. Then you can use the slim version of the entrypoints instead of the default ones:
import { PrldSessionClient } from "@prelude.so/js-sdk/session/slim";
const client = new PrldSessionClient({appId: <your-prelude-session-app-id>});