clulib

3.8.0 • Public • Published

clulib - closure-library utilities

Build status npm version MIT license

Sauce Test Status

Clulib is a JavaScript library that aims to complement google's closure-library. Some parts build ontop of existing closure classes (e.g. the ComponentManager), while other parts provide useful functionality not present inside the closure-library.

Usage

To use clulib, install the closure-library and closure-compiler packages. Recommended versions for both are 20170626.0.0 or higher.

Example package.json:

"google-closure-compiler": "20170626.0.0",
"google-closure-library": "20170626.0.0",

To include clulib, include all files under ./src into your build process. All modules are prefixed with clulib (e.g. clulib.array).

Clulib is written with closure's goog.module system. See goog.module: an ES6 module like alternative to goog.provide on the closure-compiler wiki page, for infos on how to use it.

Clulib heavily uses newer ECMAScript features. The closure-compiler can compile these down to ES5. The required input language compiler option for clulib is ECMASCRIPT_2017. Because of this, uncompiled code can only run on current Browsers (Chrome is recommended).

Clulib is compatible with closure's ADVANCED_OPTIMIZATIONS mode.

This project follows Semantic Versioning as closely as possible.

Running the test specs

Checkout https://github.com/b-strauss/clulib.git

Required tools:

  • Python
  • Java
  • Yarn
  • Chrome Browser

Run yarn install to install all npm packages.

To generate the closure deps for local testing run: yarn deps. The html file under ./spec_runner_dev.html can then run the uncompiled test code. Because of the newer ECMAScript features, this requires a modern browser (Chrome is recommended).

To generate the compiled and minified version for local testing run: yarn compile. The html file under ./spec_runner_prod.html can then run the compiled test code on all supported Browsers. You can also run yarn compile-debug to compile with assertions enabled for testing, this enables additional runtime checks but significantly increases the output size. yarn compile-nti will compile using closure's new type inference.

The command yarn test starts a local karma test runner on Chrome and runs all test specs that have been compiled with yarn compile.

Package Sidebar

Install

npm i clulib

Weekly Downloads

8

Version

3.8.0

License

MIT

Unpacked Size

67.9 kB

Total Files

33

Last publish

Collaborators

  • b-strauss