├── .eslintrc ├── .gitignore ├── .travis.yml ├── README.md ├── bower.json ├── build ├── es6-project-boilderplate.js └── es6-project-boilderplate.min.js ├── index.js ├── package.json ├── src ├── bar.js ├── foo.js └── index.js └── test ├── .eslintrc ├── bar.js ├── foo.js ├── index.js └── mocha.opts /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "parser": "babel-eslint", 3 | "env": { 4 | "node": true 5 | }, 6 | "extends": "eslint:recommended" 7 | } 8 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_STORE 2 | npm-debug.log 3 | node_modules/ 4 | coverage/ 5 | lib/ 6 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | sudo: false 3 | node_js: 4 | - "0.12" 5 | script: 6 | - "npm run travis" 7 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # es6-project-boilderplate 2 | [![Build Status](http://img.shields.io/travis/mohayonao/es6-project-boilerplate.svg?style=flat-square)](https://travis-ci.org/mohayonao/es6-project-boilerplate) 3 | [![NPM Version](http://img.shields.io/npm/v/es6-project-boilerplate.svg?style=flat-square)](https://www.npmjs.org/package/es6-project-boilerplate) 4 | [![Bower](http://img.shields.io/bower/v/es6-project-boilerplate.svg?style=flat-square)](http://bower.io/search/?q=es6-project-boilerplate) 5 | [![Dependency Status](http://img.shields.io/david/mohayonao/mml-emitter.svg?style=flat-square)](https://david-dm.org/mohayonao/es6-project-boilerplate) 6 | [![devDependency Status](http://img.shields.io/david/dev/mohayonao/es6-project-boilerplate.svg?style=flat-square)](https://david-dm.org/mohayonao/es6-project-boilerplate#info=devDependencies) 7 | [![License](http://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](http://mohayonao.mit-license.org/) 8 | 9 | 10 | ## description 11 | 12 | - [ぼくのかんがえたさいきょうのES6プロジェクトテンプレート - Qiita](http://qiita.com/mohayonao/items/9b0655b8b4979bffda31) 13 | 14 | ## build 15 | - `npm run build` 16 | - `build-to5` && `build-browser` && `build-minify` 17 | - `npm run build-to5` 18 | - translate ES6 code into ES5 code && store `lib` directory 19 | - `lib` directory is .gitignored, but contains in npm files 20 | - `npm run build-browser` 21 | - build for browser && store `build` directory 22 | - `npm run build-minify` 23 | - compress a code built on `build-browser` 24 | 25 | ## test 26 | - `npm run test` 27 | - test with power-assert 28 | 29 | ## coverage 30 | - `npm run cover` 31 | - generate code coverage reports 32 | 33 | ## lint 34 | - `npm run lint` 35 | 36 | ## travis 37 | - `npm run travis` 38 | - `lint` && `test` 39 | -------------------------------------------------------------------------------- /bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "es6-project-boilerplate", 3 | "description": "the my thought strongest template for es6 project", 4 | "version": "0.0.0", 5 | "authors": [ 6 | "mohayonao " 7 | ], 8 | "homepage": "https://github.com/mohayonao/es6-project-boilerplate", 9 | "ignore": [ 10 | "**/.*", 11 | "node_modules", 12 | "bower_components", 13 | "src" 14 | ], 15 | "keywords": [], 16 | "license": "MIT", 17 | "main": "build/es6-project-boilerplate.js", 18 | "repository": { 19 | "type": "git", 20 | "url": "git://github.com/mohayonao/es6-project-boilerplate.git" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /build/es6-project-boilderplate.js: -------------------------------------------------------------------------------- 1 | (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o", 6 | "bugs": { 7 | "url": "https://github.com/mohayonao/es6-project-boilerplate/issues" 8 | }, 9 | "dependencies": {}, 10 | "devDependencies": { 11 | "babel": "^5.8.23", 12 | "babel-eslint": "^4.1.1", 13 | "browserify": "^11.0.1", 14 | "eslint": "^1.3.1", 15 | "espower-babel": "^3.3.0", 16 | "isparta": "^3.0.4", 17 | "mocha": "^2.3.0", 18 | "power-assert": "^1.0.0", 19 | "uglify-js": "^2.4.24" 20 | }, 21 | "files": [ 22 | "package.json", 23 | "README.md", 24 | "index.js", 25 | "lib" 26 | ], 27 | "homepage": "https://github.com/mohayonao/es6-project-boilerplate/", 28 | "keywords": [], 29 | "licenses": "MIT", 30 | "main": "index.js", 31 | "repository": { 32 | "type": "git", 33 | "url": "https://github.com/mohayonao/es6-project-boilerplate.git" 34 | }, 35 | "scripts": { 36 | "build": "npm run build-to5 && npm run build-browser && npm run build-minify", 37 | "build-browser": "browserify lib --outfile build/es6-project-boilderplate.js", 38 | "build-minify": "uglifyjs build/es6-project-boilderplate.js -o build/es6-project-boilderplate.min.js", 39 | "build-to5": "babel src --out-dir lib", 40 | "cover": "babel-node $(npm bin)/isparta cover --report text --report html _mocha", 41 | "lint": "eslint src test", 42 | "prepublish": "rm -rf lib && npm run lint && npm run test && npm run build-to5", 43 | "test": "mocha --compilers js:espower-babel/guess", 44 | "travis": "npm run lint && npm run test" 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/bar.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | import Foo from "./foo"; 4 | 5 | class Bar extends Foo { 6 | constructor(name) { 7 | super(name); 8 | } 9 | 10 | hello() { 11 | return super.hello() + "?"; 12 | } 13 | } 14 | 15 | export default Bar; 16 | -------------------------------------------------------------------------------- /src/foo.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | class Foo { 4 | constructor(name = "") { 5 | this.name = name; 6 | } 7 | 8 | hello() { 9 | return `hello, ${this.name}!`; 10 | } 11 | } 12 | 13 | export default Foo; 14 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | import Foo from "./foo"; 4 | import Bar from "./bar"; 5 | 6 | export default { Foo, Bar }; 7 | -------------------------------------------------------------------------------- /test/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "globals": { 3 | "describe": true, 4 | "it": true, 5 | "before": true, 6 | "beforeEach": true, 7 | "afterEach": true, 8 | "after": true, 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /test/bar.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | import assert from "power-assert"; 4 | import Foo from "../src/foo"; 5 | import Bar from "../src/bar"; 6 | 7 | describe("Bar", () => { 8 | describe("constructor", () => { 9 | it("(name: string)", () => { 10 | var bar = new Bar("george"); 11 | 12 | assert(bar instanceof Bar); 13 | assert(bar instanceof Foo); 14 | assert(bar.name === "george"); 15 | }); 16 | }); 17 | describe("#hello", () => { 18 | it("(): string", () => { 19 | var bar = new Bar("ringo"); 20 | 21 | assert(bar.hello() === "hello, ringo!?"); 22 | }); 23 | }); 24 | }); 25 | -------------------------------------------------------------------------------- /test/foo.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | import assert from "power-assert"; 4 | import Foo from "../src/foo"; 5 | 6 | describe("Foo", () => { 7 | describe("constructor", () => { 8 | it("(name: string)", () => { 9 | var foo = new Foo("paul"); 10 | 11 | assert(foo instanceof Foo); 12 | assert(foo.name === "paul"); 13 | }); 14 | }); 15 | describe("#hello", () => { 16 | it("(): string", () => { 17 | var foo = new Foo("john"); 18 | 19 | assert(foo.hello() === "hello, john!"); 20 | }); 21 | }); 22 | }); 23 | -------------------------------------------------------------------------------- /test/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | import assert from "power-assert"; 4 | import index from "../src"; 5 | 6 | describe("index", () => { 7 | describe("Foo", () => { 8 | it("getter: function", () => { 9 | assert(typeof index.Foo === "function"); 10 | }); 11 | }); 12 | describe("Bar", () => { 13 | it("getter: function", () => { 14 | assert(typeof index.Bar === "function"); 15 | }); 16 | }); 17 | }); 18 | -------------------------------------------------------------------------------- /test/mocha.opts: -------------------------------------------------------------------------------- 1 | --reporter spec 2 | --recursive 3 | --------------------------------------------------------------------------------