open-index/open-npm huggingface dataset:
npm package: @pricempire/api
Description: Official Node.js client for the Pricempire API
Author: Pricempire
Latest version: 1.0.2

# Pricempire - CS2, Rust, TF2, and Dota 2 Price Comparison Platform

![Pricempire Banner](https://pricempire.com/assets/og/main.png)

## Overview

Pricempire is the leading destination for CS2, Rust, TF2, and Dota 2 price comparison and market analytics. Our platform helps gamers and traders make smarter decisions with real-time price tracking, market analysis, and comprehensive trading tools.

## Features

### Core Features

- Real-time price tracking across 40+ marketplaces
- Advanced market analytics and trend analysis
- Portfolio management and tracking
- Custom indexes creation and monitoring
- Flash deals detection
- Inventory value tracking
- API access for developers
- Steam ID finder utility

### Trading Tools

- Price comparison across multiple platforms
- Liquidity analysis
- Price history tracking
- Market trend identification
- Advanced filtering system
- Real-time price updates (Premium)

## Platform Statistics

- 24K+ Items Indexed
- 500K+ Active Users
- 40+ Supported Marketplaces
- 1B+ Price Checks Processed

## Getting Started

### Basic Usage

You can start using Pricempire's price comparison tools immediately without creating an account. Our basic features are freely accessible to all users.

### Premium Features

For advanced features like real-time price updates and enhanced analytics, consider upgrading to our premium subscription.

## Links

### Official Links

- [Website](https://pricempire.com)
- [Discord](https://pricempire.com/discord)
- [Twitter](https://twitter.com/pricempire)
- [Instagram](https://www.instagram.com/pricempire)
- [TikTok](https://www.tiktok.com/@pricempire.com)
- [GitHub](https://github.com/pricempire)
- [Steam Group](https://steamcommunity.com/groups/pricempire)

### Tools & Features

- [Price Comparison](https://app.pricempire.com/comparison)
- [Portfolio Manager](https://pricempire.com/app/portfolio)
- [Trending Items](https://app.pricempire.com/trending)
- [Flash Deals](https://app.pricempire.com/deals)
- [Market Indexes](https://app.pricempire.com/indexes)
- [Inventory Tracker](https://app.pricempire.com/inventory)
- [API Documentation](/api)

## Support & Community

### Contact

- Support Email: support@pricempire.com
- Business Inquiries: business@pricempire.com

### Feature Requests

Submit feature requests and suggestions through our [Nolt platform](https://pricempire.nolt.io)

## Development

### Prerequisites

- Node.js
- PNPM (v9.8.0+)

### Installation
npm package: @pricething/curl
Description: A typescript wrapper around cURL-impersonate.
Author: datagutt
Latest version: 1.1.6

# @pricething/curl

Fork of [curl-impersonate-node](https://github.com/wearrrrr/curl-impersonate-node) that adds windows support along with some other features.

## Install

```sh
# yarn
yarn add @pricething/curl

# npm
npm i @pricething/curl
```

## Usage

```ts
// normal request
const response = await new RequestBuilder()
    .url(/** YOUR URL HERE **/)
    .header("x-foo-bar", "baz")
    .send();

// make a post request
const response = await new RequestBuilder()
    .url(/** YOUR URL HERE **/)
    .method("POST")
    .body({ foo: "bar" })
    .send();

// use a browser preset (options vary by platform)
const response = await new RequestBuilder()
    .url(/** YOUR URL HERE **/)
    .preset({ name: "chrome", version: "110" })
    .send();
```
npm package: @prichodko/title
Description: Capitalize your titles properly
Author: leo
Latest version: 1.0.0

# title

This package correctly capitalizes your titles as per [The Chicago Manual of Style](http://www.chicagomanualofstyle.org/home.html). Furthermore, all of
ZEIT's product names are capitalized properly as well.

## Usage

Firstly, install the package:

```bash
yarn add title
```

Then load it and convert any input:

```js
const title = require('title')

title('noW deSktop and now cLI are prODUCts of zeIt')

// Will result in:
// "Now Desktop and Now CLI Are Products of ZEIT"
```

You can even pass words that should be capitalized as specified:

```js
title('FaCEbook is great', {
  special: [ 'facebook' ]
})

// Will result in:
// "facebook is great"
```

That's it!

### Command Line

You can also convert titles in the command line, if you want. Install the package globally:

```bash
yarn global add title
```

Next, run it:

```bash
title "noW deSktop and now cLI are prODUCts of zeIt"

# Will result in:
# "Now Desktop and Now CLI Are Products of ZEIT"
```

To see all available options, run:

```bash
title -h
```

## Contributing

1. [Fork](https://help.github.com/articles/fork-a-repo/) this repository to your own GitHub account and then [clone](https://help.github.com/articles/cloning-a-repository/) it to your local device
2. Uninstall `title` if it's already installed: `yarn global remove title`
3. Link it to the global module directory: `yarn link`

After that, you can use the `title` command everywhere.

## Author

- Leo Lamprecht ([@notquiteleo](https://twitter.com/notquiteleo)) - [ZEIT](https://zeit.co)
- Josh Junon ([@Qix-](https://github.com/Qix-)) - [ZEIT](https://zeit.co)
npm package: @prichodko/tsconfig
Description: Shared TypeScript config for my projects
Author: prichodko.p@gmail.com
Latest version: 0.1.1

# tsconfig

> Shared [TypeScript config](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html) for my projects

## Getting started

```
$ yarn add -D @prichodko/tsconfig
```

## Usage

`tsconfig.json`

```json
{
  "extends": "@prichodko/tsconfig"
}
```

## License

[MIT](https://github.com/prichodko/tsconfig/blob/master/LICENSE)
npm package: @prici/sdk
Description: ### SDK to use Prici.io API to manage pricing and SaaS plans for your application.
Latest version: 1.0.11

# @prici/sdk

### SDK to use Prici.io API to manage pricing and SaaS plans for your application.

Go to https://prici.io for more information.

## About Prici
Prici is an open source project to manage plans and pricing for any SaaS application.

You can use the standalone service using Docker and run it locally or on your machine.

## Getting Started

Create an SDK instance:

```typescript
import PriciSdk from '@prici/sdk';

const sdk = new PriciSdk({
  token: process.env.PRICI_TOKEN,
  priciUBaseUrl: process.env.PRICI_BASE_URL
});
```
<br>

### Create new PlanField

A plan field is a row field inside your application pricing plans.
It can be used by all any plans, or not to be used at all.

```typescript

const jiggleField = await sdk.PlanField.insert({
  name: 'Ability to jiggle jiggle',
  kind: FieldKind.Boolean
})

const wiggleField = await sdk.PlanField.insert({
  name: 'Ability to wiggle wiggle',
  kind: FieldKind.Number
})
```
<br>

### Create new Plan

A plan field is a row field inside your application pricing plans.
It can be used by all any plans, or not to be used at all.

```typescript

const basicPlan = await sdk.Plan.insert({
  name: 'Basic',
  fields: [
    { fieldId: jiggleField.id, value: false },
    { fieldId: wiggleField.id, value: 5 },
  ]
})

const advancedPlan = await sdk.PlanField.insert({
  name: 'Advanced',
  fields: [
    { fieldId: jiggleField.id, value: true },
    { fieldId: wiggleField.id, value: 10 },
  ]
})
```


### Create new AccountPlan

An account plan is the actual state of a plan for a specific account

```typescript

const demoAccount = await sdk.AccountPlan.insert({
  accountId: 'demo-account',
  plan: basicPlan,
  resetMode: ResetMode.Manual,
  state: {
    [wiggleField.id]: {
      targetLimit: 20, // custom change limit
      currentValue: 4 // // custom change initial value
    }
  }
})

```

Enjoy.
npm package: @pricking/cli
Description: program start, as esno & nodemon wrapper.
Latest version: 0.0.10

# @pricking/cli

program start, as esno & nodemon wrapper.

## TODO

* [x] new inst - `init`
* [ ] new inst - `test` [可考虑集成 vitest]

## inst

```bash
pricking-cli [命令]

命令：
  pricking-cli init
  pricking-cli start [options]

程式启动

选项：
  --help                显示帮助信息                                      [布尔]
  --version             显示版本号                                        [布尔]
  --confgPath, --cpath  cli config path                                 [字符串]
```

## config

such as nodemon config, exclude `exec`, it consists of `entryPoint` and `execArgs`

```json
{
  "entryPoint": "./src/index.ts",
  "watch": ["src"],
  "ext": "ts",
  "ignore": ["src/**/*.spec.ts"],
  "execArgs": [
    ["-r", "tsconfig-paths/register"],
    ["-r", "dotenv/config"],
    "dotenv_config_path=.dev-env"
  ],
  "env": {
    "APP_ENV": "development"
  },
  "delay": 500
}
```

```ts
interface IPrickingConf {
  entryPoint: string;
  watch?: string[];
  ext?: string;
  ignore?: string[];
  delay?: number;
  env?: any;
  execArgs?: Array<[string, string] | string>;
}
```
npm package: @pricking/core
Description: a simple node framework based on koa2, in order to improve development efficiency.
Latest version: 0.0.10

# pricking-koa <alpha>

a simple node framework based on koa2, in order to improve development efficiency.

WARNING: now only as an api server.

## focus

> rootPath is application root directory

1. The rootPath must contain `controllers` folder to load router.
2. if want add extra middlewares, you can add `middlewares` folder in rootPath.

## Necessary directory convention specification

```bash
src
├── controllers # use decorator to define router
├── extends
│   └── context.ts # append extra property to ctx
└── middlewares # custom middlewares
```


## about extra middleware

Don't design middleware that depends on execution order.(if necessary, only export a compose middleware)

It's worth mentioning that the middleware loading will traverse every possible file under the folder.

## decorator

how to use it?

```ts
import { Controller, Description, Get } from 'pricking-koa/dist/utils/decorator';
import BaseController from 'pricking-koa/dist/controllers/BaseController';

// path pattern -> ${controllerPath}/*
@Controller('/v3/books')
class AnalyseController extends BaseController {
  @Index(['/', '(.*)']) // (.*) -> https://github.com/koajs/router/blob/master/history.md
  @Description()
  async index() {
    /** WARNING: should add plugin */
    this.ctx.render('book/index.ejs', { currentTime: Date.now() });
  }

  // path pattern -> ${controllerPath}/api/${subPath}
  // path register -> /v3/books/api/info
  // as same as @Post, @Delete, @Put
  @Get('/info')
  @Description('getBookInfo')
  async getBookInfo() {
    this.ctx.success({});
  }

  @Post('/search')
  @Description('search')
  async searchBook() {
    this.ctx.success({});
  }

  @Get('/origin')
  @Description('getBookOriginDetail')
  async getBookOriginDetail() {
    this.ctx.success({});
  }
}

export = AnalyseController;
```

```ts
import { PrickingApplication } from 'pricking-koa';

new PrickingApplication({
  // framework will auto load route from <ROOT>/controllers
  rootPath: __dirname,
  port: 3002,
  env: 'dev',
  debug: true,
});
```

## middleware

```ts
export = (options: IOptions) => async (ctx, next) => {
  console.log(options.env);
  console.log('hello');
  await next();
  console.log('end');
};
```

## target

- [x] all in ts
- [x] debug in ts mode
- [x] lint
- [x] test
- [x] clean middleware loader
- [x] simple decorator to define route faster
- [x] support @Index decorator