open-index/open-npm huggingface dataset:
npm package: @speedy-js/config-loader
Description: An out-of-box config loader with TypeScript support.
Latest version: 0.1.4

# @speedy-js/config-loader

[![npm version](https://badgen.net/npm/v/@speedy-js/config-loader)](https://npm.im/@speedy-js/config-loader)

An out-of-box config loader with TypeScript support.

## Install

```bash
npm i @speedy-js/config-loader -S
```

## Usage

```js
import { loadConfig } from '@speedy-js/config-loader';
// This load try to load at process.cwd():
//   - speedy.config.js
//   - speedy.config.ts
//   - speedyrc.js
//   - speedyrc.ts
const config = loadConfig({
  configKey: 'speedy',
});
```

Custom config path:

```js
// This will load `speedy.config.test.js` directly:
const config = loadConfig({
  cwd: useScene('config-suffix'),
  configKey: 'speedy',
  configFile: 'speedy.config.test.js',
});
```

## Credits

`@speedy-js/config-loader` wouldn't exist without the inspirations from following projects:

- [esbuild](https://github.com/evanw/esbuild)
- [bundle-require](https://github.com/egoist/bundle-require)

## License

MIT &copy; [ULIVZ](https://github.com/sponsors/ulivz)
npm package: @speedy-js/depcost
Description: [![npm version](https://badgen.net/npm/v/@speedy-js/depcost)](https://npm.im/@speedy-js/depcost)
Latest version: 0.1.4

# @speedy-js/depcost

[![npm version](https://badgen.net/npm/v/@speedy-js/depcost)](https://npm.im/@speedy-js/depcost)

Retrieve the time and space cost of a dependency, previously [depcost](https://github.com/ulivz/depcost).

<p align="center">
  <img width="600" src="https://github.com/rich-lab/depcost/blob/master/assets/example.png?raw=true" alt="logo"><br />
  <small><i>e.g. retrieve the time & space cost of latest 5 versions of <code>fs-extra</code>.</i></small>
</p>

## Introduction

**depcost** (abbr. **dc**) is a cli tool for you to judge whether a node module deserve your favor via knowing the time and space cost of a dependency.

## Features

- With **Require time**, you will know if the dependency you are using now is likely to **slow down** your node application.
- With **Install size** of a dependency, you will know if the dependency is too cumbersome and **wastes your disk.**
- Quickly specify the latest released versions.

## Usages

- Choose between two packages with similar functions:

![](./assets/comparison.png)

## Install

```bash
npm install @speedy-js/depcost/depcost -g
```

## Usage

Using `depcost` or its shortcut `dc`:

```bash
Usage:
  $ depcost [...pkgs]

For more info, run any command with the `--help` flag:
  $ depcost --help

Options:
  -t, --track                             Whether to keep temp directory.
  -r, --latest-versions <latestVersions>  Specify the count of latest versions.
  -s, --versions <versions>               Select specific versions.
  -l, --log-level <logLevel>              log level of npmlog under the hood.
  -n, --npm-client <npmClient>            set npm client, defaults to npm.
  -d, --debug                             Shortcut to set log level to "debug".
  -h, --help                              Display this message
  -v, --version                           Display version number
```

Examples:

```bash
depcost [package]
depcost [package] --log-level=info
depcost [package] --debug
depcost [package@version]
depcost [package1] [package2] [package3]
depcost [package] --latest-versions=3
depcost [package] --versions=1.0.0,2.0.0
```

## Global Config

You can set global options at `~/.depcostrc` with ini syntax. 

e.g., set npmClient to `npm` globally:

```bash
echo 'npmClient=npm' > ~/.depcostrc
```

## License

MIT &copy; [ULIVZ](https://github.com/sponsors/ulivz)
npm package: @speedy-js/eslint-config
Description: ESLint config for speedy stack.
Latest version: 0.1.4

# @speedy-js/eslint-config

[![npm version](https://badgen.net/npm/v/@speedy-js/eslint-config)](https://npm.im/@speedy-js/eslint-config) 

ESLint config for Speedy Framework Developers

## Features

- Indent with 2 spaces and **always** semicolon
- Best practice with `js`、`ts`、`react` or their bundle!

## Install

```bash
npm i -D @speedy-js/eslint-config
# OR: npm install -D eslint @speedy-js/eslint-config
```

## Usage

### Lint All

In `.eslintrc.js`:

```js
module.exports = {
  extends: ["@speedy-js/eslint-config"],
};
```

This enable lint for both `js`、`ts` and `react`! you'll also need `typescript` as a devDependnecy at your project.

## Lint TypeScript

In `.eslintrc.js`:

```js
module.exports = {
  extends: ["@speedy-js/eslint-config/ts"],
};
```

You need specify `--ext` explicitly to enable TypeScript linting:

```json
{
  "lint": "eslint src/** --ext .js,.jsx,.ts,.tsx --fix"
}
```

### Lint JavaScript

In `.eslintrc.js`:

```js
module.exports = {
  extends: ["@speedy-js/eslint-config/js"],
};
```

### Lint React

In `.eslintrc.js`:

```js
module.exports = {
  extends: ["@speedy-js/eslint-config/react"],
};
```

## License

MIT &copy; [ULIVZ](https://github.com/sponsors/ulivz)
npm package: @speedy-js/generic-types
Description: Generic types utilities
Latest version: 0.1.4

# @speedy-js/generic-types

[![npm version](https://badgen.net/npm/v/@speedy-js/generic-types)](https://npm.im/@speedy-js/generic-types) 

Generic types utilities

## Types

### Data Types

- `IsPlainObject`
- `Nullable`

### Generic

- `TConstructor`
- `TExtractEnumFromString`

## License

MIT &copy; [ULIVZ](https://github.com/sponsors/ulivz)
npm package: @speedy-js/mono
Description: Monorepo development & continuous integration tooling.
Latest version: 0.1.4

# @speedy-js/mono

[![npm version](https://badgen.net/npm/v/@speedy-js/mono)](https://npm.im/@speedy-js/mono) 

Monorepo development & continuous integration tooling.

## Features

- `mono d`：Quickly launch on-demand development build for monorepo.
- `mono r`：Launch restartable release flow for monorepo.

## Commands

### `mono d`

Quickly launch on-demand development build for monorepo.

### `mono r`

Launch restartable release flow for monorepo.

## License

MIT &copy; [ULIVZ](https://github.com/sponsors/ulivz)
npm package: @speedy-js/publish
Description: Shipped a standard `npm publish` workflow with one click.
Latest version: 0.1.4

# @speedy-js/publish

[![npm version](https://badgen.net/npm/v/@speedy-js/publish)](https://npm.im/@speedy-js/publish) 

Shipped a standard `npm publish` workflow with one click.

## Motivation

As a maintainer for a large number of NPM packages, it will be very cumbersome if you manually input the semantic version, generate changelog, git and npm tag etc., this tooling is to help you do all these things with one click.

## Features

- Semantic version selection.
- Create git tag.
- Create remote git tag.
- Create npm tag.
- Generate or update `CHANGELOG.md`

## Install

```bash
npm i @speedy-js/publish -g      # Global installation
npm i @speedy-js/publish -D      # Local installation
```

## Usage

- Create a one-click release flow:

```bash
publish
```

- Display help:

```bash
Usage:
  $ publish

Commands:
    Shipped a standard `npm publish` workflow with one click.

Options:
  --depcost      Generate or update `DEPCOST.md`, defaults to `false`
  --push         Execute git push & tag push to remote git origin, defaults to `true`
  -h, --help     Display this message
  -v, --version  Display version number
```

## Credits

`@speedy-js/publish` wouldn't exist without the inspirations from following projects:

- [conventional-changelog-cli](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-cli)


## License

MIT &copy; [ULIVZ](https://github.com/sponsors/ulivz)