Skip to content

Closure Rules v0.1.0

Compare
Choose a tag to compare
@jart jart released this 17 May 02:41
· 486 commits to master since this release

This release brings Closure Rules to a level of quality that it's now been adopted by a 100k+ LOC codebase. Most of the missing features have been implemented. Most of the bugs have been hammered out.

However Closure Rules should still be considered alpha because we're not yet ready to finalize its design. The definitions of rules may change; but if they do, we'll make note of that in the release.

New Features

  • closure_js_library now does syntax checking and linting. Therefore closure_js_check_test and closure_js_lint_test have been removed. The behavior of the linter can be controlled with the suppress flag. See the README.
  • JS rules can now depend on CSS rules for class name minification. When a JS binary is produced, it will reconcile its transitive closure with that of the CSS binary to pinpoint errors. However goog.getCssName() calls are not yet validated by the linter; that comes in the next release.
  • New entry_points attribute for closure_js_binary.
  • Ability to omit dependencies in closure_repositories()
  • Closure Library base.js is now a dependency of all closure_js_library rules by default. Use the no_closure_library flag to disable this.
  • CSS orientation flipping with graph validation.
  • closure_js_binary rules can now be referenced as though they're closure_js_library rules.
  • closure_css_binary rules can now be referenced as though they're closure_css_library rules.

Bug Fixes

  • ES6 modules now work.
  • closure_js_deps now works. It now only produces the deps-runfiles.js type of output, which is now just called deps.js.
  • The exports attribute now works.
  • Most bugs referencing from an external repository have been ironed out. If you see an error running depswriter.py then just add workspace(name="foo") to the top of your WORKSPACE file.

Upstream Versions

  • Closure Compiler v20160315
  • Closure Library v20160315
  • Closure Stylesheets 20160212
  • Closure Templates 2016-01-12
  • PhantomJS 2.1.1