Skip to content

c-commerce/charles-browser-sdk

Repository files navigation

Charles Browser SDK

The browser utility for working with the Charles API.

Usage

# Run npm install and write your library name when asked. That's all!
npm install @heycharles/browser-sdk

Features

Importing Library

You can import the generated bundle to use the whole library generated by this starter:

import * as charles from '@heycharles/browser-sdk'

// configure which API to use. E.g. you can also run staging and sandbox APIs
charles.init({
  universe: 'https://my-universe.hello-charles.com'
})

// use any authentication method that .auth provides
charles.auth.loginUsername({ username: '[email protected]', password: 'xxxxxxxxxxx' })

// or when already authenticated and rehydrating state you can immediately also hydrated an
// authenticated th client
charles.init({
  universe: 'https://my-universe.hello-charles.com',
  credentials: {
    token: window.localStorage.getItem('charles-token')
  },
  user: window.localStorage.getItem('charles-user-uuid')
})

Additionally, you can import the transpiled modules from dist/lib in case you have a modular library:

import Auth from '@heycharles/browser-sdk/dist/lib/Auth'

Development

  • npm t: Runs test suite.
  • npm start: Run npm run build in watch mode
  • npm run test:watch: Run test suite in interactive watch mode
  • npm run test:prod: Run linting and generate coverage
  • npm run build: Generate bundles and typings, create docs
  • npm run lint: Lints code
  • npm run commit: Commit using conventional commit style (husky will tell you to use it if you haven't 😉)

LICENSE

Apache-2.0