zc.buildout recipe for closurebuilder
Project description
This is a simple wrapper around the closurebuilder tools from the Closure project from Google.
Dependencies
Setup some JavaScript files.
>>> import os.path>>> os.mkdir(os.path.join(sample_buildout, 'js')) >>> write('js/a.js', ''' ... goog.provide('pwt.provideA'); ... ... goog.require('pwt.provideB'); ... ''')>>> write('js/b.js', ''' ... goog.provide('pwt.provideB'); ... ''')>>> mkdir('js/goog') >>> write('js/goog/base.js', open(os.path.join(os.path.dirname(__file__), "goog/base.js")).read())
roots
Generate a dependency file specifing where all your JavaScript files are located within your project.
>>> write('buildout.cfg', ''' ... [buildout] ... parts = deps.js ... ... [deps.js] ... recipe = pwt.recipe.closurebuilder:dependency ... output = %(dir)s/deps.js ... roots = %(dir)s/js ... ''' %{'dir': sample_buildout})>>> print system(buildout) Installing deps.js. <BLANKLINE>>>> cat('deps.js') // This file was autogenerated by buildout[deps.js]. // Please do not edit. goog.addDependency('a.js', ['pwt.provideA'], ['pwt.provideB']); goog.addDependency('b.js', ['pwt.provideB'], []); goog.addDependency('goog/base.js', [], []);
roots with prefix
Generate a dependency file specifing where all your JavaScript files are located within your project. Sometimes files are served under different namespaces, then we use the root_with_prefix option.
>>> write('buildout.cfg', ''' ... [buildout] ... parts = deps.js ... ... [deps.js] ... recipe = pwt.recipe.closurebuilder:dependency ... output = %(dir)s/deps.js ... root_with_prefix = %(dir)s/js /media ... ''' %{'dir': sample_buildout})>>> print system(buildout) Uninstalling deps.js. Installing deps.js. <BLANKLINE>>>> cat('deps.js') // This file was autogenerated by buildout[deps.js]. // Please do not edit. goog.addDependency('/media/a.js', ['pwt.provideA'], ['pwt.provideB']); goog.addDependency('/media/b.js', ['pwt.provideB'], []); goog.addDependency('/media/goog/base.js', [], []);
Compile
Using the information above, generate a small minimized version of your JavaScript application.
>>> write('buildout.cfg', ''' ... [buildout] ... parts = deps.js compiled.js ... ... [deps.js] ... recipe = pwt.recipe.closurebuilder:dependency ... output = %(dir)s/d1.js ... roots = %(dir)s/js ... ... [compiled.js] ... recipe = pwt.recipe.closurebuilder:compile ... dependency = deps.js ... output = %(dir)s ... inputs = %(dir)s/js/a.js ... ''' %{'dir': sample_buildout})>>> print system(buildout) #doctest:+ELLIPSIS Uninstalling deps.js. Installing deps.js. Installing compiled.js. root: Compiling with the following command: java -jar ... <BLANKLINE>>>> ls(sample_buildout) - .installed.cfg d bin - buildout.cfg - d1.js - db5293d69c7cf152489f73b7221b146d.js d develop-eggs d eggs d js d parts
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Close
Hashes for pwt.recipe.closurebuilder-0.9.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | edbff6a13b95e186843a49b9b7a214f282ad24aa8be5a30b04d1f966d6724306 |
|
MD5 | 3f4d67fbb5285ae295995d0007152124 |
|
BLAKE2b-256 | a1034fdd40eb28286cbfaf774ab094eafa5993985d3f9a8fd3720faf2ef1d0de |