@prelude.so/js-sdk
TypeScript icon, indicating that this package has built-in type declarations

0.2.3 • Public • Published

@prelude.so/js-sdk

Prelude's web SDK.

Installation

npm install @prelude.so/js-sdk

Entrypoints

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.

How to use

Session client initialization

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
});

Signals dispatch

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>);

Optimizing bundle size

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>});

Readme

Keywords

none

Package Sidebar

Install

npm i @prelude.so/js-sdk

Weekly Downloads

301

Version

0.2.3

License

Apache-2.0

Unpacked Size

1.23 MB

Total Files

45

Last publish

Collaborators

  • vbatoufflet
  • ding-engineering
  • amezcua
  • codenem