Features:
- Full JS & HTML (with Jade) / SASS / SCSS automatically compiled on save
- HTML5BP, Modernizr, and all the goodness of initializr
- Compass-Twitter-Bootstrap integration
- auto-reload during development saves you from manually refreshing the page
- Javascript / CSS minification for production
- karma integration for unit & e2e tests
- Bootstrap integration with themes & font awesome.
- Original angular-brunch-seed
- Livescript by Chia-liang Kao
- [angular-brunch-true-north: CoffeeScript + Jade] (https://github.com/scoarescoare/angular-brunch-true-north)
- [angular-brunch-seed-no-fuss: Angular + SASS] (https://github.com/ocombe/angular-brunch-seed-no-fuss) - the base of this project
git clone https://github.com/rolfst/angular-brunch-seed-with-coffeeto clone the angular-brunch-seed-with-coffee repositorycd angular-brunch-seed-with-coffeesh scripts/init.shto install node packages (or./scripts/init.baton Windows).
or if you have Brunch installed run:
brunch new myapp --skeleton https://github.com/rolfst/angular-brunch-seed-with-coffee
./scripts/server.shto serve using Brunch
Then navigate your browser to http://localhost:8000
NOTE: Occasionally the scripts will not load properly on the initial load. If this occurs, refresh the page. Subsequent refresh will render correctly.
sh scripts/server.shto serve using Brunch (or./scripts/server.baton Windows).
Then navigate your browser to http://localhost:8000
NOTE: Occasionally the scripts will not load properly on the initial load. If this occurs, refresh the page. Subsequent refresh will render correctly. The first compilation is always longer.
sh scripts/production.shto minify javascript and css files (or./scripts/production.baton Windows).
Please be aware of the caveats regarding Angular JS and minification, take a look at Dependency Injection for information.
sh scripts/test.shto run unit tests with karma (or./scripts/test.baton Windows)- Open the browser you would like to test to http://localhost:3334
Notes:
- Karma will run tests on save. To insure that changes are saved be sure to have
./script/server.shor./script/development.shrunning in the console (or./script/server.bator./script/development.baton Windows). - You can set the browsers that you would like to target in the
/test/karma_conf.jsfile E.g.browser = ["ChromeCanary", "Firefox"]
- Run the app in development mode as described above using a separate terminal
./scripts/test-e2e.shto run e2e tests with karma using angular's scenario runner (or./scripts/test-e2e.baton Windows)- Be aware that changing the SASS files will compile the new CSS while the server is running, but that it won't trigger a e2e test reload, you'll have to manually relaunch the test server fow now
- Make sure that your _public folder is not in production mode (concatenated & without comments)
./scripts/docco.shto run documentation generation using docco (or./scripts/docco.baton Windows)- The documentation will be generated in the docs folder
Initial load does not render correctly; scripts are not loading.
- Occasionally the scripts will not load properly on the initial load. If this occurs, refresh the page. Subsequent refresh will render correctly.
EMFILE error
- EMFILE means there are too many open files. Brunch watches all your project files and it's usually a pretty big number. You can fix this error with setting max opened file count to bigger number with command ulimit -n (10000 should be enough).
The complete Brunch FAQ
When we upgrade angular-seed's repo with newer angular or testing library code, you can just fetch the changes and merge them into your project with git.
git pull origin master
_public/ --> Contains generated file for servering the app
These files should not be edited directly
app/ --> all of the files to be used in production
assets --> a place for static assets. These files will be copied to
the public directory un-modified.
font/ --> [fontawesome](http://fortawesome.github.com/Font-Awesome/) rendering icons
fontawesome-webfont.*
img/ --> image files
assets/partials/ --> HTML partial files
assets/index.html --> Index file
scripts/ --> base directory for app scripts
controllers --> base directory for controllers
controllers.coffee--> application controllers
directives --> base directory for directives
directives.coffee --> custom angular directives
filters --> base directory for filters
filters.coffee --> custom angular filters
services --> base directory for services
services.coffee --> custom angular services
styles/ --> all custom styles. Acceptable files types inculde: less, sass, scss and stylus
themes/ --> a place for custom themes
custom/ --> starter theme **NOTE the underscore (_). Files begining with an underscore will not automatically be compiled, they must be imported.
_override.sass --> styles that should beloaded after bootstrap.
_variables.sass --> bootstrap variables to be used during the compilation process
app.scss --> a file for importing styles.
_custom.scss --> a file with a custom style example
app.coffee --> application definition and routes
node_modules --> NodeJS modules
scripts/ --> handy shell scripts
development.sh --> compiles files and watches for changes
init.sh --> installs node modules
production.sh --> compiles and compresses files for production use
server.sh --> runs a development server at `http://localhost:3333`
test.sh --> runs all unit tests
test/ --> test source files and libraries
e2e/
app/
scenario.coffee --> end-to-end specs
unit/
controllers.spec.coffee --> specs for controllers
directives.spec.coffee --> specs for directives
filters.spec.coffee --> specs for filters
services.spec.coffee --> specs for services
vendor/
angular/ --> angular testing libraries
angular-mocks.js --> mocks that replace certain angular services in tests
karma.conf.js --> unit tests config file
karma-e2e.conf.js --> e2e tests config file
vendor/
scripts/ --> angular and 3rd party javascript libraries
angular/ files are compiled to `vendor.js`
angular.js --> the latest angular js
angular-*.js --> angular add-on modules
bootstrap/ --> for responsive layout
bootstrap-*.js --> bootstrap js modules
console-helper.js --> makes it safe to do `console.log()` always
jquery.js --> jquery lib (required by bootstrap)
modernizr.js --> to support your progressive enhancement
respond.js --> provide media queries support for old browser (ie6/7/8)
styles/ --> sapling / sapling themes and 3 party CSS
bootstrap/ --> boostrap sass files
font-awesome/ --> font awesome sass files
Rolf Strijdhorst
For more information on angular please check out http://angularjs.org