# Apolitical Error Reporting

Browser (and Node.js) library to report errors to GCP

## Requirements

Requires the following to run:

- [node.js][node] 16.13.0+
- [yarn][yarn]

[node]: https://nodejs.org/en/download/
[yarn]: https://classic.yarnpkg.com/en/docs/install

## Installation

Install with `yarn`:

```sh
yarn add @apolitical/error-reporting
```

## Available Scripts

In the project directory, you can run:
### `yarn run test`

Runs the test (and the interactive mode can be enabled with `--watchAll`).

### `yarn build`

Builds the library for production to the `build` folder.
It correctly bundles the code on production mode and optimizes the build for the best performance.

### `yarn publish`

Publishes the library to NPM.

## Usage

The recommended way to use `@apolitical/error-reporting` is to set the context with the appropriate parameters:

```js
const { setContext, reportError } = require('@apolitical/error-reporting');

setContext({
  origin: 'some-url',
  accessToken: 'some-token',
  serviceName: 'some-service'
});
```

And then, you can report the error to GCP like this:

```js
await reportError(new Error('Something went wrong'));
```
