open-index/open-npm huggingface dataset:
npm package: @splish-me/copyright-headers
Description: A configurable Node.js utility to keep your copyright headers up to date.
Author: Splish UG
Latest version: 0.0.2

# copyright-headers

A configurable Node.js utility to keep your copyright headers up to date.

Documentation WIP, see [`scripts/license-headers.ts`](scripts/license-headers.ts) as an example for now.
npm package: @splish-me/scripts
Description: [![Build Status](https://travis-ci.org/splish-me/scripts.svg?branch=master)](https://travis-ci.org/splish-me/scripts)
Author: Splish UG
Latest version: 2.6.0

# scripts

[![Build Status](https://travis-ci.org/splish-me/scripts.svg?branch=master)](https://travis-ci.org/splish-me/scripts)

Inspired by https://github.com/kentcdodds/kcd-scripts

## Setup

```
yarn add @splish-me/scripts --dev
```

## Usage

### `splish-scripts format`

Executes `prettier --write "{{.storybook,src}/**/*,*}.{js,jsx,ts,tsx,css,less,scss,json,md,markdown}"` with the [included default config](src/configs/prettierrc.json).
npm package: @split-demo/shared-build-deps
Description: Split Demo shared build dependencies
Author: Miloš Rašić
Latest version: 1.0.0

# Shared build dependencies

Build dependencies for Split Demo apps and main project. This repo simply encapsulates all the packages that we would otherwise copy-paste into devDependencies of every project that can be ran using webpack-dev-server.

Packages that should go here are ones used by the main repo to build, test or provide dev tools when the application is run in local environment using webpack-dev-server.

## Usage

To add build deps to a project simply

```
yarn add @split-demo/shared-build-deps --dev
```

or

```
npm --save-dev @split-demo/shared-build-deps
```

with npm v3. Higher versions of npm will not flatten the dependencies correctly.

This package should never be symlinked because that would break flattening of node_modules.
npm package: @split-demo/shared-config
Description: Split Demo shared config
Author: Miloš Rašić
Latest version: 1.0.0

# Shared Config

Contains shared config files for Split Demo repo builds.

## Usage

Make sure you have Node installed, then clone this repo and run:

```
npm install
```

or

```
yarn install
```

then, for example, in webpack config

```
import { webpack } from '@split-demo/shared-config';

export default function(options) {
	const config = webpack(appName);

	//do something with config, override values, add new ones

	return config;
}
```

## Building

You don't. It's build-time code.

## Other

This should be safe to npm/yarn link.
npm package: @split-demo/shared-deps
Description: Deployment Split Demo Shared Dependencies
Author: Miloš Rašić
Latest version: 1.0.0

# Shared dependencies

Shared browser bundle dependencies for Split Demo apps and main project. This repo simply encapsulates all the open source packages that are eager loaded as soon as the Split Demo main app is opened.

All dependencies of more than one repo in the project should be here.
npm package: @split-tech/browser-sdk
Description: Browser SDK for integrating Split
Latest version: 0.8.2

# Split SDK

On-chain based, Referral SDK for Web3 applications.

### Setup

```bash
# Using npm
npm install @split-tech/browser-sdk

# Using yarn
yarn add @split-tech/browser-sdk
```

### API Key

Get your API key from [Split Partner App](https://partner.split.marketing).

### Usage

```javascript
// _app.tsx
import React from "react";
import { SplitBrowserProvider } from "@split-tech/browser-sdk";

export default function App({ Component, pageProps: { sessions, ...pageProps } }: AppProps) {
  return (
    <SplitBrowserProvider apiKey={YOUR_API_KEY} config={{ referralParams: "referredBy", interval: 10000 }}>
      <Component {...pageProps} />
    </SplitBrowserProvider>
  );
}
```

### Error Messages

- `SplitSDKError: Invalid API Key`
- `SplitSDKError: Invalid referral code`
- `SplitSDKError: Failed to add referral data`.

### More Information

For more detailed documentation visit here [Split SDK Documentation.](https://s-organization-294.gitbook.io/split)
npm package: @split-tech/browser-sdk-test
Description: Browser SDK for integrating Split
Latest version: 0.8.1

# Split SDK

On-chain based, Referral SDK for Web3 applications.

### Setup

```bash
# Using npm
npm install @split-tech/browser-sdk

# Using yarn
yarn add @split-tech/browser-sdk
```

### API Key

Get your API key from [Split Partner App](https://partner.split.marketing).

### Usage

```javascript
// _app.tsx
import React from "react";
import { SplitBrowserProvider } from "@split-tech/browser-sdk";

export default function App({ Component, pageProps: { sessions, ...pageProps } }: AppProps) {
  return (
    <SplitBrowserProvider apiKey={YOUR_API_KEY} config={{ referralParams: "referredBy", interval: 10000 }}>
      <Component {...pageProps} />
    </SplitBrowserProvider>
  );
}
```

### Error Messages

- `SplitSDKError: Invalid API Key`
- `SplitSDKError: Invalid referral code`
- `SplitSDKError: Failed to add referral data`.

### More Information

For more detailed documentation visit here [Split SDK Documentation.](https://s-organization-294.gitbook.io/split)
npm package: @split-tests/cypress
Description: Splits test files in Cypress and ensures all parallel jobs finish work at a similar time
Author: Kamil Kisiela
Latest version: 0.1.0

# Split Tests in Cypress

Splits test files in Cypress and ensures all parallel jobs finish work at a similar time.

**Before**

|                             | Job |    Time    |
| --------------------------- | :-: | :--------: |
| =========================== |  1  | 46 minutes |
| ========                    |  2  | 13 minutes |
| ============                |  3  | 19 minutes |

**After**

|               | Job |    Time    |
| ------------- | :-: | :--------: |
| ============= |  1  | 26 minutes |
| ============= |  2  | 26 minutes |
| ============= |  3  | 26 minutes |

## Setup

Install `@split-tests/cypress` package:

    npm install --save-dev @split-tests/cypress
    yarn add -D @split-tests/cypress
  
In `cypress/plugins/index.js`:

```js
const plugin = require("@split-tests/cypress");

module.exports = plugin;
```

Use JUnit to report run times of the tests (in `cypress.json`):

```json
{
  "reporter": "junit",
  "reporterOptions": {
    "mochaFile": "reports/junit-[hash].xml"
  }
};
```

## Usage

Jobs are calculated at run time:

    $ CYPRESS_JOBS_TOTAL=3 CYPRESS_JOBS_INDEX=0 jest

- `CYPRESS_JOBS_TOTAL` - total number of jobs
- `CYPRESS_JOBS_INDEX` - index number of the job (starts with 0)
npm package: @split-tests/jest
Description: Splits test files in Jest and ensures all parallel jobs finish work at a similar time
Author: Kamil Kisiela
Latest version: 0.1.0

# Split Tests in Jest

Splits test files in Jest and ensures all parallel jobs finish work at a similar time.

**Before**

|                             | Job |    Time    |
| --------------------------- | :-: | :--------: |
| =========================== |  1  | 46 minutes |
| ========                    |  2  | 13 minutes |
| ============                |  3  | 19 minutes |

**After**

|               | Job |    Time    |
| ------------- | :-: | :--------: |
| ============= |  1  | 26 minutes |
| ============= |  2  | 26 minutes |
| ============= |  3  | 26 minutes |

## Setup

Install `@split-tests/jest` package:

    npm install --save-dev @split-tests/jest
    yarn add -D @split-tests/jest

In `jest.config.js`:

```js
module.exports = {
  /* ... */

  // IMPORTANT: set the test sequencer
  testSequencer: require.resolve("@split-tests/jest"),

  // report the run times of the tests, use `jest-unit` reporter
  reporters: [
    "default",
    [
      "jest-junit",
      {
        outputDirectory: "unit",
        addFileAttribute: true,
      },
    ],
  ],

  globals: {
    "split-tests": {
      // collect the times
      junit: "<rootDir>/unit/junit.xml",
    },
  },
};
```

## Usage

Jobs are calculated at run time:

**Using environment variables**

    $ JEST_JOBS_TOTAL=3 JEST_JOBS_INDEX=0 jest

- `JEST_JOBS_TOTAL` - total number of jobs
- `JEST_JOBS_INDEX` - index number of the job (starts with 0)

**Using cli arguments**

    $ jest --jobsTotal=3 --jobsIndex=0

- `--jobsTotal` - total number of jobs
- `--jobsIndex` - index number of the job (starts with 0)

## Custom test reporter

It is possible to read reports not only from a junit file but from any source.

Imagine a this scenario, Jest + `jest-junit` but saved in CircleCI or in some database.

```js
module.exports = {
  /* your jest config */

  globals: {
    "split-tests": {
      async reader(tests) {
        const reports = await fetchReports(tests.map((t) => t.path));

        return reports;
      },
    },
  },
};
```

The `reader` is a function that has to return `Array<{path: string; time: number}>` (or as a Promise) and its first argument is a list of tests to be executed in Jest.
npm package: @split-ui/react
Description: A React component library for flexible panel layouts
Author: Jan Potoms
Latest version: 0.1.1

# @split-ui/react

A flexible and lightweight React component library for creating resizable panel layouts.

- [Documentation](https://split-ui-docs.vercel.app)
- [GitHub](https://github.com/Janpot/split-ui)
- [npm](https://www.npmjs.com/package/@split-ui/react)

## Features

- 🎯 **Simple API** - Just two components: `Panel`, and `Resizer`
- 🎨 **Customizable** - Full control over styling and layout
- 💾 **Persistence** - Save and restore panel sizes with SSR support
- 🏗️ **Nestable** - Create complex nested layouts
- ⚡ **Lightweight** - Minimal bundle size with zero dependencies

## Installation

```bash
npm install @split-ui/react
```

## Quick Start

```tsx
import { Panel, Resizer } from '@split-ui/react';

function App() {
  return (
    <Panel group>
      <Panel initialSize={300}>
        <h2>Sidebar</h2>
        <p>This panel has a fixed initial size</p>
      </Panel>
      <Resizer />
      <Panel>
        <h2>Main Content</h2>
        <p>This panel takes up the remaining space</p>
      </Panel>
    </Panel>
  );
}
```

## Documentation

For complete documentation, examples, and advanced usage patterns, visit the [documentation](https://split-ui-docs.vercel.app).

## License

MIT
npm package: @splitbee/core
Description: This package includes the basic communication layer with the internal [Splitbee](https://splitbee.com) API + typings.
Author: Tobias Lins
Latest version: 0.3.0

# @splitbee-core

This package includes the basic communication layer with the internal [Splitbee](https://splitbee.com) API + typings.

## Related packages

- [@splitbee/web](https://splitbee.io/docs/javascript-library) - For front-end JavaScript applications
- [@splitbee/node](https://splitbee.io/docs/backend-analytics-nodejs) - For back-end use with Node.js
npm package: @splitbee/node
Description: Used to track events for Splitbee using Node.JS
Author: Tobias Lins
Latest version: 0.3.1

# splitbee-node

Used to track events for Splitbee using Node.JS

### Basic Usage

```js
const { SplitbeeAnalytics } = require('@splitbee/node');

// Token can be found in dashboard settings
const analytics = new SplitbeeAnalytics('PROJECT_TOKEN');

analytics.track({
  userId: 'myunique@user.id',
  event: 'Payment confirmed',
  data: {
    paymentId: '1234567890',
  },
});
```

Set data to user profile

```js
analytics.user.set({
  userId: 'myunique@user.id',
  userData: {
    username: 'Custom Name',
    isTrial: true,
  },
});
```

The full reference can be found in our [documentation](https://splitbee.io/docs/backend-analytics-nodejs).
npm package: @splitbee/react-native
Description: Used to track screen views & events of React Native & Expo Apps using Splitbee.
Author: Tobias Lins
Latest version: 0.2.2

# Splitbee Analytics for React Native Apps

Used to track screen views & events of React Native & Expo Apps using Splitbee.

### Usage with Expo

Install following expo dependencies:

```bash
expo install @splitbee/react-native expo-device expo-constants @react-native-async-storage/async-storage
```

We need those for getting the device data & persisting the user on a device.

### Usage with React Native

Install following dependencies: [@react-native-async-storage/async-storage](`https://react-native-async-storage.github.io/async-storage/docs/install`) & [react-native-device-info](https://github.com/react-native-device-info/react-native-device-info)

```bash
yarn add @splitbee/react-native react-native-device-info @react-native-async-storage/async-storage
npx pod-install
```

Please follow the official documentation of those libraries on how to link them correctly.

## Usage

### Initialize Splitbee

First of all you need to initialize the Splitbee SDK. For that, run `splitbee.init` with your token.

```js
import splitbee from '@splitbee/react-native';

splitbee.init('YOUR_TOKEN'); // Take the token from the project settings in the Splitbee dashboard
```

## Screen Tracking

### Usage with [react-navigation](https://reactnavigation.org/docs/getting-started)

In this example we are using react-navigation to screen views automatically.

```JSX
import splitbee, { useTrackReactNavigation } from '@splitbee/react-native';

export default function Navigation() {
  const [{ onReady, onStateChange }, navigationRef] = useTrackReactNavigation();

  return (
    <NavigationContainer
      linking={LinkingConfiguration}
      ref={navigationRef}
      onReady={() => {
        onReady();
      }}
      onStateChange={() => {
        onStateChange();
      }}
    >
      <RootNavigator />
    </NavigationContainer>
  );
}
```

If you already have a `ref` set for the `NavigationContainer`, just pass it to `useTrackReactNavigation`

```JSX
const navigationRef = useRef(null)
const [{ onReady, onStateChange }] = useTrackReactNavigation(navigationRef);
```

### Usage with [react-native-navigation](https://wix.github.io/react-native-navigation)

To setup automated screen tracking you need to add following code to your `index.js`

```js
Navigation.events().registerComponentDidAppearListener(
  async ({ componentName, componentType }) => {
    if (componentType === 'Component') {
      await splitbee.screen(componentName);
    }
  }
);
```
npm package: @splitbee/web
Description: Used to track page views and events using any web framework like Next.js, Gatsby.js, Nuxt.js and others
Author: Tobias Lins
Latest version: 0.3.0

# @splitbee/web

Used to track page views and events using any web framework like Next.js, Gatsby.js, Nuxt.js and others

### Usage

```js
import splitbee from '@splitbee/web';

splitbee.init();
```

There are possible parameters that you can use to configure Splitbee.

```js
splitbee.init({
  disableCookie: true, // will disable the cookie usage
});
```

### Track events

```js
splitbee.track('My event', { some: 'data' });
```

### Set user data

```js
splitbee.user.set({ email: 'my@gmail.com' });
```