Code Monkey home page Code Monkey logo

task-closure-tools's Introduction

Task Closure Tools

The core library for the Closure Tools task, includes:

  • Compiler Compile your JS code using the powerful google closure compiler
  • Builder Concatenate your JS codebase to a single file, optionally also compile it
  • DepsWriter Calculate dependencies of your JS files and generate deps.js

Applications

You can use the Closure Tools library as:

Getting Started

Comming Soon!

Release History

  • v0.1.10, 08 Jun 2015
  • v0.1.9, 29 Sep 2014
    • Better handling for cases where an empty source is provided. @betaorbust.
  • v0.1.8, 29 Sep 2014
  • v0.1.7, 07 Jul 2014
    • Add new option to set Python binary path, thanks @yxd-works.
  • v0.1.6, 12 Mar 2014
    • Added test suite
    • Support for ClosureBuilder new JVM flags Thanks @robertdimarco
  • v0.1.4, 07 Mar 2014
    • Properly escapes compiler filename, will fix cases where spaces existed in the filename. Thanks @tgirardi
  • v0.1.3, 20 Feb 2014
    • Added d32 and TieredCompilation optimization options to compiler java command, thanks @probins
  • v0.1.2, 13 Jan 2014
    • Fixed bug that optExecOptions was passed only to first file in list by @stforek.
  • v0.1.1, 16 Dec 2013 Big Bang, moved codebase from original grunt-closure-tools repo.

License

Copyright ©2015 Thanasis Polychronakis Licensed under the MIT license.

task-closure-tools's People

Contributors

andrewpmckenzie avatar betaorbust avatar greatcall-vankirkc avatar probins avatar robertdimarco avatar stforek avatar teppeis avatar tgirardi avatar thanpolas avatar vogdb avatar wzr1337 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

task-closure-tools's Issues

[BUG] Filenames with spaces are not quoted

See next output

Executing: java  -client -d32  -server -XX:+TieredCompilation  -jar "./build/compiler.jar"  --js build/output/gbo tester.release.ajs --js_output_file=build/output/gbo tester.release.ajs --compilation_level SIMPLE_OPTIMIZATIONS --externs  --define 'goog.DEBUG=false' --warning_level verbose --summary_detail_level 3
>> Error: Command failed: ERROR - Duplicate input: tester.release.ajs

I have managed to cook a fix for 2nd subcase, but 1st one turned out to be a bit tricky..

allow to override java command with environment variable JAVACMD

Hello,
On MacOSX (and any other system) sometimes one has multiple java versions.
It would be good to be able to override the "java" command easily.
I propose a tiny modification to do this:

diff --git a/lib/libCompiler.js b/lib/libCompiler.js
index b39ea00..9909473 100644
--- a/lib/libCompiler.js
+++ b/lib/libCompiler.js
@@ -56,7 +56,8 @@ compiler.validateFile = function validateFile( fileObj ) {
*/
compiler.compileCommand = function compileCommand( options, fileObj ) {

  • var cmd = 'java ' +
  • var javaCmd = process.env.JAVACMD || 'java';
  • var cmd = javaCmd + ' ' +

This allows you to call
say you have a symlink java17 to a java 1.7 VM...
then you can call:

JAVACMD=java17 grunt...

request.

Let user choose python command

On my system python defaults to Python 3.

There's a bug in closure-builder that's preventing me from building and compiling at the same time when using Python 3, thus I'd like to switch to Python 2.

Would it be possible to add an option to builder, to specify the python command?

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.