open-index/open-npm huggingface dataset:
npm package: @heycharles/browser-sdk
Description: The Browser SDK for the Charles APIs.
Author: Robert Jefe Lindstaedt
Latest version: 4.256.0

# Charles Browser SDK

> The browser utility for working with the Charles API.


## Usage

```bash
# 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:

```javascript
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:

```javascript
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](http://facebook.github.io/jest/docs/cli.html#watch)
- `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](https://github.com/typicode/husky) will tell you to use it if you haven't :wink:)

## LICENSE

Apache-2.0

## Contributing

Please see [contributing](./CONTRIBUTING.md)