Angular-gulp-seed is a deprecated seed project designed to bootstrap AngularJS web applications with a pre-configured development environment. The repository provides a skeleton structure for typical AngularJS applications, incorporating gulp as the build system along with numerous development and testing tools. The project is written in JavaScript and serves as a starting point for developers looking to quickly establish a standardized AngularJS project setup with best practices already in place.
The seed project includes a complete gulp-based build pipeline with multiple task runners. The primary gulp tasks include a standard build command that generates an optimized version of the application in a dist directory, a serve task that launches a BrowserSync development server with livereload capabilities on source files, and a serve:dist task for testing the optimized production build. Testing is fully integrated with gulp test for running unit tests via Karma, gulp test:auto for continuous testing in watch mode, and gulp protractor commands for end-to-end testing with Protractor on both source and distribution files.
The gulpfile incorporates numerous optimization and development features. These include useref for HTML file configuration, ngAnnotate for converting simple dependency injection to minification-proof syntax, uglify for JavaScript optimization, csso for CSS optimization, and rev for adding file name hashes to prevent browser caching issues. The build pipeline also features automatic file watching and recompilation, jshint for JavaScript linting, imagemin for image optimization, and angular-templatecache for converting HTML partials into bundled JavaScript. BrowserSync provides a full-featured development server with livereload and device synchronization capabilities.
The technology stack combines AngularJS as the core framework with Angular Material Design for implementing Google's Material Design specification. Sass via Node.js binding provides stylesheet preprocessing capabilities. Testing infrastructure relies on Jasmine for behavior-driven testing, Karma as the test runner, and Protractor for end-to-end testing of AngularJS applications. The build system uses GulpJS as the streaming build system.
The project follows a structured file organization based on Angular best practice recommendations. The source code is organized under a src directory with an app folder containing components and main application logic, separate assets for images, and configuration files at the root level. The structure includes dedicated directories for gulp tasks, end-to-end tests, bower components, and node modules, along with configuration files for bower, jshint, karma, and protractor.
Getting started requires Node.js and Gulp to be installed. The quick start process involves navigating to the project directory and running npm and bower install commands to fetch all required dependencies, followed by executing one of the available gulp task runners. The project is licensed under the MIT License, making it freely available for use and modification in both open source and commercial projects.