Sprouts is an automated build system for static websites. It automates repetitive build tasks and provides live browser reload and live test runner.
Download and unzip sprouts in an empty directory. Then open the terminal in the directory and run:
npm run sproutsThis modifies the package.json file using your input and installs the dependencies from it.
gulp-scss-lint package requires Ruby and scss_lint.
gem install scss_lintSprouts creates development and production builds. The development build contains source maps for both the JavaScript and Sass files. The production build is minified and supposed to be deployed.
To create a development build and start a server at http://localhost:3000, execute:
npm run devEach time you save a source file in the src directory, the development build updates and the browser reloads.
To start testing, execute:
npm testThe test runner starts and runs the tests each time the source files are changed.
To create a production build execute:
npm run build:prod.
├── builds
├── dev
└── production
├── gulpfile.js
├── package.json
├── README.md
├── requirements
├── sprouts
└── src
├── fonts
├── img
├── index.html
├── js
│ ├── compiledTemplates
│ ├── lib
│ ├── main.js
│ └── test
│ └── demo.test.js
└── scss
├── styles.scss
└── vendors
builds — directory contains the development and production builds. The contents of the builds directory is deleted automatically.
gulpfile.js — directory contains the gulp tasks.
src/ — directory is for your code and assets.
src/js/lib — directory for your js modules.
src/js/test — directory for js tests. File names should end in .test.js.
src/scss — directory is for sass and scss styles. The vendors directory is for third party libraries, like Bootstrap.
requirements — directory contains a template requirements file for your app/website.
Sprouts uses:
- Automation:
- gulp to automate the builds and asset management;
- JS Compilation:
- browserify to bundle the
jsfiles;
- browserify to bundle the
- Sass Compilation:
- Testing:
- Live Server:
- browser-sync for live server;
- Linting:
- See
package.jsonfor a complete list.
- See
Dimitar Danov
This project is licensed under the MIT License - see the LICENSE file for details.
Sprouts is influenced gulp-starter (blendid), article.