open-index/open-npm huggingface dataset:
npm package: @staton/webbase-components
Description: React Component Library For Staton™ WebBase
Author: Dyontai Staton
Latest version: 1.0.7

# @staton/webbase-components

> React Component Library For Staton™ WebBase

[![NPM](https://img.shields.io/npm/v/@staton/webbase-components.svg)](https://www.npmjs.com/package/@staton/webbase-components) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
npm install --save @staton/webbase-components
```

## Usage

```jsx
import React, { Component } from 'react'

import MyComponent from '@staton/webbase-components'
import '@staton/webbase-components/dist/index.css'

class Example extends Component {
  render() {
    return <MyComponent />
  }
}
```

## License

MIT © [Dyontai Staton](https://github.com/Dyontai Staton)
npm package: @statoscope/config
Description: Statoscope config utils
Author: Sergey Melyukov
Latest version: 5.28.1

# Config

[![npm version](https://badge.fury.io/js/%40statoscope%2Fconfig.svg)](https://badge.fury.io/js/%40statoscope%2Fconfig)
[![Financial Contributors on Open Collective](https://opencollective.com/statoscope/all/badge.svg?label=financial+contributors)](https://opencollective.com/statoscope)

Statoscope Config Helpers

## Config format

```ts
export type Config = {
  silent?: boolean;
  validate?: {
    plugins?: Array<string | [string, string]>;
    warnAsError?: boolean;
    reporters?: ReporterConfig[];
    rules: Record<string, RuleDesc<unknown>>;
  };
  generate?: {
    reports?: Report<unknown, unknown>;
  },
};
```

### `silent`

For now, it just suppresses stats-validators reporters

### `validator`

See [stats-validator readme](/packages/stats-validator/README.md#config)

**Example:**

```js
module.exports = {
  validate: {
    plugins: ['@statoscope/webpack'],
    rules: {
      '@statoscope/webpack/restricted-modules': ['error', [/\/src\//]],
      '@statoscope/webpack/restricted-packages': ['error', ['foo']],
    },
  },
};
```
npm package: @statoscope/extensions
Description: Statoscope extensions toolkit
Author: Sergey Melyukov
Latest version: 5.28.1

# Statoscope Extensions

[![npm version](https://badge.fury.io/js/%40statoscope%2Fextensions.svg)](https://badge.fury.io/js/%40statoscope%2Fextensions)
[![Financial Contributors on Open Collective](https://opencollective.com/statoscope/all/badge.svg?label=financial+contributors)](https://opencollective.com/statoscope)

Statoscope extensions toolkit
npm package: @statoscope/helpers
Description: Statoscope utils
Author: Sergey Melyukov
Latest version: 5.28.1

# Helpers

[![npm version](https://badge.fury.io/js/%40statoscope%2Fhelpers.svg)](https://badge.fury.io/js/%40statoscope%2Fhelpers)
[![Financial Contributors on Open Collective](https://opencollective.com/statoscope/all/badge.svg?label=financial+contributors)](https://opencollective.com/statoscope)

Statoscope Stats Helpers
npm package: @statoscope/report-writer
Description: Statoscope report writer
Author: Sergey Melyukov
Latest version: 5.28.1

# Statoscope report writer

[![npm version](https://badge.fury.io/js/%40statoscope%2Freport-writer.svg)](https://badge.fury.io/js/%40statoscope%2Freport-writer)
[![Financial Contributors on Open Collective](https://opencollective.com/statoscope/all/badge.svg?label=financial+contributors)](https://opencollective.com/statoscope)

This package generates a stream with statoscope HTML-report from one or more json-files.
npm package: @statoscope/stats
Description: Statoscope stats spec
Author: Sergey Melyukov
Latest version: 5.28.1

# Statoscope Stats Specification

[![npm version](https://badge.fury.io/js/%40statoscope%2Fstats.svg)](https://badge.fury.io/js/%40statoscope%2Fstats)
[![Financial Contributors on Open Collective](https://opencollective.com/statoscope/all/badge.svg?label=financial+contributors)](https://opencollective.com/statoscope)

Statoscope Stats Specification
npm package: @statoscope/stats-extension-compressed
Description: Statoscope extension for collecting compressed resource sizes
Author: Sergey Melyukov
Latest version: 5.28.1

# Statoscope Compressed extension

[![npm version](https://badge.fury.io/js/%40statoscope%2Fstats-extension-compressed.svg)](https://badge.fury.io/js/%40statoscope%2Fstats-extension-compressed)
[![Financial Contributors on Open Collective](https://opencollective.com/statoscope/all/badge.svg?label=financial+contributors)](https://opencollective.com/statoscope)

Statoscope extension for collecting compressed resource sizes
npm package: @statoscope/stats-extension-custom-reports
Description: Statoscope extension to store custom reports in stats
Author: Sergey Melyukov
Latest version: 5.28.1

# Statoscope Package Custom Reports

[![npm version](https://badge.fury.io/js/%40statoscope%2Fstats-extension-package-info.svg)](https://badge.fury.io/js/%40statoscope%2Fstats-extension-custom-reports)
[![Financial Contributors on Open Collective](https://opencollective.com/statoscope/all/badge.svg?label=financial+contributors)](https://opencollective.com/statoscope)

Statoscope extension to store custom reports in stats.

A custom report is:

```ts
export type Report<TData, TContext> = {
  id: string; // report id
  name?: string; // report title
  compilation?: string | null; // if specified then a report will be shown only in specific compilation
  data?: TData | (() => Promise<TData> | TData); // raw data for the report or a function that produces a data (may return promise)
  view: string | ViewConfig<TData, TContext>; // any DiscoveryJS. String turns to script to eval
};
```

## View as a script

Sometimes we need to make a report with more complex view (e.g. with event handling).

JSON can't handle functions, but you can pass any script source into `view`-property instead of JSON.

This source will be `eval`ed on client and should return any DiscoveryJS view.

**my-custom-report-view.js:**
```js
(() => [
  {
    view: 'button',
    data: {
      text: 'Click me',
    },
    onClick() {
      alert('It works!');
    },
  },
])();
```

**Report config:**
```js
({
  id: 'foo',
  view: fs.readFileSync('./my-custom-report-view.js', 'utf8')
})
```
npm package: @statoscope/stats-extension-package-info
Description: Statoscope extension for collecting package info (e.g. available versions)
Author: Sergey Melyukov
Latest version: 5.28.1

# Statoscope Package Info extension

[![npm version](https://badge.fury.io/js/%40statoscope%2Fstats-extension-package-info.svg)](https://badge.fury.io/js/%40statoscope%2Fstats-extension-package-info)
[![Financial Contributors on Open Collective](https://opencollective.com/statoscope/all/badge.svg?label=financial+contributors)](https://opencollective.com/statoscope)

Statoscope extension for collecting package info (e.g. available versions)
npm package: @statoscope/stats-extension-stats-validation-result
Description: Statoscope extension that collects stats validation result
Author: Sergey Melyukov
Latest version: 5.28.1

# Statoscope Validation Result extension

[![npm version](https://badge.fury.io/js/%40statoscope%2Fstats-extension-stats-validation-result.svg)](https://badge.fury.io/js/%40statoscope%2Fstats-extension-stats-validation-result)
[![Financial Contributors on Open Collective](https://opencollective.com/statoscope/all/badge.svg?label=financial+contributors)](https://opencollective.com/statoscope)

Statoscope extension that collects stats validation result
npm package: @statoscope/stats-validator-reporter-console
Description: Console reporter for @statoscope/stats-validator
Author: Sergey Melyukov
Latest version: 5.28.1

# stats-validator-reporter-console

[![npm version](https://badge.fury.io/js/%40statoscope%2Fstats-validator-reporter-console.svg)](https://badge.fury.io/js/%40statoscope%2Fstats-validator-reporter-console)
[![Financial Contributors on Open Collective](https://opencollective.com/statoscope/all/badge.svg?label=financial+contributors)](https://opencollective.com/statoscope)

Console reporter for @statoscope/stats-validator

Write validation result into console

## Options

```ts
type Options = {
  useColors?: boolean; // use colors to decarate message (true by default)
};
```
npm package: @statoscope/stats-validator-reporter-stats-report
Description: Stats report reporter for @statoscope/stats-validator
Author: Sergey Melyukov
Latest version: 5.29.0

# stats-validator-reporter-stats-report

[![npm version](https://badge.fury.io/js/%40statoscope%2Fstats-validator-reporter-stats-report.svg)](https://badge.fury.io/js/%40statoscope%2Fstats-validator-reporter-stats-report)
[![Financial Contributors on Open Collective](https://opencollective.com/statoscope/all/badge.svg?label=financial+contributors)](https://opencollective.com/statoscope)

UI reporter for @statoscope/stats-validator.

Injects validator's result into stats and generates a Statoscope report.

## Usage

1. Install

   `npm i -D @statoscope/stats-validator-plugin-webpack`
2. Add into `statoscope.config.js`
    ```js
    module.exports = {
      validate: {
        reporters: [["@statoscope/stats-report", { "open": true }]]
        // any other config parts
      }
    }   
    ```

In this case, Statoscope validator will generate a UI-report and open it.

## Options

```ts
type Options = {
  saveReportTo?: string; // a path to save HTML report (temporary dir with random file name by default)
  saveStatsTo?: string; // a path to save JSON stats (does not save stats by default)
  open?: boolean; // open generated Statoscope report (false by default)
  disableReportCompression?: boolean // html report data compression, disable it will increase the size a lot (false by default)
};
```

## Examples

**statoscope.config.js:**

```json
{
  "validate": {
    "reporters": [["@statoscope/stats-report", { "open": true }]]
  }
}
```

Generate UI report and open it.

**statoscope.config.js:**

```json
{
  "validate": {
    "reporters": [["@statoscope/stats-report", { "saveStatsTo": "/path/to/report.html" }]]
  }
}
```

Generate UI report info `/path/to/report.html` file.

**statoscope.config.js:**

```json
{
  "validate": {
    "reporters": [["@statoscope/stats-report", { "saveStatsTo": "/path/to/new/stats.json" }]]
  }
}
```

Just inject validation result into stats and save into `/path/to/new/stats.json` file.
npm package: @statoscope/types
Description: Statoscope types
Author: Sergey Melyukov
Latest version: 5.28.1

# Statoscope types

[![npm version](https://badge.fury.io/js/%40statoscope%2Ftypes.svg)](https://badge.fury.io/js/%40statoscope%2F2Ftypes)
[![Financial Contributors on Open Collective](https://opencollective.com/statoscope/all/badge.svg?label=financial+contributors)](https://opencollective.com/statoscope)

Statoscope Stats Specification
npm package: @statoscope/ui-webpack
Description: This package is an alias for @statoscope/webpack-plugin and @statoscope/webpack-plugin
Author: Sergey Melyukov
Latest version: 5.29.0

# Statoscope ui-webpack

⚠️ This package is an alias for @statoscope/webpack-plugin and @statoscope/webpack-plugin.

Please, use @statoscope/webpack-plugin
npm package: @statoscope/webpack-model
Description: This package contains helpers to process webpack stats
Author: Sergey Melyukov
Latest version: 5.29.0

# Statoscope webpack model

[![npm version](https://badge.fury.io/js/%40statoscope%2Fwebpack-model.svg)](https://badge.fury.io/js/%40statoscope%2Fwebpack-model)
[![Financial Contributors on Open Collective](https://opencollective.com/statoscope/all/badge.svg?label=financial+contributors)](https://opencollective.com/statoscope)

This package contains helpers to process webpack stats.
npm package: @statoscope/webpack-stats-extension-compressed
Description: Webpack adapter for @statoscope/stats-extension-compressed
Author: Sergey Melyukov
Latest version: 5.29.0

# Webpack adapter for Statoscope Compressed extension

[![npm version](https://badge.fury.io/js/%40statoscope%2Fwebpack-stats-extension-compressed.svg)](https://badge.fury.io/js/%40statoscope%2Fwebpack-stats-extension-compressed)
[![Financial Contributors on Open Collective](https://opencollective.com/statoscope/all/badge.svg?label=financial+contributors)](https://opencollective.com/statoscope)

Webpack adapter for @statoscope/stats-extension-compressed
npm package: @statoscope/webpack-stats-extension-package-info
Description: Webpack adapter for @statoscope/stats-extension-package-info
Author: Sergey Melyukov
Latest version: 5.29.0

# Webpack adapter for Statoscope Package Info extension

[![npm version](https://badge.fury.io/js/%40statoscope%2Fwebpack-stats-extension-package-info.svg)](https://badge.fury.io/js/%40statoscope%2Fwebpack-stats-extension-package-info)
[![Financial Contributors on Open Collective](https://opencollective.com/statoscope/all/badge.svg?label=financial+contributors)](https://opencollective.com/statoscope)

Webpack adapter for @statoscope/stats-extension-package-info
npm package: @statsanytime/trade-bots
Description: Simple framework for building CS trade-bots!
Author: Pixel
Latest version: 1.0.0-alpha.26

# @statsanytime/trade-bots

Main package for the trade-bots framework. This package exports the main logic for creating, starting and managing trade-bots.

Most other packages in this repository are plugins for this package.

## Installation

```bash
pnpm install @statsanytime/trade-bots
```

## Usage

This package exports the following functions:

### `createBot`

Creates a new Bot instance.

```typescript
export interface BotOptions {
    name: string | undefined;
    pipeline: Pipeline;
    plugins: Plugin[];
    storage?: Storage;
}

const bot = createBot({
    name: 'my-bot',
    pipeline: createPipeline(...),
    plugins: [
        ...
    ],
});
```

### `createPipeline`

Create a new Pipeline instance.

```typescript
const pipeline = createPipeline('my-pipeline', () => {
    // Pipeline logic
});
```

### `startBots`

Can be used to start bots. It accepts an array of bot instances.

Alternatively, the `stattb` CLI can be used to do this.

```typescript
startBots([bot1, bot2, ...]);
```

There are quite a few available functions on top of these, but these are the stable ones for the time being. Feel free to play around with the more internal functions, but be aware that they might change in the future.
npm package: @statsanytime/trade-bots-csgo500
Description: Official CSGO500 plugin for the StatsAnytime Trade Bots framework.
Author: Pixel
Latest version: 1.0.0-alpha.26

# @statsanytime/trade-bots-csgo500

Official CSGO500 plugin for the StatsAnytime Trade Bots framework.

## Installation

```bash
pnpm install @statsanytime/trade-bots-csgo500
```

## Usage

For information on how to use this in the context of the framework, we recommend reading the official framework documentation [here](https://github.com/statsanytime/trade-bots).

This package exports the following functions:

### `createCSGO500Plugin`

Creates a new CSGO500 plugin instance. This takes a single options argument:

```typescript
export interface CSGO500PluginOptions {
    apiKey: string;
    userId: string;
}
```

### `withdraw`

Withdraws the item currently in the context (for example, the item that was just listed). This function does not take any arguments.

### `onItemBuyable`

Listen for items that become buyable. This function takes a single callback argument.
npm package: @statsanytime/trade-bots-csgoempire
Description: Official CSGOEmpire plugin for the StatsAnytime Trade Bots framework.
Author: Pixel
Latest version: 1.0.0-alpha.27

# @statsanytime/trade-bots-csgoempire

Official CSGOEmpire plugin for the StatsAnytime Trade Bots framework.

## Installation

```bash
pnpm install @statsanytime/trade-bots-csgoempire
```

## Usage

For information on how to use this in the context of the framework, we recommend reading the official framework documentation [here](https://github.com/statsanytime/trade-bots).

This package exports the following functions:

### `createCSGOEmpirePlugin`

Creates a new CSGOEmpire plugin instance. This takes a single options argument:

```typescript
export interface CSGOEmpirePluginOptions {
    apiKey: string;
}
```

### `withdraw`

Withdraws the item currently in the context (for example, the item that was just listed). This function does not take any arguments.

### `scheduleDeposit`

Schedules the deposit of a new item. The item in question is the one currently in the context (for example, the item that was just withdrawn). This function takes a single options argument:

```typescript
export interface CSGOEmpireScheduleDepositOptions {
    amountUsd: number;
}
```

### `deposit` / `depositMultiple`

This function makes a deposit request right away. It takes a single options argument:

```typescript
export interface ScheduledDeposit {
    marketplace: string;
    withdrawMarketplace: string;
    amountUsd: number;
    assetId: string;
    marketplaceData?: Record<string, any>;
    withdrawalId: string;
}
```

Under the hood, `scheduleDeposit` uses this function to make the deposit request once the item is tradable.

### `onItemBuyable`

Listen for items that become buyable. This function takes a single callback argument.
npm package: @statsanytime/trade-bots-csgofloat
Description: Official CSGOFloat plugin for the StatsAnytime Trade Bots framework.
Author: Pixel
Latest version: 1.0.0-alpha.26

# @statsanytime/trade-bots-csgofloat

Official CSGOFloat plugin for the StatsAnytime Trade Bots framework.

## Installation

```bash
pnpm install @statsanytime/trade-bots-csgofloat
```

## Usage

For information on how to use this in the context of the framework, we recommend reading the official framework documentation [here](https://github.com/statsanytime/trade-bots).

This package exports the following functions:

### `createCSGOFloatPlugin`

Creates a new CSGOFloat plugin instance. This takes a single options argument:

```typescript
export interface CSGOFloatPluginOptions {
    apiKey: string;
    version?: 'v1';
}
```

### `scheduleDeposit`

Schedules the deposit of a new item. The item in question is the one currently in the context (for example, the item that was just withdrawn). This function takes a single options argument:

```typescript
export interface CSGOFloatScheduleDepositOptions {
    amountUsd: number;
    type?: 'buy_now' | 'auction';
    maxOfferDiscount?: number;
    reservePrice?: number;
    durationDays?: 1 | 3 | 5 | 7 | 14;
    description?: string;
    private?: boolean;
}
```

### `deposit`

This function makes a deposit request right away. It takes a single options argument:

```typescript
export interface ScheduledDeposit {
    marketplace: string;
    withdrawMarketplace: string;
    amountUsd: number;
    assetId: string;
    marketplaceData?: Record<string, any>;
    withdrawalId: string;
}
```

Under the hood, `scheduleDeposit` uses this function to make the deposit request once the item is tradable.
npm package: @statsanytime/trade-bots-pricempire
Description: Official Pricempire plugin for the StatsAnytime Trade Bots framework.
Author: Pixel
Latest version: 1.0.0-alpha.26

# @statsanytime/trade-bots-pricempire

Official Pricempire plugin for the StatsAnytime Trade Bots framework.

## Installation

```bash
pnpm install @statsanytime/trade-bots-pricempire
```

## Usage

For information on how to use this in the context of the framework, we recommend reading the official framework documentation [here](https://github.com/statsanytime/trade-bots).

This package exports the following functions:

### `createPricempirePlugin`

Creates a new Pricempire plugin instance. This takes a single options argument:

```typescript
export interface PricempirePluginOptions {
    apiKey: string;
    version: 'v2' | 'v3';
    sources: string[];
}
```

### `getPrice`

Returns the price of the item in the current context. It takes a single argument which should match the price attribute path:

```typescript
getPrice('buff_buy.random_price');
```

### `getPricePercentage`

Returns the price percentage of the item in the current context. It takes the same argument as `getPrice`:

```typescript
getPricePercentage('buff_buy.random_price');
```

As any example, if the price of the item is 90 USD and the buff price is 100 USD, this function will return 90.
npm package: @statsanytime/trade-bots-steam
Description: Official Steam plugin for the StatsAnytime Trade Bots framework.
Author: Pixel
Latest version: 1.0.0-alpha.27

# @statsanytime/trade-bots-steam

Official Steam plugin for the StatsAnytime Trade Bots framework.

## Installation

```bash
pnpm install @statsanytime/trade-bots-steam
```

## Usage

For information on how to use this in the context of the framework, we recommend reading the official framework documentation [here](https://github.com/statsanytime/trade-bots).

This package exports the following functions:

### `createSteamPlugin`

Creates a new Steam plugin instance. This takes a single options argument:

```typescript
export interface SteamPluginOptions {
    accountName: string;
    password: string;
    sharedSecret: string;
    identitySecret: string;
}
```

### `acceptTradeOffer`

Accepts a trade offer for the item in the current context. It does not take any arguments.