包详细信息

hsu-scripts

evenchange4143MIT1.0.7

CLI toolbox for common scripts for npm libraries.

自述文件

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
<summary>logs</summary> bash $ 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

更新日志

Unreleased (2019-02-22)

1.0.6 (2019-02-22)

  • 1.0.6 (c14d052)
  • chore(deps): ncu update & flow-typed update (2c9a9f6)
  • chore(deps): ncu update & use node 11.10.0 (d26f481)
  • chore(deps): update dependency codecov to v3.2.0 (#41) (b6776f8), closes #41
  • chore(deps): update dependency conventional-changelog-cli to v2.0.12 (#45) (2ecaf47), closes #45
  • chore(deps): update dependency eslint to v5.14.0 (#46) (541feab), closes #46
  • chore(deps): update dependency eslint to v5.14.1 (#47) (6078e55), closes #47
  • chore(deps): update dependency flow-bin to v0.93.0 (#42) (48ca835), closes #42
  • chore(deps): update dependency lint-staged to v8.1.4 (#43) (1835b46), closes #43
  • fix(deps): update dependency eslint-plugin-react-hooks to v1.0.2 (#44) (7855188), closes #44
  • fix(deps): update dependency eslint-plugin-react-hooks to v1.2.0 (#48) (665b856), closes #48
  • fix(deps): update dependency yargs to v13 (#40) (36f7baf), closes #40
  • docs(CHANGELOG): release 1.0.5 (0c85c9d)
  • docs(LICENSE): 2019 (da7787e)

1.0.5 (2019-02-11)

  • 1.0.5 (484c1c9)
  • chore(deps): update dependency eslint to v5.13.0 (#36) (3fd1fc1), closes #36
  • chore(deps): update dependency flow-bin to v0.92.1 (#35) (9a2cf99), closes #35
  • chore(deps): update dependency jest to v24.1.0 (#38) (54cca38), closes #38
  • chore(deps): update dependency lint-staged to v8.1.3 (#37) (df1eb6b), closes #37
  • chore(deps): update dependency prettier to v1.16.4 (#34) (6028a31), closes #34
  • chore(node): use node 11.9.0 & yarn 1.13.0 (bdf2c2b)
  • fix(deps): update dependency eslint-plugin-react-hooks to v1 (#39) (47a1eb3), closes #39
  • docs(CHANGELOG): release 1.0.4 (9259fcd)

1.0.4 (2019-01-31)

  • 1.0.4 (f546d32)
  • Revert "refactor(CLI): extract createCLI function (#33)" (fd41090), closes #33
  • docs(CHANGELOG): release 1.0.3 (5738d04)

1.0.3 (2019-01-31)

  • 1.0.3 (925b47b)
  • refactor(CLI): extract createCLI function (#33) (6dec8bc), closes #33
  • chore(deps): update dependency eslint to v5.12.1 (#23) (9da70d8), closes #23
  • chore(deps): update dependency flow-bin to v0.90.0 (#20) (7ca97ec), closes #20
  • chore(deps): update dependency flow-bin to v0.91.0 (#22) (6aff384), closes #22
  • chore(deps): update dependency jest to v24.0.0 (#28) (7b46577), closes #28
  • chore(deps): update dependency jest to v24.0.0-alpha.10 (#18) (fdc44cd), closes #18
  • chore(deps): update dependency jest to v24.0.0-alpha.11 (#19) (22b0423), closes #19
  • chore(deps): update dependency jest to v24.0.0-alpha.12 (#21) (b59f9d1), closes #21
  • chore(deps): update dependency jest to v24.0.0-alpha.13 (#26) (6ca17d9), closes #26
  • chore(deps): update dependency jest to v24.0.0-alpha.15 (#27) (bb60ff5), closes #27
  • chore(deps): update dependency lint-staged to v8.1.1 (#30) (5604e2c), closes #30
  • chore(deps): update dependency prettier to v1.16.0 (#24) (604d596), closes #24
  • chore(deps): update dependency prettier to v1.16.1 (#25) (8842445), closes #25
  • chore(deps): update dependency prettier to v1.16.2 (#31) (2c713b3), closes #31
  • fix(deps): update dependency eslint-config-prettier to v4 (#29) (3466488), closes #29
  • docs(CHANGELOG): release 1.0.2 (860cc1f)
  • docs(README): add graphql.macro to example (c2bd845)
  • docs(README): add https://github.com/evenchange4/michaelhsu (0103dee)
  • docs(README): add react-intl.macro to example (a5c8be7)

1.0.2 (2019-01-08)

  • 1.0.2 (3efaa72)
  • fix(eslint): wrong dependency hotfix (aa80475)
  • docs(CHANGELOG): release 1.0.1 (24d5c9b)

1.0.1 (2019-01-08)

  • 1.0.1 (645a0df)
  • feat(eslint): add eslint-plugin-react-hooks rules (#17) (d42ba5c), closes #17
  • chore(deps): update dependency eslint to v5.12.0 (#16) (fbecacc), closes #16
  • docs(CHANGELOG): release 1.0.0 (844fbb8)

1.0.0 (2019-01-03)

  • 1.0.0 (be25ec5)
  • fix(eslint): default-props-match-prop-types not working with flow (#15) (caa18d6), closes #15
  • chore: update changelog tools params (5c7cad4)
  • chore: use node 11.5.0 (f278d1e)
  • chore(deps): update dependency husky to v1.3.1 (#14) (d42e450), closes #14
  • chore(ncu): ncu update & use node 11.6.0 (20316cd)
  • docs(CHANGELOG): release 0.3.0 (f333345)
  • docs(README): update release flow (5799c7f)

0.3.0 (2018-12-20)

  • 0.3.0 (6a97861)
  • chore: ncu update (2aed6bd)
  • chore: ncu update (eb7dcce)
  • chore(changelog): switch to conventional-changelog-cli (#12) (20994ec), closes #12
  • chore(deps): update dependency @babel/node to v7.2.2 (#9) (b58792f), closes #9
  • chore(deps): update dependency husky to v1.3.0 (#10) (95d487d), closes #10
  • feat: upgrade jest & remove useless babel library BREAKING (f4918a4), closes #11
  • docs(CHANGELOG): release 0.2.3 (ec38750)

0.2.3 (2018-12-12)

  • 0.2.3 (4b55292)
  • test: add tests & use node 11.4.0 (#6) (7cb3876), closes #6
  • chore: bump babel-plugin-sc version (4cb4c4d)
  • chore(deps): update dependency flow-bin to v0.88.0 (#5) (ab5ec1e), closes #5

0.2.2 (2018-12-10)

  • 0.2.2 (c421813)
  • feat(flow): add @flow annotation check (#4) (f71a3a8), closes #4
  • docs(CHANGELOG): release 0.2.1 (37036ba)
  • docs(README): add examples (6c1c728)

0.2.1 (2018-12-10)

  • 0.2.1 (af0faec)
  • chore: update flow scripts (d7ab25b)
  • chore(deps): update dependency eslint to v5.10.0 (#3) (70f6957), closes #3
  • docs(build): update example (812e777)
  • docs(CHANGELOG): release 0.2.0 (a198726)
  • docs(README): add imagemin-simple to example (1efda08)
  • docs(README): typo flow-bin (291cba1)
  • refactor: rename commands -> interfaces (d1d9b52)

0.2.0 (2018-12-06)

0.1.1 (2018-12-05)

0.1.0 (2018-12-05)

0.0.4 (2018-12-05)

0.0.3 (2018-12-05)

0.0.2 (2018-12-05)

0.0.1 (2018-12-05)