A multi-purpose JavaScript library
npm install gpf-js
















A multi-purpose JavaScript library created and maintained by
Arnaud Buchholz.
* Provides a common scripting layer for several hosts
(cscript/wscript,
NodeJS,
Rhino,
Nashorn,
PhantomJS, most recent browsers)
* Namespace and class system
* Interface based
* Asynchronous streams
* Modularization helper
* Attributes
* Almost 100% coverage
This library is developed in conjunction with a blog where the concepts and algorithms are documented and explained.
This part is automatically updated upon a successful build:
* Code coverage is computed by executing all hosts,
ignored parts are documented
* The maintainability is based on
plato evaluation
SME stands for source minimal expectation.
Metric name | average | total | SME | comment
------ | ----- | ----- | ----- | -----
Statements coverage|100%||90%|0.32% ignored
Branches coverage|100%||90%|0.68% ignored
Functions coverage|100%||90%|0.6% ignored
Maintainability|83.64||70|
Number of tests||1109||pending: 0, duration: 879ms
Number of sources||144||
Lines of code|93|13443||
* Clone repository
* install grunt: npm install -g grunt-cli
* at the root of the cloned repository: npm install, then grunt
See Library testing
The documentation is extracted from the sources using
jsdoc syntax with grunt-jsdoc
and the template from ink-docstrap
Date | Version | Label | Release | Debug | Flavors
------ | ------ | ----- | ----- | ----- | -----
2019-10-30 | 1.0.0 | First productive version | lib / test | lib / test | node / require
2019-03-12 | 0.2.9 | ES6 Support | lib / test | lib / test | node / require
2018-12-03 | 0.2.8 | Serialization attributes | lib / test | lib / test | require
2018-08-04 | 0.2.7 | Quality and XML | lib / test | lib / test | require
2018-05-03 | 0.2.6 | gpf.require.js | lib / test | lib / test | require
2018-04-03 | 0.2.5 | Flavors | lib / test | lib / test |
2018-02-28 | 0.2.4 | Attributes | lib / test | lib / test |
2017-12-20 | 0.2.3 | Streams and Pipes | lib / test | lib / test |
2017-11-01 | 0.2.2 | gpf.require | lib / test | lib / test |
2017-06-06 | 0.2.1 | Side project support | lib / test | lib / test |
2017-04-29 | 0.1.9 | Records files | lib / test | lib / test |
2017-03-26 | 0.1.8 | Interfaces | lib / test | lib / test |
2017-03-02 | 0.1.7 | Securing gpf.define | lib / test | lib / test |
2017-02-05 | 0.1.6 | gpf.define | lib / test | lib / test |
2016-12-05 | 0.1.5 | The new core | lib / test | lib / test |
* Code rewriting based on esprima and escodegen
* Markdown specification inspired from wikipedia
* UTF-8 encode/decode based on webtoolkit
* Promise/A+ implementation based on promise-polyfill
* atob/btoa implementation based on base64-js
* mocha test suite
* istanbul code coverage tool
* JavaScript task runner: Grunt
* Icons from Hawcons
* WScript simulated environment inspired from excellent WScript project from Mischa Rodermond
* Awesome dependency wheel from Francois Zaninotto