Ready to go ES6 project starter with Tests and Coverage.
- NodeJs
- Gulp
git clone https://github.com/iondrimba/es6starterproject.git
cd es6starterproject
npm install
gulp
Reduce time spent by developers looking to work today with all the new ES6 features, it also includes Tests and Coverage. I chose to leave it simple as possible (no MV* Framework dependency).
- ES6 ready
- SemVer (Automated package and files versioning)
- Router system with pushstate (page.js)
- Templating engine (handlebars.js)
- Tests (Jasmine + karma)
- Coverage (Coveralls)
- CI (Travis)
- Module system CommonJs (browserify)
In order to test if Pushstate is working you have to host it on apache so it can reads the .htaccess file
- $ npm test
- ES6 transpile via Babel
- BrowserSync
- Browserify
- Karma
- SemVer
- Jasmine
- Code Coverage
- Sass
- ESLint
- Scss Lint (Requires Ruby and scss-lint)
- Imagemin (images optimization)
- Uglify
- Watch
- Html-Min
- Post-Css (autoprefixer)
- gulp (default)
- gulp deploy (run tasks without browser-sync and watch)
- gulp optimize (run optimization tasks)
- gulp bump-patch / minor / major (update files with version number)
The bump-versions tasks should be executed after your deploy and optimize task. The task will:
- Rename the file app.js to app.version.js
- Rename the file app.css to app.version.css
- Will update the index.html with the new file references.
├── public/
│ ├─── css/
│ ├─── js/
│ ├─── images/
│ ├─── .htaccess
│ └─── index.html
│
│── spec/(jasmine spec files)
│
│── src/
│ ├── images/
│ ├── scripts/
│ │ ├─── core/
│ │ ├─── models/
│ │ ├─── partials/
│ │ ├─── views
│ │ └─── app.js
│ │
│ ├── scss/
│ │ ├─── components/
│ │ ├─── partials/
│ │ ├─── views/
│ │ └─── app.scss
│ │
│ └── templates/
│
│── tasks/
│
│── .gitignore
│── .travis.yml
│── gulpfile.js
│── karma.conf.js
│── LICENSE
│── lint.yml
│── package.json
└── README.md