open-index/open-npm huggingface dataset:
npm package: @quasarswap/sdk
Description: 🛠 An SDK for building applications on top of Quasarswap.
Author: Quasar Team
Latest version: 1.4.0

# Pancakeswap SDK

Forked from the [Uniswap SDK](https://github.com/Uniswap/uniswap-v2-sdk/commit/a88048e9c4198a5bdaea00883ca00c8c8e582605).

You can refer to the Uniswap SDK documentation [uniswap.org](https://uniswap.org/docs/v2/SDK/getting-started/).

## Running tests

To run the tests, follow these steps. You must have at least node v10 and [yarn](https://yarnpkg.com/) installed.

First clone the repository:

```sh
git clone https://github.com/diegoxter/quasar-sdk.git
```

Move into the pancakeswap-sdk working directory

```sh
cd quasar-sdk/
```

Install dependencies

```sh
yarn install
```

Run tests

```sh
yarn test
```

You should see output like the following:

```sh
yarn run v1.22.4
$ tsdx test
 PASS  test/constants.test.ts
 PASS  test/pair.test.ts
 PASS  test/fraction.test.ts
 PASS  test/miscellaneous.test.ts
 PASS  test/entities.test.ts
 PASS  test/trade.test.ts

Test Suites: 1 skipped, 6 passed, 6 of 7 total
Tests:       3 skipped, 82 passed, 85 total
Snapshots:   0 total
Time:        5.091s
Ran all test suites.
✨  Done in 6.61s.
```
npm package: @quasartc/file-sync
Description: An example monorepo package with tsup
Author: Raghav Anand
Latest version: 1.0.7

```
# From one terminal
➜  projects npx @quasartc/file-sync --url quasar-connect.cryingpotato.com --user-type uploader --directory ./src
info: 18-cherry-honeydew
info: Connected!

info: Sent add for: a
info: Sent change for: a
info: Sent change for: a
```


```
# From the other terminal
npx @quasartc/file-sync --url quasar-connect.cryingpotato.com --user-type downloader --directory ./src --code 18-cherry-honeydew
```
npm package: @quasarwork/eslint-config-gear
Description: Opinionated ESLint configuration for Quasar.work's Gear projects
Author: Aurélien BOBENRIETH
Latest version: 1.5.1

# @quasarwork/eslint-config-gear

This package provides an opinionated ESLint configuration for [Quasar.work]'s [Gear ⚙️] projects.

Learn more about [ESLint configuration](https://eslint.org/docs/user-guide/configuring).

Learn more about [Typescript ESLint configuration](https://typescript-eslint.io/users/configs).

## Installation

```bash
yarn add -D eslint typescript typescript-eslint @quasarwork/eslint-config-gear
```

## Usage

Add the following to your `estlint.config.mjs` file:

```js
import eslintConfigGearServer from "@quasarwork/eslint-config-gear/eslint.config.server.mjs";
import tseslint from "typescript-eslint";

const config = tseslint.config(...eslintConfigGearServer);

export default config;
```

### Notes

Some rules have been disabled because of some conflicts with [Gadget] and [Effect] features.

See [source code](./eslint.config.base.mjs) for more details.

## Available configurations

### `server.mjs`

This configuration is the base configuration for all [Quasar.work]'s [Gear ⚙️] projects.

In a Gear Shopify app, this will be the configuration used in the `eslint.config.mjs` file at the root of the project.

### `client.mjs`

This configuration extends the `base.mjs` configuration and adds some features related to a client side usage.

In a Gear Shopify app, this configuration will be used in the `eslint.config.mjs` file at the root of your `/web` directory (client side).

### `extensions.mjs`

This configuration extends the `base.mjs` configuration and adds some features related to a client side usage.

In a Gear Shopify app, this configuration will be used in the `eslint.config.mjs` file at the root of your `/extensions` directory (client side).

## License

[MIT] © [Quasar.work] ([Aurélien BOBENRIETH])

[Quasar.work]: https://quasar.work
[Gear ⚙️]: https://github.com/quasarwork/gear
[Gadget]: https://gadget.dev
[effect]: https://github.com/Effect-TS/effect/tree/main
[Aurélien BOBENRIETH]: https://github.com/aurelienbobernieth
[MIT]: https://github.com/quasarwork/gear/blob/main/LICENSE
npm package: @quasarwork/gear-prettier-config
Description: Opinionated Prettier configuration for Quasar.work's Gear projects
Author: Aurélien BOBENRIETH
Latest version: 1.5.0

# @quasarwork/gear-prettier-config

This package provides an opinionated Prettier configuration for [Quasar.work]'s [Gear ⚙️] projects.

Learn more about [Prettier configuration](https://prettier.io/docs/en/configuration.html).

## Features

- Prettify package.json thanks to [prettier-plugin-packagejson](https://github.com/matzkoh/prettier-plugin-packagejson)
- Prettify jsdoc comments thanks to [prettier-plugin-jsdoc](https://github.com/hosseinmd/prettier-plugin-jsdoc)
- Prettify imports thanks to [@trivago/prettier-plugin-sort-imports](https://github.com/trivago/prettier-plugin-sort-imports)

## Installation

```bash
yarn add -D prettier @quasarwork/gear-prettier-config
```

## Usage

Add the following to your `package.json`:

```json
{
  "prettier": "@quasarwork/gear-prettier-config"
}
```

## License

[MIT] © [Quasar.work] ([Aurélien BOBENRIETH])

[Quasar.work]: https://quasar.work
[Gear ⚙️]: https://github.com/quasarwork/gear
[Aurélien BOBENRIETH]: https://github.com/aurelienbobernieth
[MIT]: https://github.com/quasarwork/gear/blob/main/LICENSE
npm package: @quasarwork/gear-tsconfig
Description: Opinionated TypeScript configuration for Quasar.work's Gear projects
Author: Aurélien BOBENRIETH
Latest version: 1.6.1

# @quasarwork/gear-tsconfig

This package provides an opinionated TypeScript configuration for [Quasar.work]'s [Gear ⚙️] projects.

Learn more about [TypeScript configurations](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html).

## Install

Run the following command to install this package:

```bash
yarn add -D @quasarwork/gear-tsconfig
```

## Usage

To enable a configuration, extend your `tsconfig.json` file by adding the `extends` property with the name of the configuration you want to use:

```json
{
  "extends": "@quasarwork/gear-tsconfig/server"
}
```

## Available configurations

### `tsconfig.server.json`

This configuration is the base configuration for all [Quasar.work]'s [Gear ⚙️] projects.

In a Gear Shopify app, this will be the configuration used in the `tsconfig.json` file at the root of the project.

#### Notes

The used `module` and `moduleResolution` are based on the ones that can be found when kicking off a new [Gadget] app under the `.gadget/server/tsconfig.json` file.

⚠️ The `strict` property is mandatory for [effect] to work properly. See [https://github.com/Effect-TS/effect/tree/main?tab=readme-ov-file#requirements](https://github.com/Effect-TS/effect/tree/main?tab=readme-ov-file#requirements).

⚠️ The `exactOptionalPropertyTypes` property is mandatory for [@effect/schema] to work properly. See [https://github.com/Effect-TS/effect/tree/main/packages/schema#requirements](https://github.com/Effect-TS/effect/tree/main/packages/schema#requirements).

### `tsconfig.client.json`

This configuration extends the `base.json` configuration and replaces the `module` and `moduleResolution` as well as the `target` properties. It also adds some features related to a client side usage.

In a Gear Shopify app, this configuration will be used in the `tsconfig.json` file at the root of your `/web` directory (client side).

#### Notes

The used `module`, `moduleResolution` are based on the ones that can be found when kicking off a new [Gadget] app under the `.gadget/client/tsconfig.json` file.

### `tsconfig.extensions.json`

This configuration extends the `base.json` configuration and replaces the `module` and `moduleResolution` as well as the `target` properties. It also adds some features related to a client side usage.

In a Gear Shopify app, this configuration will be used in the `tsconfig.json` file at the root of your `/extensions` directory (client side).

#### Notes

⚠️ The `target` being `es2015` means that Shopify extensions are currently unable to use [@effect/schema].

## License

[MIT] © [Quasar.work] ([Aurélien BOBENRIETH])

[Quasar.work]: https://quasar.work
[Gear ⚙️]: https://github.com/quasarwork/gear
[Gadget]: https://gadget.dev
[effect]: https://github.com/Effect-TS/effect/tree/main
[@effect/schema]: https://github.com/Effect-TS/effect/tree/main/packages/schema
[Aurélien BOBENRIETH]: https://github.com/aurelienbobernieth
[MIT]: https://github.com/quasarwork/gear/blob/main/LICENSE
npm package: @quasarwork/qwik-city-nprogress
Description: A simple Qwik City progress bar component using NProgress.
Author: Aurélien BOBENRIETH from Quasar.work
Latest version: 0.0.3

# Qwik City Nprogress ⚡️

A simple [Qwik City][qwik-city] progress bar component using [Nprogress][nprogress].

## Installation

```bash
yarn add @quasarwork/qwik-city-nprogress
```

## Usage

The component leverages the property `isNavigating` from [@builder.io/qwik-city useLocation()][use-location] hook.

In order to use the component, you just need to add it in a `layout` component.

_It is recommended to add it to the top-level `layout` component, so that it will work through the whole site._

`src/routes/layout.tsx`

```typescript
import { QwikCityNprogress } from '@quasarwork/qwik-city-nprogress'

export default component$(() => {
  return (
    <>
      <QwikCityNprogress />
      <main class="py-8">
        <Slot />
      </main>
    </>
  )
})
```

## Configuration

You can use any configuration property from the original [Nprogress][nprogress] package (see [Nprogress configuration](https://github.com/rstacruz/nprogress#configuration)).

Two other properties have been added to make it easier to customize the look of the progress bar.

### color

Type: `string`

Default: `undefined`

Keeping the property `undefined` means keeping the original color provided by [Nprogress][nprogress], which is `#29d`.

### height

Type: `string`

Default: `undefined`

Keeping the property `undefined` means keeping the original height provided by [Nprogress][nprogress], which is `2px`.

### Example configuration

`src/routes/layout.tsx`

```typescript
import { QwikCityNprogress } from '@quasarwork/qwik-city-nprogress'

export default component$(() => {
  return (
    <>
      <QwikCityNprogress
        options={{
          color: 'var(--primary-color)',
          height: '4px',
        }}
      />
      <main class="py-8">
        <Slot />
      </main>
    </>
  )
})
```

[qwik-city]: https://qwik.builder.io/
[nprogress]: https://ricostacruz.com/nprogress/
[use-location]: https://qwik.builder.io/docs/api/#uselocation
npm package: @quase/cli
Description: A simple cli helper.
Latest version: 0.3.0

# @quase/cli

## About

A simple cli helper.

Based and adapted from [meow](https://github.com/sindresorhus/meow), and includes [update-notifier](https://github.com/yeoman/update-notifier), plus some features:

- We change the update notifier message if Yarn is detected.
- Passing a `configFiles` value automates the requiring of a config file. The user will be able to override the default using `--config=another-file.js`.
- Passing a `configKey` value automates the requiring of a config object from the `package.json` file, if a config file is not available.
- Support for `@quase/config`'s schema and defaults application.

## Usage example

`bin/index.js`

```js
#!/usr/bin/env node

require( "@quase/cli" ).default(
  ( {
    input, // Array with non-flag arguments
    options, // Flags, config, and defaults all applied
    flags, // The flags only (without defaults applied yet)
    config, // The config object only
    configLocation, // The absolute path of the config file found or "pkg"
    pkg, // The package.json object
    help, // The help text used with --help
    showHelp, // showHelp([code=2]) - Show the help text and exit with code
    showVersion, // showVersion() - Show the version text and exit
  } ) => {

  },
  {
    // If you pass an array, we try to find the first file
    configFiles: "sample.config.js",
    configKey: "sample",
    // Function or just the object. For more info, see @quase/config
    schema( t ) {
      return {
        someFlagName: {
          type: "boolean",
          description: "",
          alias: "s",
          default: false
        },
        someObject: {
          type: t.object( {
            someProp: {
              type: "number"
            }
          } )
        }
      };
    },
    // false to disable notification
    notifier: {
      options: {}, // UpdateNotifier options
      notify: {} // .notify() options
    },
    // Infer the argument type. Default: false
    inferType: false,
    // The help text used with --help. Default: generated automatically from schema
    help: "",
    // Usage example. Used when generating the help text
    usage: "",
    // Description to show above the help text. Default: The package.json "description" property
    description: undefined,
    // Set a custom version output. Default: The package.json "version" property
    version: undefined,
    // Automatically show the help text when the --help flag is present
    autoHelp: true,
    // Automatically show the version text when the --version flag is present
    autoVersion: true,
    // Custom arguments object
    argv: process.argv.slice( 2 )
  }
);
```

`package.json`

```json
{
  "bin": {
    "sample": "bin/index.js"
  },
}
```

## Copy-paste example

`bin/index.js`

```js
#!/usr/bin/env node

require( "@quase/cli" ).default( ( { options, input } ) => {
  require( "../dist" ).default( options, input );
}, {
  usage: "$ sample",
  schema: {},
  configFiles: "sample.config.js",
  configKey: "sample"
} );
```
npm package: @quase/config
Description: Configuration utilities
Latest version: 0.1.0

# @quase/config

## About

Provides utilities to get configuration (from a file or `package.json`), apply defaults and validate options.

```js
import { getConfig, applyDefaults, t, validate, printError } from "@quase/config";

const schema = {
  foo: {
    type: "boolean",
    deprecated: true
  },
  bar: {
    type: "boolean",
    default: true
  },
  object: {
    type: t.object( {
      prop: {
        type: "number",
        example: 10
      }
    } )
  },
  tuple: {
    type: t.tuple( [
      {
        type: "string"
      },
      {
        type: "string"
      }
    ] )
  },
  array: {
    // Array of numbers
    type: t.array( {
      type: "number"
    } ),
    merge: "concat"
  },
  value: {
    choices: [ 0, 1, 2 ]
  }
};

const config = getConfig( {
  cwd: process.cwd(),
  configFiles: [],
  configKey: "",
  failIfNotFound: false
} );

const options = applyDefaults( schema, config ); // The first object passed (after schema) takes precedence

try {
  validate( schema, options );
} catch ( e ) {
  printError( e );
}
```

### Merge mode

It is used to customize how values are merged when applying defaults and merging multiple objects.

- `"override"`: Just sets the value without merging.
- `"merge"`: If they are arrays, merge them.
- `"concat"`: If they are arrays, just concats them.
- `"spreadMeansConcat"`: If they are arrays, concat them when the value with higher precedence has `"..."` as its first element.
- You can also provide a function of the form `( obj, src ) => any`.
npm package: @quasi-dev/autoform
Description: A simple form generator
Author: Zecyel
Latest version: 0.1.0

# Quasi-dev/autoform

A package that automatically generates forms from a schema.

## 快速开始

```bash
npm i @quasi-dev/autoform
```

## Demo

```typescript
import { AButton, AButtonModel } from '@quasi-dev/autoform'

let el = document.getElementById('root') as HTMLDivElement

let btn = new AButton(new AButtonModel())
btn.mount(el)
btn.patch({
  caption: '123'
})
```

## 文档

暂缺