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 |
Common issues
- When using
Powershell
addgit bash
PATH in yourSystem environment variables
- If you encounter error when using windows, you should open
powershell
orgit bash
terminal asAdministrator
[Error: EPERM: operation not permitted, symlink <source file> -> <destination file>
- swc paths doesnt work with symlink
- resolving
@rollup/plugin-commonjs
will cause circular dependency withglob
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
oryarn add typescript-paths rollup-plugin-tsconfig-paths --dev
-