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.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 24b4aad54455b6495eeb590cec312c5c8da770499c6c288f5129123b60a4a07d |
|
MD5 | f9ff81237c2983fa18c449ade1ee71f4 |
|
BLAKE2b-256 | 48e44cf06dbe076b5a219de7aa2caf3209d18902d0f20cf03557ed44011851d2 |