https://github.com/iondrimba/es6starterproject
ES6 startup project
https://github.com/iondrimba/es6starterproject
browserify coverage es6 gulp jasmine karma pushstate scss-lint semver travis
Last synced: about 1 month ago
JSON representation
ES6 startup project
- Host: GitHub
- URL: https://github.com/iondrimba/es6starterproject
- Owner: iondrimba
- License: mit
- Created: 2016-07-28T22:30:00.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2018-04-01T19:48:43.000Z (about 7 years ago)
- Last Synced: 2025-02-13T04:46:41.128Z (3 months ago)
- Topics: browserify, coverage, es6, gulp, jasmine, karma, pushstate, scss-lint, semver, travis
- Language: JavaScript
- Size: 1.23 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ES6 Starter Project
Ready to go ES6 project starter with Tests and Coverage.
[](https://travis-ci.org/iondrimba/es6starterproject) [](https://ci.appveyor.com/project/iondrimba/es6starterproject/branch/master) [](https://coveralls.io/github/iondrimba/es6starterproject?branch=master) [](https://codeclimate.com/github/iondrimba/es6starterproject/maintainability)
#### Requires:
* NodeJs
* Gulp## Installation
```sh
git clone https://github.com/iondrimba/es6starterproject.git
cd es6starterproject
npm install
gulp
```### [Live demo]
#### GOAL:
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).#### Features:
* 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#### Testing:
* $ npm test
#### Includes:
* 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 Tasks:
* 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)#### Semantic Versioning:
The bump-versions tasks should be executed after your deploy and optimize task.
The task will:1. Rename the file app.js to app.version.js
2. Rename the file app.css to app.version.css
3. Will update the index.html with the new file references.#### Structure:
````bash
├── 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
````[scss-lint]:
[Live demo]: