hsu-scripts

1.0.7 • Public • Published

Hsu-scripts

CLI toolbox for common scripts for npm libraries.

Travis Codecov Status npm package npm downloads

prettier license

Install

$ yarn install hsu-scripts --dev
$ yarn install flow-bin eslint prettier --dev

Setup configs

Babel & Eslint

// package.json
{
  "babel": {
    "presets": ["./node_modules/hsu-scripts/babel.js"]
  },
  "eslintConfig": {
    "extends": ["./node_modules/hsu-scripts/eslint.js"]
  }
}

Prettier

// .prettierrc.js
const config = require('hsu-scripts/prettier.config');
module.exports = config;

Usage

// package.json
{
  "scripts": {
    "build": "hsu-scripts build src",
    "test": "NODE_ENV='test' jest",
    "eslint": "eslint ./",
    "flow": "flow",
    "flow-coverage": "hsu-scripts flow --threshold 85",
    "format": "prettier --write '**/*.{js,json,md,css,yaml,yml}' '*.{js,json,md,css,yaml,yml}'"
  }
}

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

Publish

$ npm version patch
$ npm run changelog
git 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.

CHANGELOG

LICENSE

Readme

Keywords

none

Package Sidebar

Install

npm i hsu-scripts

Weekly Downloads

8

Version

1.0.7

License

MIT

Unpacked Size

82 kB

Total Files

81

Last publish

Collaborators

  • evenchange4