3.0.6 • Published 9 months ago

@js-lib/cli v3.0.6

Weekly downloads
12
License
MIT
Repository
github
Last release
9 months ago

jslib-base

npm.io license npm NPM downloads Percentage of issues still open example workflow

English | 简体中文

The best JS|TS third-party library scaffold, quickly setup the basic framework of a new library in 10 seconds.

Libraries based on jslib-base can be shared on the jsmini platform.

:star: Features

  • Command-line tool for quick creation and seamless upgrades
  • Supports writing source code in ES6+ or TypeScript, and compiles to generate production code
  • Auto-injection of third-party dependencies (automatically removes unnecessary code in third-party dependencies through tree shaking)
  • Supports multiple environments (native browser, AMD, commonjs, Webpack, Rollup, vite, fis, Node.js, etc.)
  • Integrated code style checker (eslint + prettier + husky)
  • Integrated unit test environment (mocha)
  • Integrated test coverage report (istanbul+nyc)
  • Integrated continuous integration tool github action
  • Integrated with jsmini

:rocket: User Guide

To create a new project, it is recommended to use Node.js version 18 or higher.

$ npx @js-lib/cli new mylib
# Interactive queries, input project info
$ cd mylib
$ npm i

To update the project, just execute the following command in the project root directory.

$ npx @js-lib/cli update

For old projects, you can't directly execute the update command, you can first initialize a config file.

$ npx @js-lib/cli new -c

Directory Overview

.
├── demo Usage demo
├── dist Compiled out code
├── doc Project documents
├── src Source code directory
├── test Unit tests
├── CHANGELOG.md Change log
└── TODO.md To-do features

Common command scripts

$ npm run lint
$ npm run test
$ npm run build
$ npm run release
$ npm publish

Contribution Guide

If you only want to modify the library code generated by the CLI, you can directly edit the template code, which is simpler.

After merging, I will migrate the template to the CLI. The template repository is as follows:

This project uses lerna to manage multiple plugins, common lerna commands are:

$ npx lerna init # Initialization
$ npx lerna create @js-lib/todo # Create a package
$ npx lerna add yargs --scope=@js-lib/cli # Install dependencies for a package
$ npx lerna list # List all the packages
$ npx lerna bootstrap # Install all dependencies
$ npx lerna link # Create all links
$ npx lerna changed # List the packages to be updated in the next release
$ npx lerna publish # Release with tag, upload to git, upload to npm

Contributors

contributors

Change Log

CHANGELOG.md

TODO

TODO.md

Current Users

3.0.3-alpha.0

10 months ago

3.0.4-alpha.0

10 months ago

3.0.0-alpha.0

10 months ago

3.0.4

10 months ago

3.0.2

10 months ago

3.0.1

10 months ago

3.0.6

9 months ago

3.0.5

9 months ago

3.0.0

10 months ago

1.7.0

2 years ago

2.3.0

2 years ago

2.2.1

2 years ago

2.2.0

2 years ago

2.3.2

2 years ago

2.2.3

2 years ago

2.3.1

2 years ago

2.2.2

2 years ago

2.3.4

2 years ago

2.2.5

2 years ago

2.3.3

2 years ago

2.2.4

2 years ago

2.2.7

2 years ago

2.2.6

2 years ago

2.1.0

2 years ago

2.0.0

2 years ago

1.6.0

6 years ago

1.5.1

6 years ago

1.5.0

6 years ago

1.4.2

6 years ago

1.4.1

6 years ago

1.4.0

6 years ago

1.3.0

6 years ago

1.2.0

6 years ago

1.1.2

6 years ago

1.0.0

6 years ago

0.1.0

6 years ago