- automatic project build by npm and webpack
- postcss and cssnext(http://cssnext.io/) support
- ES6 support
- jade support
- built-in proxy-server for remote backend API access and configuration for using haproxy
- *.js, *.css files validation
- editorconfig
- capistrano
You should have installed Node.js version >= 5. Check version of node by running
$ node -v
You should install npm packages by running command below in project root directory
$ npm i
You should have installed ruby. Check version of ruby by running
$ ruby -v
You should have installed ruby gem bundler by running
$ gem install bundler
You should install gems by running command below in project root directory
$ bundle
Directory / file | Comment |
---|---|
.tmp/ |
directory for temporary build files |
app/ |
all sources of project |
config/ |
deploy configuration |
dist/ |
project build for test server |
node_modules/ |
node.js modules required for project |
prod/ |
project build for production server |
webpack/ |
webpack configuration files |
.coffeelintrc |
coffee linter settings http://www.coffeelint.org/ |
.editorconfig |
formatting settings http://editorconfig.org/ |
.styleelintrc |
css linter settings https://github.com/stylelint/stylelint |
Capfile |
Capistrano configuration file |
Gemfile |
Ruby gems file |
haproxy-config.txt |
proxy-server configuration file |
karma.conf.js |
karma runner settings |
package.json |
node.js packages list |
Part of files isn't described for understanding facilitating. |
app
directory structure:
Directory / file | Comment |
---|---|
files/ |
files, which should be avaliable on site and be without changes |
fonts/ |
font files |
html/ |
html-pages jade templates |
images/ |
images |
scripts/ |
scripts |
└── __test__ |
tests |
└── component |
universal components |
└── packages |
packages |
└── page |
pages components |
└── utils |
utilities |
└── app.js |
application file |
└── main.js |
entry-point file |
There are console commands below for project development
Command | Clarification |
---|---|
npm run dev |
Launch project in development mode with hot reloader. |
npm run test |
Run project tests once. |
npm run tdd |
Launch project in TDD mode. Every code change cause tests run. |
`npm run (dist | prod)` |
`bundle exec cap (testing | production) deploy:setup` |
`bundle exec cap (testing | production) deploy` |