JSPM

  • Created
  • Published
  • Downloads 24
  • Score
    100M100P100Q67570F
  • License MIT

Some collection scripts by myself

Package Exports

  • mora-scripts
  • mora-scripts/hooks/scripts/runner
  • mora-scripts/hooks/scripts/runner.js
  • mora-scripts/index.js
  • mora-scripts/libs/fs/config
  • mora-scripts/libs/fs/config.js
  • mora-scripts/libs/fs/exists
  • mora-scripts/libs/fs/exists.js
  • mora-scripts/libs/fs/findup
  • mora-scripts/libs/fs/findup.js
  • mora-scripts/libs/fs/inject
  • mora-scripts/libs/fs/inject.js
  • mora-scripts/libs/fs/mkdirp
  • mora-scripts/libs/fs/mkdirp.js
  • mora-scripts/libs/fs/ospath
  • mora-scripts/libs/fs/ospath.js
  • mora-scripts/libs/fs/rm
  • mora-scripts/libs/fs/rm.js
  • mora-scripts/libs/fs/walk
  • mora-scripts/libs/fs/walk.js
  • mora-scripts/libs/lang/DotProp
  • mora-scripts/libs/lang/DotProp.js
  • mora-scripts/libs/lang/Events
  • mora-scripts/libs/lang/Events.js
  • mora-scripts/libs/lang/assign
  • mora-scripts/libs/lang/assign.js
  • mora-scripts/libs/lang/escapeRegExp
  • mora-scripts/libs/lang/escapeRegExp.js
  • mora-scripts/libs/lang/formatDate
  • mora-scripts/libs/lang/formatDate.js
  • mora-scripts/libs/lang/isObject
  • mora-scripts/libs/lang/isObject.js
  • mora-scripts/libs/storage/Config
  • mora-scripts/libs/storage/Config.js
  • mora-scripts/libs/storage/FileStorage
  • mora-scripts/libs/storage/FileStorage.js
  • mora-scripts/libs/storage/Storage
  • mora-scripts/libs/storage/Storage.js
  • mora-scripts/libs/sys
  • mora-scripts/libs/sys/clog
  • mora-scripts/libs/sys/clog.js
  • mora-scripts/libs/sys/error
  • mora-scripts/libs/sys/error.js
  • mora-scripts/libs/sys/index.js
  • mora-scripts/libs/sys/info
  • mora-scripts/libs/sys/info.js
  • mora-scripts/libs/sys/isWin
  • mora-scripts/libs/sys/isWin.js
  • mora-scripts/libs/sys/success
  • mora-scripts/libs/sys/success.js
  • mora-scripts/libs/sys/warn
  • mora-scripts/libs/sys/warn.js
  • mora-scripts/libs/sys/xlog
  • mora-scripts/libs/sys/xlog.js
  • mora-scripts/libs/tty/cli
  • mora-scripts/libs/tty/cli.js
  • mora-scripts/libs/tty/isCommandExists
  • mora-scripts/libs/tty/isCommandExists.js
  • mora-scripts/libs/tty/shell
  • mora-scripts/libs/tty/shell.js
  • mora-scripts/libs/tty/table
  • mora-scripts/libs/tty/table.js
  • mora-scripts/rewrite/typescript
  • mora-scripts/rewrite/typescript.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (mora-scripts) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

mora-scripts

Greenkeeper badge js-standard-style Build Status Build status Coverage Status

TODO

  • 生成单独的 package,以 ms- 开头,如 ms-fs-exists
  • 统一 new Error 中的字符串参数首字母要大写,且最后不要带标点符号

cli

run

pkg. 开头的变量会递归的循环解析成对应的 package.json 中的值

run 后面使用 --prefix=xxx 可以修改默认的 pkg 前缀

//...
"scripts": {
  "build": "run NODE_ENV=development webpack -p",
  "release": "run --prefix % git commit -am 'release %.version' && run git tag %.version"
}
//...

主要参考了下面这些组件的功能

puts

用于在命令行上输出颜色,如

# "Are you ok" will output in red color
puts '%cAre you ok' 'red'   

更多详情参考文件 libs/color.js

另外还要三个用于输出颜色的命令没有放在 cli 目录下,也没放到 package.json 中的 bin 中,

主要是因为在命令行上使用只是它们的次要功能

hooks

  • post-merge 可以在每次从远端拉取代码时自动根据 package.json 文件是否有更新而执行 npm install
  • commit-msg 检查提交的信息是否符合规范,规范:<type>(<scope>): <subject>
  • pre-push 提交前检查脚本中是否有 lint 和 test 命令,有的话便执行它

主要参考了下面这些组件的功能

install

npm install mora-scripts --save-dev

config

package.json

...
"config": {
  "hooks": {
    "post-merge": "node ~/mora-scripts/hooks/post-merge.js"
  }
}
...

or

"config": {
  "hooks": {
    "commit-msg": true,
    "post-merge": true
  }
}

or

"config": {
  "hooks": {
    "commit-msg": {
      "command": "node ~/mora-scripts/hooks/commit-msg.js",
      "warnOnFail": false,
      "showHelp": true,
      "maxSubjectLength": 100,
      "subjectPattern": ".+",
      "types": ["feat", "fix", "docs", "style", "refactor", "perf", "test", "chore", "revert"]
    }
  }
}

js

promise-extra

Add Promise.prototype.finally and Promise.try functions.