Awesome
Web app generator
Yeoman generator that scaffolds out a front-end web app using gulp for the build process
🚧 There is a pre-release version of this generator, you can install it by running npm install --global generator-webapp@next
. Help us make it stable by reporting bugs! 🚧
Features
Please see our gulpfile for up to date information on what we support.
- enable ES2015 features using Babel
- CSS Autoprefixing
- Built-in preview server with BrowserSync
- Automagically compile Sass with libsass
- Automagically lint your scripts
- Map compiled CSS to source stylesheets with source maps
- Awesome image optimization
For more information on what this generator can do for you, take a look at the gulp plugins used in our package.json
.
libsass
Keep in mind that libsass is feature-wise not fully compatible with Ruby Sass. Check out this curated list of incompatibilities to find out which features are missing.
If your favorite feature is missing and you really need Ruby Sass, you can always switch to gulp-ruby-sass and update the styles
task in gulpfile accordingly.
Getting Started
- Install:
npm install --global yo gulp-cli generator-webapp
- Run
yo webapp
to scaffold your webapp - Run
npm start
to preview and watch for changes - Run
npm start -- --port=8080
to preview and watch for changes in port8080
- Run
npm install --save <package>
to install dependencies, frontend included - Run
npm run serve:test
to run the tests in the browser - Run
npm run serve:test -- --port=8085
to run the tests in the browser in port8085
- Run
npm run build
to build your webapp for production - Run
npm run serve:dist
to preview the production build - Run
npm run serve:dist -- --port=5000
to preview the production build in port5000
Docs
- getting started with this generator
- recipes for integrating other popular technologies like CoffeeScript
- contribution docs and FAQ, good to check before posting an issue
Options
--skip-welcome-message
Skips Yeoman's greeting before displaying options.--skip-install-message
Skips the the message displayed after scaffolding has finished and before the dependencies are being installed.--skip-install
Doesn't automatically install dependencies after scaffolding has finished.--test-framework=<framework>
Eithermocha
orjasmine
. Defaults tomocha
.
Contribute
See the contributing docs.
Sponsors
Love Yeoman work and community? Help us keep it alive by donating funds to cover project expenses! <br /> [Become a sponsor]
<a href="https://opencollective.com/yeoman/backers/0/website" target="_blank"> <img src="https://opencollective.com/yeoman/backers/0/avatar"> </a> <a href="https://opencollective.com/yeoman/backers/1/website" target="_blank"> <img src="https://opencollective.com/yeoman/backers/1/avatar"> </a> <a href="https://opencollective.com/yeoman/backers/2/website" target="_blank"> <img src="https://opencollective.com/yeoman/backers/2/avatar"> </a> <a href="https://opencollective.com/yeoman/backers/3/website" target="_blank"> <img src="https://opencollective.com/yeoman/backers/3/avatar"> </a> <a href="https://opencollective.com/yeoman/backers/4/website" target="_blank"> <img src="https://opencollective.com/yeoman/backers/4/avatar"> </a> <a href="https://opencollective.com/yeoman/backers/5/website" target="_blank"> <img src="https://opencollective.com/yeoman/backers/5/avatar"> </a> <a href="https://opencollective.com/yeoman/backers/6/website" target="_blank"> <img src="https://opencollective.com/yeoman/backers/6/avatar"> </a> <a href="https://opencollective.com/yeoman/backers/7/website" target="_blank"> <img src="https://opencollective.com/yeoman/backers/7/avatar"> </a> <a href="https://opencollective.com/yeoman/backers/8/website" target="_blank"> <img src="https://opencollective.com/yeoman/backers/8/avatar"> </a> <a href="https://opencollective.com/yeoman/backers/9/website" target="_blank"> <img src="https://opencollective.com/yeoman/backers/9/avatar"> </a> <a href="https://opencollective.com/yeoman/backers/10/website" target="_blank"> <img src="https://opencollective.com/yeoman/backers/10/avatar"> </a> <a href="https://opencollective.com/yeoman/backers/11/website" target="_blank"> <img src="https://opencollective.com/yeoman/backers/11/avatar"> </a> <a href="https://opencollective.com/yeoman/backers/12/website" target="_blank"> <img src="https://opencollective.com/yeoman/backers/12/avatar"> </a> <a href="https://opencollective.com/yeoman/backers/13/website" target="_blank"> <img src="https://opencollective.com/yeoman/backers/13/avatar"> </a> <a href="https://opencollective.com/yeoman/backers/14/website" target="_blank"> <img src="https://opencollective.com/yeoman/backers/14/avatar"> </a> <a href="https://opencollective.com/yeoman/backers/15/website" target="_blank"> <img src="https://opencollective.com/yeoman/backers/15/avatar"> </a> <a href="https://opencollective.com/yeoman/backers/16/website" target="_blank"> <img src="https://opencollective.com/yeoman/backers/16/avatar"> </a> <a href="https://opencollective.com/yeoman/backers/17/website" target="_blank"> <img src="https://opencollective.com/yeoman/backers/17/avatar"> </a> <a href="https://opencollective.com/yeoman/backers/18/website" target="_blank"> <img src="https://opencollective.com/yeoman/backers/18/avatar"> </a> <a href="https://opencollective.com/yeoman/backers/19/website" target="_blank"> <img src="https://opencollective.com/yeoman/backers/19/avatar"> </a> <a href="https://opencollective.com/yeoman/backers/20/website" target="_blank"> <img src="https://opencollective.com/yeoman/backers/20/avatar"> </a> <a href="https://opencollective.com/yeoman/backers/21/website" target="_blank"> <img src="https://opencollective.com/yeoman/backers/21/avatar"> </a> <a href="https://opencollective.com/yeoman/backers/22/website" target="_blank"> <img src="https://opencollective.com/yeoman/backers/22/avatar"> </a> <a href="https://opencollective.com/yeoman/backers/23/website" target="_blank"> <img src="https://opencollective.com/yeoman/backers/23/avatar"> </a> <a href="https://opencollective.com/yeoman/backers/24/website" target="_blank"> <img src="https://opencollective.com/yeoman/backers/24/avatar"> </a> <a href="https://opencollective.com/yeoman/backers/25/website" target="_blank"> <img src="https://opencollective.com/yeoman/backers/25/avatar"> </a> <a href="https://opencollective.com/yeoman/backers/26/website" target="_blank"> <img src="https://opencollective.com/yeoman/backers/26/avatar"> </a> <a href="https://opencollective.com/yeoman/backers/27/website" target="_blank"> <img src="https://opencollective.com/yeoman/backers/27/avatar"> </a> <a href="https://opencollective.com/yeoman/backers/28/website" target="_blank"> <img src="https://opencollective.com/yeoman/backers/28/avatar"> </a> <a href="https://opencollective.com/yeoman/backers/29/website" target="_blank"> <img src="https://opencollective.com/yeoman/backers/29/avatar"> </a>