ES6 の Project Skeleton (6to5 + browserify + power-assert) を作ってみた
Posted:Updated:
かめ板 es6-Kameita
es6-Kameita は ECMAScript 6 で JavaScript ライブラリを開発するためのプロジェクトスケルトン(テンプレート)です。初期設定はブラウザ向けですが、Nodeモジュールにも対応します。
6to5 でトランスパイルされたコードを Browserify でビルドし、mocha + power-assert でテストを実行します。Browserify を採用しているため、初期状態では bower に依存せず npm を活かしています。
経緯
6to5/6to5 がリリースされて以来、しばらく手元で ES6 を使い続けていたので、ぼちぼち開発の構成を固めてしまいたいなと思った次第。
最初はGianlucaGuarini/es6-project-starter-kit を fork して何とかしようと思いましたが、RequireJS でアレしてる時点から今の気分と合わなかったのでahomu/Claylump の構成をスケルトン化しました。
使い方
そんなに機能を入れていない (gulpfile.js を過度に拡張したくなかった ) ので、必要な機能は自分で足すスタイル。
インストール
git clone https://github.com/ahomu/es6-Kameita.git ./your-projectcd ./your-projectrm -rf .gitnpm install
主要コマンド
# ビルドnpm run build# 開発モード (watch的な)npm run devel# テスト実行npm test
依存ライブラリ
es6-Kameita は次のライブラリ群に依存しています。
- 6to5/6to5
- substack/node-browserify
- gulpjs/gulp
- airportyh/testem
- mochajs/mocha
- twada/power-assert
- cjohansen/Sinon.JS
gulp を利用していますが、基本的なインターフェースはnpm run * にまとめています。 正直、6to5+ browserify+power-assert の組み合わせ方にこなれていない感じなので、奇特な方のPRお待ちしています。
/* index.js */import runtime from '6to5/runtime';import polyfill from '6to5/browser-polyfill';/* part of gulpfile.js */return browserify(filename, { standalone : standaloneName, debug : true, noParse : [require.resolve('6to5/browser-polyfill')] }) .transform(to5ify.configure({ experimental : false, runtime : true })) .bundle()6to5/runtime.js と6to5/browser-polyfill.js をいいかんじに混ぜ込んで browserify ビルドできる感じになったのは満足してます。gulpfile.js に 6to5 の experimental と runtime オプションも露出させてあります。
testem 抜きたい気がするけど、karma もウーンって感じです。coverage ツールとの統合も課題。
なぜ 6to5 なのか
Traceur requires quite a bulky runtime (~75KB) and produces quite verbose code. While this can be trimmed down by selectively building the runtime, it's an unneccesary step when a large runtime can be eliminated entirely.6to5 · Differences
主な比較対象はやはり Traceur になる気がしますが、6to5 · Differences に書いてることが理由になりえるのかと思います。6to5 は出力コードがクリーンで良いですね。
あと最初のほうにFix typo writable by ahomu · Pull Request #59 · 6to5/6to5 でわずかながら貢献しましたので!
実はTraceurをまともに使ったことはなくて、出力結果みて引いてしまっただけなので何卒免責(・x・)
なぜ power-assert なのか
power-assertは紳士のたしなみ
— あほむ@禁酒という禊 (@ahomu)December 16, 2014はい。
よかったら触ってみてください
くだしあ! ES6使ってみよう系はこちらもおすすめ。
ちなみに、かめ板とは陶芸.com/ろくろ/カメ板・芯出し用具 みたいなものらしいです
Author

