Hsu-scripts
CLI toolbox for common scripts for npm libraries.
Install
$ yarn install hsu-scripts --dev$ yarn install flow-bin eslint prettier --dev
Setup configs
Babel & Eslint
// package.json
Prettier
// .prettierrc.jsconst config = ;moduleexports = config;
Usage
// package.json
Build
$ hsu-scripts build src
logs
$ npm run build > hsu-scripts build src > rimraf es lib> Done > NODE_ENV='cjs' babel src --no-babelrc --config-file /hsu-scripts/.babelrc --out-dir lib --ignore **tests**,**/\*.test.js,**/\*.example.js> Successfully compiled 13 files with Babel. > NODE_ENV='es' babel src --no-babelrc --config-file /hsu-scripts/.babelrc --out-dir es --ignore **tests**,**/\*.test.js,**/\*.example.js> Successfully compiled 13 files with Babel. > flow-copy-source -i **tests** -i **/\*.test.js -i **/\*.example.js src lib> Done > flow-copy-source -i **tests** -i **/\*.test.js -i **/\*.example.js src es> Done
Flow
$ npm run flow-coverage
API
hsu-scripts -h
hsu-scripts <command> Commands: hsu-scripts build The babel build command. hsu-scripts flow The flow-coverage-report command. Options: -h, --help Show help [boolean] -v, --version Show version number [boolean] For more information go to https://github.com/evenchange4/hsu-scripts
hsu-scripts build -h
Usage: hsu-scripts build <pattern> [options]<pattern> Glob pattern to specify files. Options: --es-dir Output es module directory. [string] [default: "es"] --cjs-dir Output commonjs module directory. [string] [default: "lib"] --ignore The list of glob paths to **not** compile [array] [default: ["__tests__","**/*.test.js","**/*.example.js"]] -h, --help Show help [boolean] Examples: hsu-scripts build src Simple example hsu-scripts build src --es-dir esm Custom es module directory hsu-scripts build src --cjs-dir 'cjs' Custom commonjs module directory hsu-scripts build src --ignore '__specs__' '**/*.spec.js'
hsu-scripts flow -h
Usage: hsu-scripts flow [options] Options: --concurrent-files [number] [default: 5] --include-glob [array] [default: ["**/*.js"]] --exclude-glob [array] [default: ["node_modules/**","public/**",".next/**","coverage/**","storybook-static/**", "flow-typed/**","lib/**","es/**"]] --type [array] [default: ["text"]] --threshold [number] [default: 90] -h, --help Show help [boolean] Examples: hsu-scripts flow Simple example hsu-scripts flow --threshold 75 Custom threshold value For more information go to https://github.com/rpl/flow-coverage-report
Development
- node 11.10.0
- yarn 1.13.0
$ yarn install --pure-lockfile
Test
Use tools to build/flow itself.
$ yarn run build$ yarn run flow-coverage$ yarn run test:watch$ yarn run format$ yarn run eslint
Example library
- https://github.com/evenchange4/hsu-scripts
- https://github.com/evenchange4/react-overlay-pack
- https://github.com/evenchange4/remark-utils
- https://github.com/evenchange4/imagemin-simple
- https://github.com/evenchange4/react-input-files
- https://github.com/evenchange4/react-dnd-dropzone
- https://github.com/evenchange4/apollo-link-log
- https://github.com/Mediatek-Cloud/mcs-ui
- https://github.com/evenchange4/michaelhsu
- https://github.com/evenchange4/graphql.macro
- https://github.com/evenchange4/react-intl.macro
Publish
$ npm version patch$ npm run changeloggit commit & push
CONTRIBUTING
- ⇄ Pull requests and ★ Stars are always welcome.
- For bugs and feature requests, please create an issue.
- Pull requests must be accompanied by passing automated tests.