@heycharles/browser-sdk

The Browser SDK for the Charles APIs.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
@heycharles/browser-sdk
6244.126.1a day ago3 years agoMinified + gzip package size for @heycharles/browser-sdk in KB

Readme

Charles Browser SDK
The browser utility for working with the Charles API.

CircleCI

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: 'client_account@client.com', 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 :wink:)

LICENSE

Apache-2.0