ahomuAyumu Sato
KINTOテクノロジーズ株式会社
Related
Latest
Archives
- 2025年1月エントリー数2件
- 2024年8月エントリー数1件
- 2024年7月エントリー数2件
- 2024年6月エントリー数1件
- 2024年3月エントリー数1件
- 2024年2月エントリー数2件
- 2024年1月エントリー数2件
- 2023年11月エントリー数3件
- 2023年9月エントリー数2件
- 2023年7月エントリー数1件
- 2022年1月エントリー数1件
- 2021年8月エントリー数2件
- 2021年6月エントリー数3件
- 2020年9月エントリー数1件
- 2020年7月エントリー数1件
- 2020年4月エントリー数2件
- 2020年3月エントリー数1件
- 2018年12月エントリー数1件
- 2018年9月エントリー数2件
- 2018年5月エントリー数5件
- 2018年4月エントリー数1件
- 2018年3月エントリー数1件
- 2018年2月エントリー数4件
- 2017年11月エントリー数2件
- 2017年7月エントリー数1件
- 2017年6月エントリー数4件
- 2017年5月エントリー数4件
- 2016年12月エントリー数4件
- 2016年11月エントリー数5件
- 2016年9月エントリー数5件
- 2016年8月エントリー数2件
- 2016年7月エントリー数7件
- 2016年6月エントリー数4件
- 2016年5月エントリー数5件
- 2016年3月エントリー数1件
- 2016年2月エントリー数4件
- 2016年1月エントリー数1件
- 2015年12月エントリー数4件
- 2015年10月エントリー数1件
- 2015年9月エントリー数1件
- 2015年7月エントリー数2件
- 2015年6月エントリー数8件
- 2015年5月エントリー数9件
- 2015年4月エントリー数2件
- 2015年3月エントリー数2件
- 2015年2月エントリー数9件
- 2015年1月エントリー数2件
- 2014年12月エントリー数9件
- 2014年11月エントリー数8件
- 2014年10月エントリー数7件
- 2014年9月エントリー数4件
- 2014年8月エントリー数7件
- 2014年7月エントリー数4件
- 2014年6月エントリー数6件
- 2014年5月エントリー数2件
- 2014年4月エントリー数2件
- 2014年2月エントリー数6件
- 2014年1月エントリー数6件
- 2013年12月エントリー数7件
- 2013年10月エントリー数5件
- 2013年9月エントリー数3件
- 2013年8月エントリー数2件
- 2013年7月エントリー数1件
- 2013年6月エントリー数2件
- 2013年4月エントリー数3件
- 2013年3月エントリー数2件
- 2013年2月エントリー数3件
- 2013年1月エントリー数5件
- 2012年12月エントリー数13件
- 2012年11月エントリー数7件
- 2012年10月エントリー数4件
- 2012年9月エントリー数7件
- 2012年8月エントリー数5件
- 2012年7月エントリー数7件
- 2012年6月エントリー数2件
- 2012年5月エントリー数6件
- 2012年4月エントリー数5件
- 2012年3月エントリー数18件
- 2012年2月エントリー数10件
- 2012年1月エントリー数4件
- 2011年12月エントリー数7件
- 2011年11月エントリー数4件
- 2011年10月エントリー数13件
- 2011年9月エントリー数3件
- 2011年8月エントリー数4件
- 2011年7月エントリー数10件
- 2011年6月エントリー数13件
- 2011年5月エントリー数14件
- 2011年4月エントリー数10件
- 2011年3月エントリー数12件
- 2011年2月エントリー数14件
- 2011年1月エントリー数11件
- 2010年12月エントリー数6件
- 2010年11月エントリー数19件
- 2010年10月エントリー数15件
- 2010年9月エントリー数16件
- 2010年8月エントリー数13件
- 2010年7月エントリー数7件
- 2010年6月エントリー数2件
- 2010年5月エントリー数11件
Tags
- #a-blogcmsエントリー数39件
- #AdventCalendarエントリー数13件
- #Analyticsエントリー数5件
- #Androidエントリー数8件
- #apacheエントリー数8件
- #APIエントリー数10件
- #Appエントリー数9件
- #Backboneエントリー数7件
- #CentOSエントリー数8件
- #CMSエントリー数6件
- #CoffeeScriptエントリー数5件
- #CSSエントリー数14件
- #CSS3エントリー数9件
- #CSSNiteエントリー数5件
- #ES6エントリー数5件
- #Firefoxエントリー数8件
- #Gitエントリー数6件
- #Googleエントリー数12件
- #Gruntエントリー数9件
- #HTMLエントリー数5件
- #HTML5エントリー数14件
- #HTTPエントリー数6件
- #InternetExplorerエントリー数5件
- #iOSエントリー数9件
- #iPadエントリー数11件
- #iPhoneエントリー数11件
- #JavaScriptエントリー数94件
- #jQueryエントリー数35件
- #Macエントリー数18件
- #Mobileエントリー数18件
- #nginxエントリー数6件
- #nodeJSエントリー数7件
- #npmエントリー数6件
- #phpエントリー数39件
- #PhpStormエントリー数7件
- #Polymerエントリー数8件
- #Reactエントリー数6件
- #Rubyエントリー数7件
- #Twitterエントリー数12件
- #WCANエントリー数12件
- #WEB+DB_PRESSエントリー数6件
- #WebComponentsエントリー数9件
- #Windows7エントリー数7件
- #Wordpressエントリー数6件
- #おいしいエントリー数33件
- #おしらせエントリー数5件
- #さくらのVPSエントリー数15件
- #アクセシビリティエントリー数9件
- #イベントエントリー数23件
- #パフォーマンスエントリー数20件
- #フロントエンドエントリー数5件
- #モジュールエントリー数7件
- #モブログエントリー数5件
- #レシピエントリー数11件
- #就職活動エントリー数5件
- #屋久島エントリー数8件
- #旅行エントリー数46件
- #温泉エントリー数9件
- #読書感想文エントリー数13件
- #酒エントリー数6件
- #鹿児島エントリー数5件