gpf-js
v1.0.0
Published
A multi-purpose JavaScript library
Downloads
961
Readme
GPF Library
A multi-purpose JavaScript library created and maintained by Arnaud Buchholz.
Features
- 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.
Metrics
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||
Setup
- Clone repository
- install grunt:
npm install -g grunt-cli
- at the root of the cloned repository:
npm install
, thengrunt
Testing
See Library testing
Documentation
The documentation is extracted from the sources using jsdoc syntax with grunt-jsdoc and the template from ink-docstrap
Versions
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 |
Credits
- 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