reduxのpackage.jsonにjsnext:main
という項目があっておそらくbabelでコンパイルする前のソースを指定しているっぽい感じだった。
"main": "lib/index.js",
"jsnext:main": "src/index.js",
調べてみるとes6-module-transpiler-npm-resolverがたぶん最初っぽい感じがする。(一番最初のリリースが2014年10月なので、そこまで6to5がはやってない頃かな?)。ES6 moduleで書いているJSファイルを指定するフィールドみたい。
BrowserifyやWebpackはjsnext:main
に対応していないが、上記のes6-module-transpiler-npm-resolverの作者が作っているgrunt-bundle-jsnext-libやrollupというbundlerはjsnext:main
に対応しているっぽい。(rollupのほうはWikiにも書いている)
ググってもTwitterで調べてもあんまり情報が出てこないのでたぶん流行ってない感じがするけど、現状のコンパイル後のものをmain
に指定する方式だとその当時のBabelのバージョンやコンパイルオプションに依存してしまうので、確かにjsnext:main
みたいなのがあってもいいのかなーと思った。
他に情報をお持ちの方がいらっしゃいましたら教えてください〜