@js-lib/cli v3.0.6
jslib-base
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 iTo update the project, just execute the following command in the project root directory.
$ npx @js-lib/cli updateFor old projects, you can't directly execute the update command, you can first initialize a config file.
$ npx @js-lib/cli new -cDirectory 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 featuresCommon command scripts
$ npm run lint
$ npm run test
$ npm run build
$ npm run release
$ npm publishContribution 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 npmContributors
Change Log
TODO
Current Users
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
9 months ago
9 months ago
10 months ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago