yo_waka's blog

最近のnpmライブラリ書くときのpackage.json

Node.js Advent Calendar 2015 12日目の記事です

最近はES2015で書き出すのが普通になってきたので、初期構成がだいたい似たような感じになってる。

{
  "name": "<NAME>",
  "description": "<DESCRIPTION>",
  "version": "0.1.0",
  "repository": {
    "type": "git",
    "url": "<GITHUB URL">
  },
  "main": "./lib/index.js",
  "files: ["lib"],
  "directories": {
    "test": "test"
  },
  "devDependencies": {
    "babel-core": "*",
    "babel-plugin-transform-es2015-modules-commonjs": "*",
    "babel-preset-es2015": "*",
    "mocha": "*",
    "power-assert": "*"
  }
}

srcにES2015で書いて、Babelでlib下に吐き出す。
filesにlibだけを書いておけば成果物のサイズが小さくなるのでおすすめ。

.gitignoreにはlibを指定しておき、npmで公開するもの(ES5)とgithubで公開するもの(ES2015)は分ける。

また、テストはmochaの場合、最近はbabel-coreがあればES2015でテストを書くことが可能になっている。

"script": {
  "test": "mocha --require babel-core/register --recursive"
}
@yo_waka

Software Engineer. Joined at freee K.K. since 2013. I like Ruby and JavaScript, but I really like Java.