@qoi/cli
Version:
qoi ------------ Lightweight tooling for your javascript and typescript
91 lines (81 loc) • 3.71 kB
Markdown
qoi
------------
Lightweight tooling for your javascript and typescript
Requirements
------------
* Node 16.x
* Git Bash Terminal or any Bash terminal
Installation
------------
```
npm install --save-dev @qoi/{cli,build,test}
```
CLI Options
------------
### Qoi
TypeScript and ES module execution engine
```
Usage:
$ qoi [file]
Options:
-h, --help Display this message
-v, --version Display version number
```
### Build
Command Line Bundler or packager for typescript and javascript
```
Usage:
$ qoi build [dir]
Options:
-c, --config <file> [string] use specified config file
-f, --format <format> [string] Specifies the format of the generated bundle (default: 'es')
--preset <preset> [preset] base configuration for your application
--outDir <outDir> [string] output directory (default: dist)
--external <external> [string] Specify external dependencies
--resolve <resolve> [boolean] resolve external dependencies
--module [boolean] module should be has extension of (.mjs)
--minify [boolean] enable/disable minification(default: false)
--sourcemap [boolean] output source maps for build (default: false)
--emptyOutDir [boolean] force empty outDir when it's outside of root
--dts [boolean] Generates corresponding .d.ts file (default: false)
--link [boolean] symlink your outDir as npm package (default: false)
-h, --help Display this message
-v, --version Display version number
```
### Test
Command Line testing tool for nodejs and browser base
```
Usage:
$ qoi test [...file]
Options:
-t, --timeout <timeout> [number] Specify test timeout threshold (in milliseconds) [default: 2000]
--threshold <threshold> [string] Enable the thresholds
--include-dir [string] Directory folder source (default: src)
--check-coverage Enable coverage (default false)
-h, --help Display this message
-v, --version Display version number
```
### Versions
| Package | Description | version |
| ------------------- | ------ | ------
| @qoi/cli | Command line | 0.2.2
| @qoi/build | Bundler or packager for typescript and javascript | 0.2.2
| @qoi/fs | Async Nodejs FileSystem | 0.2.1
| @qoi/register | Transpile your esm javascript and typescript on the fly | 0.2.2
| @qoi/test | Testing tool for nodejs and browser base | 0.1.0
| @qoi/types | all types of qoi | 0.0.8
<br />
### Common issues
* When using `Powershell` add `git bash` PATH in your `System environment variables`
* If you encounter error when using windows, you should open `powershell` or `git bash` terminal as `Administrator`
```
[Error: EPERM: operation not permitted, symlink <source file> -> <destination file>
```
* swc paths doesnt work with symlink
* resolving `@rollup/plugin-commonjs` will cause circular dependency with `glob` package
```
/// Circular dependency: node_modules/glob/glob.js -> node_modules/glob/sync.js -> node_modules/glob/glob.js
https://github.com/isaacs/node-glob/issues/365
```
* when using Windows OS and will support tsconfig paths, you need to install 2 npm packages
* `npm i typescript-paths rollup-plugin-tsconfig-paths --save-dev` or `yarn add typescript-paths rollup-plugin-tsconfig-paths --dev`