Code Monkey home page Code Monkey logo

closure-ng's Introduction

Gulp, AngularJS, Closure Compiler, libsass, jade

Frontend workflow automation tool for AngularJS developers
Based on this article

Features:

  • incremental building with livereload in development mode
  • CC-powered AngularJS workflow out-of-the-box
  • Closure Compiler minification with advanced optimizations, automatic angularjs annotating and optional source maps
  • multiple environments support (see build.json, src/env)
  • automated bower dependencies management and index.html updates
  • blazing fast SCSS builds via libsass (and third-party sass frameworks support)

Three simple steps for you to start:

  • clone it
  • npm install && bower install
  • gulp
    this will perform development build into build/development dir and start web server on localhost:5000

Now you can open http://localhost:5000/build/development/index.html in your browser and start playing with sources.

To create compiled version run
gulp build --type staging
or
gulp build --type production

Build types definitions can be found in build.json

TODO:

  • Tests runners

closure-ng's People

Contributors

amar4enko avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

closure-ng's Issues

FR: implement gulp scripts as importable npm module

I like what you've done with this project, but if I'm building many web apps, I'd rather do npm install --save-dev closure-ng and have a simple gulp.js which referenced your closure-ng build scripts.

In maven-based java builds it is convenient to be able to put all of your common config into a parent pom.

For grunt builds, I have used grunt-horde with a customised grunt-horde-defaults fork.

What I would love to be able to do, is for each web app, rather than starting with a clone of closure-ng (and making various changes/fixes/improvements to the closure-ng gulp stuff in each project, you'd run:
npm install --save-dev closure-ng
You could create your own fork and/or easily update to the latest build config at anytime, and it would be easy to apply the same updates to numerous web apps which are being developed by the same team.

Your gulp.js would then be reduced to something like:

var gulp = require('gulp');

gulp.task('default', function(){
  return require('closure-ng')
    .init(gulp)
    .configure('my-parent-config-module')
    .configure('./config/gulp')
    .build();
};

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.