open-index/open-npm huggingface dataset:
npm package: @react_wucx/react-scripts
Description: Configuration and scripts for Create React App.
Latest version: 3.4.1-alpha

# react-scripts

This package includes scripts and configuration used by [Create React App](https://github.com/facebook/create-react-app).<br>
Please refer to its documentation:

- [Getting Started](https://facebook.github.io/create-react-app/docs/getting-started) – How to create a new app.
- [User Guide](https://facebook.github.io/create-react-app/) – How to develop apps bootstrapped with Create React App.

### 遇错记录
1. 运行npm start时，页面报错：Failed to load resource: net::ERR_BLOCKED_BY_CLIENT；
- 原因：
由于浏览器中的插件拦截：adblock会拦截网站的广告，会报这个错误。这个错误和浏览网页的主要内容没有直接关联。
- 解决方法：
在当前网站停止使用adblock等广告拦截工具（具体可以关闭插件或者设置插件白名单）。
npm package: @reactalytics/core
Description: The core package responsible for running configured analytics client commands.
Author: Joshua Slate
Latest version: 0.0.4

# `@reactalytics/core`

Abstraction for handling multiple analytics and error tracking clients in a React-based application. In larger apps, a codebase can end up having several analytics and error clients. For example, marketing may request Google Analytics, while a data science team would request Amplitude events. Even if your project is only using one analytics client and one error client, using an abstraction like Reactalytics allows you to switch providers on a dime if you decide. The goal of this library is to simplify tracking to a common interface, where events can be sent to as many providers as you want, in unison.

This is the core library, which all client libraries depend on to fire off events.

View documentation at the root of the [repository](https://github.com/joshuaslate/reactalytics).

## Quick Usage Example

`app.tsx`
```tsx
import React from 'react';
import { ReactalyticsProvider, DebugAnalyticsClient, DebugErrorClient } from '@reactalytics/core';
import HomePage from './home-page';

const analyticsClient = new DebugAnalyticsClient();
const errorClient = new DebugErrorClient();
const clients = [analyticsClient, errorClient];

const App: React.FC = () => (
    <ReactalyticsProvider initialClients={clients}>
        {/* your app here */}
        <HomePage />
    </ReactalyticsProvider>
);

export default App;
```

`home-page.tsx`

```tsx
import React from 'react';
import { useReactalytics } from '@reactalytics/core';

const HomePage: React.FC = () => {
    const { user } = useAuthState();
    const { identifyUser, page, sendEvent, trackError } = useReactalytics();
    const [clicks, setClicks] = React.useState(0);
    
    React.useEffect(() => {
        page('home_page', { additional_info: 'any meta info supported by your client(s) here' });
    }, []);
    
    React.useEffect(() => {
        if (user?.id) {
            identifyUser(user.id, { name: user.name, email: user.email });
        }
    }, [user?.id, identifyUser]);
    
    return (
        <button
            onClick={() => {
                try {
                    const newClicks = clicks + 1;
                    setClicks(newClicks);

                    sendEvent('cta_clicked', { location: 'home_page', clicks: newClicks });

                    if (newClicks % 2 === 0) {
                        throw new Error('experienced a terribly even number of clicks');
                    }
                } catch (err) {
                    trackError('even_clicks_from_cta', err);
                }
            }}
        >
            Clicks: {clicks}
        </button>
    )
}

export default HomePage;
```
npm package: @reactalytics/rollbar-client
Description: A @reactalytics client for sending error events to Rollbar
Author: Joshua Slate
Latest version: 0.0.5

# `@reactalytics/rollbar-client`

This is the error client that can be used in conjunction with `@reactalytics/core` to send error events to [Rollbar](https://rollbar.com/).

For more general documentation on how to send events, subscribe/unsubscribe providers, and more, review the [root-level README](../../README.md).

Rollbar is configured as an error client, so the API for events that will be sent to Rollbar is limited to:

```ts
import { ErrorLogLevel } from '@reactalytics/core';
import { LogArgument, Payload } from 'rollbar';

// identifyUser is used to associate events, page views, and errors with an individual user
identifyUser(
    id: string,
    otherInfo?: Payload['person'],
    // If an explicit list of clients is not passed in, user identity will be sent to all registered clients
    clients?: Array<string>,
): void;

// trackError is used to send error events to error tracking clients
trackError(
    message: string,
    errorInfo?: LogArgument | Array<LogArgument>,
    level?: ErrorLogLevel,
    clients?: Array<string>,
): void;
```

> Note, `clients` is an optional parameter, if you'd like to limit the event to being sent to only specific providers.

## Usage

### Install
```bash
npm install --save @reactalytics/core @reactalytics/rollbar-client
```

or

```bash
yarn add @reactalytics/core @reactalytics/rollbar-client
```

`index.tsx`
```tsx
import React from 'react';
import Rollbar from 'rollbar';
import { ReactalyticsProvider } from '@reactalytics/core';
import { RollbarClient } from '@reactalytics/rollbar-client';
import HomePage from './home-page';

const rollbarClient = new RollbarClient(
    new Rollbar({ accessToken: process.env.ROLLBAR_ACCESS_TOKEN }),
);

const clients = [rollbarClient];

const App: React.FC = () => (
    <ReactalyticsProvider initialClients={clients}>
        {/* your app here */}
        <HomePage />
    </ReactalyticsProvider>
);

export default App;
```

`home-page.tsx`
```tsx
import React from 'react';
import { useReactalytics } from '@reactalytics/core';

const HomePage: React.FC = () => {
    const { user } = useAuthState();
    const { identifyUser, trackError } = useReactalytics();
    
    React.useEffect(() => {
        if (user?.id) {
            identifyUser(user.id, { name: user.name, email: user.email });
        }
    }, [user?.id, identifyUser]);
    
    return (
        <button
            onClick={() => {
                try {
                    throw new Error('user should not click this button');
                } catch (err) {
                    trackError('forbidden_click', err);
                }
            }}
        >
            Do not click here
        </button>
    )
}

export default HomePage;
```
npm package: @reactalytics/sentry-client
Description: A @reactalytics client for sending error events to Sentry
Author: Joshua Slate
Latest version: 0.0.5

# `@reactalytics/sentry-client`

This is the error client that can be used in conjunction with `@reactalytics/core` to send error events to [Sentry](https://sentry.io/).

For more general documentation on how to send events, subscribe/unsubscribe providers, and more, review the [root-level README](../../README.md).

Sentry is configured as an error client, so the API for events that will be sent to Sentry is limited to:

```ts
import { ErrorLogLevel } from '@reactalytics/core';
import { User } from '@sentry/types';

// identifyUser is used to associate events, page views, and errors with an individual user
identifyUser(
    id: string,
    otherInfo?: User,
    // If an explicit list of clients is not passed in, user identity will be sent to all registered clients
    clients?: Array<string>,
): void;

// trackError is used to send error events to error tracking clients
trackError(
    message: string,
    errorInfo?: Error | Array<Error>,
    level?: ErrorLogLevel,
    clients?: Array<string>,
): void;
```

> Note, `clients` is an optional parameter, if you'd like to limit the event to being sent to only specific providers.

## Usage

### Install
```bash
npm install --save @reactalytics/core @reactalytics/sentry-client
```

or

```bash
yarn add @reactalytics/core @reactalytics/sentry-client
```

`index.tsx`
```tsx
import React from 'react';
import * as Sentry from '@sentry/browser';
import { ReactalyticsProvider } from '@reactalytics/core';
import { SentryClient } from '@reactalytics/sentry-client';
import HomePage from './home-page';

Sentry.init({
    dsn: process.env.SENTRY_DSN,
});

// The `hub` argument passed to the SentryClient constructor is optional
const sentryClient = new SentryClient(Sentry.getCurrentHub());

const clients = [sentryClient];

const App: React.FC = () => (
    <ReactalyticsProvider initialClients={clients}>
        {/* your app here */}
        <HomePage />
    </ReactalyticsProvider>
);

export default App;
```

`home-page.tsx`
```tsx
import React from 'react';
import { useReactalytics } from '@reactalytics/core';

const HomePage: React.FC = () => {
    const { user } = useAuthState();
    const { identifyUser, trackError } = useReactalytics();
    
    React.useEffect(() => {
        if (user?.id) {
            identifyUser(user.id, { name: user.name, email: user.email });
        }
    }, [user?.id, identifyUser]);
    
    return (
        <button
            onClick={() => {
                try {
                    throw new Error('user should not click this button');
                } catch (err) {
                    trackError('forbidden_click', err);
                }
            }}
        >
            Do not click here
        </button>
    )
}

export default HomePage;
```
npm package: @reactant/base
Description: reactant core components
Author: Jam Risser
Latest version: 0.0.18

# @reactant/base

[![GitHub stars](https://img.shields.io/github/stars/codejamninja/reactant.svg?style=social&label=Stars)](https://github.com/codejamninja/reactant/packages/base)

> reactant core components

Please ★ this repo if you found it useful ★ ★ ★


## Installation

```sh
npm install --save @reactant/base
```


## Dependencies

* [NodeJS](http://nodejs.com)


## Usage

[Contribute](https://github.com/codejamninja/reactant/blob/master/CONTRIBUTING.md) usage docs


## Support

Submit an [issue](https://github.com/codejamninja/reactant/issues/new)


## Screenshots

[Contribute](https://github.com/codejamninja/reactant/blob/master/CONTRIBUTING.md) a screenshot


## Contributing

Review the [guidelines for contributing](https://github.com/codejamninja/reactant/blob/master/CONTRIBUTING.md)


## License

[MIT License](https://github.com/codejamninja/reactant/blob/master/LICENSE)

[Jam Risser](https://codejam.ninja) © 2018


## Changelog

Review the [changelog](https://github.com/codejamninja/reactant/blob/master/CHANGELOG.md)


## Credits

* [Jam Risser](https://codejam.ninja) - Author


## Support on Liberapay

A ridiculous amount of coffee ☕ ☕ ☕ was consumed in the process of building this project.

[Add some fuel](https://liberapay.com/codejamninja/donate) if you'd like to keep me going!

[![Liberapay receiving](https://img.shields.io/liberapay/receives/codejamninja.svg?style=flat-square)](https://liberapay.com/codejamninja/donate)
[![Liberapay patrons](https://img.shields.io/liberapay/patrons/codejamninja.svg?style=flat-square)](https://liberapay.com/codejamninja/donate)
npm package: @reactant/config
Description: reactant config
Author: Jam Risser
Latest version: 0.0.406

# @reactant/config

[![GitHub stars](https://img.shields.io/github/stars/codejamninja/@reactant/config.svg?style=social&label=Stars)](https://github.com/codejamninja/reactant/packages/config)

> reactant config

Please ★ this repo if you found it useful ★ ★ ★

## Installation

```sh
npm install --save @reactant/config
```

## Dependencies

- [NodeJS](https://nodejs.org)

## Usage

[Contribute](https://github.com/codejamninja/reactant/packages/config/blob/master/CONTRIBUTING.md) usage docs

## Support

Submit an [issue](https://github.com/codejamninja/reactant/packages/config/issues/new)

## Screenshots

[Contribute](https://github.com/codejamninja/reactant/packages/config/blob/master/CONTRIBUTING.md) a screenshot

## Contributing

Review the [guidelines for contributing](https://github.com/codejamninja/reactant/packages/config/blob/master/CONTRIBUTING.md)

## License

[MIT License](https://github.com/codejamninja/reactant/packages/config/blob/master/LICENSE)

[Jam Risser](https://codejam.ninja) © 2019

## Changelog

Review the [changelog](https://github.com/codejamninja/reactant/packages/config/blob/master/CHANGELOG.md)

## Credits

- [Jam Risser](https://codejam.ninja) - Author

## Support on Liberapay

A ridiculous amount of coffee ☕ ☕ ☕ was consumed in the process of building this project.

[Add some fuel](https://liberapay.com/codejamninja/donate) if you'd like to keep me going!

[![Liberapay receiving](https://img.shields.io/liberapay/receives/codejamninja.svg?style=flat-square)](https://liberapay.com/codejamninja/donate)
[![Liberapay patrons](https://img.shields.io/liberapay/patrons/codejamninja.svg?style=flat-square)](https://liberapay.com/codejamninja/donate)
npm package: @reactant/generator
Description: yeoman generator for typescript node modules
Author: Jam Risser
Latest version: 0.0.335

# generator-node-module-typescript

[![GitHub stars](https://img.shields.io/github/stars/codejamninja/generator-node-module-typescript.svg?style=social&label=Stars)](https://github.com/codejamninja/generator-node-module-typescript)

> yeoman generator for typescript node modules

Please ★ this repo if you found it useful ★ ★ ★

## Features

- supports babel
- supports typescript
- publish to npm
- prettier
- eslint

## Installation

```sh
npm install -g yo generator-node-module-typescript
```

## Dependencies

- [NodeJS](https://nodejs.org)

## Usage

```sh
yo node-module-typescript
```

## Support

Submit an [issue](https://github.com/codejamninja/generator-node-module-typescript/issues/new)

## Screenshots

[Contribute](https://github.com/codejamninja/generator-node-module-typescript/blob/master/CONTRIBUTING.md) a screenshot

## Contributing

Review the [guidelines for contributing](https://github.com/codejamninja/generator-node-module-typescript/blob/master/CONTRIBUTING.md)

## License

[MIT License](https://github.com/codejamninja/generator-node-module-typescript/blob/master/LICENSE)

[Jam Risser](https://codejam.ninja) © 2019

## Changelog

Review the [changelog](https://github.com/codejamninja/generator-node-module-typescript/blob/master/CHANGELOG.md)

## Credits

- [Jam Risser](https://codejam.ninja) - Author

## Support on Liberapay

A ridiculous amount of coffee ☕ ☕ ☕ was consumed in the process of building this project.

[Add some fuel](https://liberapay.com/codejamninja/donate) if you'd like to keep me going!

[![Liberapay receiving](https://img.shields.io/liberapay/receives/codejamninja.svg?style=flat-square)](https://liberapay.com/codejamninja/donate)
[![Liberapay patrons](https://img.shields.io/liberapay/patrons/codejamninja.svg?style=flat-square)](https://liberapay.com/codejamninja/donate)
npm package: @reactant/react-router
Description: reactant web module
Author: Jam Risser
Latest version: 0.0.72

# @reactant/react-router

[![GitHub stars](https://img.shields.io/github/stars/codejamninja/@reactant/react-router.svg?style=social&label=Stars)](https://github.com/codejamninja/reactant/package/react-router)

> Reactant web module

Please ★ this repo if you found it useful ★ ★ ★



## Installation

```sh
npm install --save @reactant/react-router
```



## Usage

[Contribute](https://github.com/codejamninja/reactant/package/react-router/blob/master/CONTRIBUTING.md) usage docs


## Support

Submit an [issue](https://github.com/codejamninja/reactant/package/react-router/issues/new)


## Screenshots

[Contribute](https://github.com/codejamninja/reactant/package/react-router/blob/master/CONTRIBUTING.md) a screenshot


## Contributing

Review the [guidelines for contributing](https://github.com/codejamninja/reactant/package/react-router/blob/master/CONTRIBUTING.md)


## License

[MIT License](https://github.com/codejamninja/reactant/package/react-router/blob/master/LICENSE)

[Jam Risser](https://codejam.ninja) © 2018


## Changelog

Review the [changelog](https://github.com/codejamninja/reactant/package/react-router/blob/master/CHANGELOG.md)


## Credits

* [Jam Risser](https://codejam.ninja) - Author


## Support on Liberapay

A ridiculous amount of coffee ☕ ☕ ☕ was consumed in the process of building this project.

[Add some fuel](https://liberapay.com/codejamninja/donate) if you'd like to keep me going!

[![Liberapay receiving](https://img.shields.io/liberapay/receives/codejamninja.svg?style=flat-square)](https://liberapay.com/codejamninja/donate)
[![Liberapay patrons](https://img.shields.io/liberapay/patrons/codejamninja.svg?style=flat-square)](https://liberapay.com/codejamninja/donate)
npm package: @reactant/sass
Description: reactant sass module
Author: Jam Risser
Latest version: 0.0.72

# @reactant/sass

[![GitHub stars](https://img.shields.io/github/stars/codejamninja/@reactant/sass.svg?style=social&label=Stars)](https://github.com/codejamninja/reactant/packages/web)

> Reactant web module

Please ★ this repo if you found it useful ★ ★ ★


## Installation

```sh
npm install --save @reactant/sass
```


## Usage

[Contribute](https://github.com/codejamninja/reactant/packages/web/blob/master/CONTRIBUTING.md) usage docs


## Support

Submit an [issue](https://github.com/codejamninja/reactant/packages/web/issues/new)


## Screenshots

[Contribute](https://github.com/codejamninja/reactant/packages/web/blob/master/CONTRIBUTING.md) a screenshot


## Contributing

Review the [guidelines for contributing](https://github.com/codejamninja/reactant/packages/web/blob/master/CONTRIBUTING.md)


## License

[MIT License](https://github.com/codejamninja/reactant/packages/web/blob/master/LICENSE)

[Jam Risser](https://codejam.ninja) © 2018


## Changelog

Review the [changelog](https://github.com/codejamninja/reactant/packages/web/blob/master/CHANGELOG.md)


## Credits

* [Jam Risser](https://codejam.ninja) - Author


## Support on Liberapay

A ridiculous amount of coffee ☕ ☕ ☕ was consumed in the process of building this project.

[Add some fuel](https://liberapay.com/codejamninja/donate) if you'd like to keep me going!

[![Liberapay receiving](https://img.shields.io/liberapay/receives/codejamninja.svg?style=flat-square)](https://liberapay.com/codejamninja/donate)
[![Liberapay patrons](https://img.shields.io/liberapay/patrons/codejamninja.svg?style=flat-square)](https://liberapay.com/codejamninja/donate)
npm package: @reactant/styled-components
Description: reactant web module
Author: Jam Risser
Latest version: 0.0.72

# @reactant/styled-components

[![GitHub stars](https://img.shields.io/github/stars/codejamninja/@reactant/styled-components.svg?style=social&label=Stars)](https://github.com/codejamninja/reactant/packages/web)

> Reactant web module

Please ★ this repo if you found it useful ★ ★ ★



## Installation

```sh
npm install --save @reactant/styled-components
```



## Usage

[Contribute](https://github.com/codejamninja/reactant/packages/web/blob/master/CONTRIBUTING.md) usage docs


## Support

Submit an [issue](https://github.com/codejamninja/reactant/packages/web/issues/new)


## Screenshots

[Contribute](https://github.com/codejamninja/reactant/packages/web/blob/master/CONTRIBUTING.md) a screenshot


## Contributing

Review the [guidelines for contributing](https://github.com/codejamninja/reactant/packages/web/blob/master/CONTRIBUTING.md)


## License

[MIT License](https://github.com/codejamninja/reactant/packages/web/blob/master/LICENSE)

[Jam Risser](https://codejam.ninja) © 2018


## Changelog

Review the [changelog](https://github.com/codejamninja/reactant/packages/web/blob/master/CHANGELOG.md)


## Credits

* [Jam Risser](https://codejam.ninja) - Author


## Support on Liberapay

A ridiculous amount of coffee ☕ ☕ ☕ was consumed in the process of building this project.

[Add some fuel](https://liberapay.com/codejamninja/donate) if you'd like to keep me going!

[![Liberapay receiving](https://img.shields.io/liberapay/receives/codejamninja.svg?style=flat-square)](https://liberapay.com/codejamninja/donate)
[![Liberapay patrons](https://img.shields.io/liberapay/patrons/codejamninja.svg?style=flat-square)](https://liberapay.com/codejamninja/donate)
npm package: @reactant/web-isomorphic
Description: reactant web isomorphic module
Author: Jam Risser
Latest version: 0.0.72

# @reactant/web-isomorphic

[![GitHub stars](https://img.shields.io/github/stars/codejamninja/@reactant/web-isomorphic.svg?style=social&label=Stars)](https://github.com/codejamninja/reactant/packages/web-isomorphic)

> reactant web isomorphic module

Please ★ this repo if you found it useful ★ ★ ★


## Installation

```sh
npm install --save @reactant/web-isomorphic
```


## Usage

[Contribute](https://github.com/codejamninja/reactant/packages/web-isomorphic/blob/master/CONTRIBUTING.md) usage docs


## Support

Submit an [issue](https://github.com/codejamninja/reactant/packages/web-isomorphic/issues/new)


## Screenshots

[Contribute](https://github.com/codejamninja/reactant/packages/web-isomorphic/blob/master/CONTRIBUTING.md) a screenshot


## Contributing

Review the [guidelines for contributing](https://github.com/codejamninja/reactant/packages/web-isomorphic/blob/master/CONTRIBUTING.md)


## License

[MIT License](https://github.com/codejamninja/reactant/packages/web-isomorphic/blob/master/LICENSE)

[Jam Risser](https://codejam.ninja) © 2018


## Changelog

Review the [changelog](https://github.com/codejamninja/reactant/packages/web-isomorphic/blob/master/CHANGELOG.md)


## Credits

* [Jam Risser](https://codejam.ninja) - Author


## Support on Liberapay

A ridiculous amount of coffee ☕ ☕ ☕ was consumed in the process of building this project.

[Add some fuel](https://liberapay.com/codejamninja/donate) if you'd like to keep me going!

[![Liberapay receiving](https://img.shields.io/liberapay/receives/codejamninja.svg?style=flat-square)](https://liberapay.com/codejamninja/donate)
[![Liberapay patrons](https://img.shields.io/liberapay/patrons/codejamninja.svg?style=flat-square)](https://liberapay.com/codejamninja/donate)