{"_id":"delta.js","_rev":"33-8467eea8e28e33fe7bd998929a30e675","name":"delta.js","description":"achieve modularity and separation of concerns through feature-oriented development","dist-tags":{"latest":"1.4.1-alpha"},"versions":{"0.1.1":{"name":"delta.js","version":"0.1.1","description":"achieve modularity and separation of concerns through feature-oriented development","contributors":[{"name":"Michiel Helvensteijn","email":"mhelvens@gmail.com"}],"license":"MIT","dependencies":{"js-graph":"^0.4.0","bluebird":"^2.3.2"},"devDependencies":{"autoprefixer-loader":"^1.0.0","bower":"^1.3.10","css-loader":"^0.8.0","gulp":"^3.8.7","gulp-bump":"^0.1.11","gulp-jshint":"^1.8.4","gulp-karma":"^0.0.4","gulp-rename":"^1.2.0","gulp-sourcemaps":"^1.1.5","gulp-traceur":"^0.13.0","gulp-uglify":"^1.0.0","gulp-util":"^3.0.1","gulp-webpack":"^0.3.0","jshint":"^2.5.5","jshint-stylish":"^0.4.0","karma":"^0.12.23","karma-chrome-launcher":"^0.1.4","karma-jasmine":"^0.1.5","lodash":"^2.4.1","rimraf":"^2.2.8","sass-loader":"^0.2.0","source-map-loader":"^0.1.3","style-loader":"^0.8.0","traceur":"^0.0.58","webpack":"^1.4.0-beta8"},"gitHead":"76aec8c392292a0e5869551db08bd95daf1f61d9","_id":"delta.js@0.1.1","scripts":{},"_shasum":"b2ff877e31b2bd15ae5a2053c893dc80d6778841","_from":".","_npmVersion":"2.0.2","_nodeVersion":"0.10.32","_npmUser":{"name":"mhelvens","email":"mhelvens@gmail.com"},"maintainers":[{"name":"mhelvens","email":"mhelvens@gmail.com"}],"dist":{"shasum":"b2ff877e31b2bd15ae5a2053c893dc80d6778841","tarball":"https://registry.npmjs.org/delta.js/-/delta.js-0.1.1.tgz","integrity":"sha512-9v1Lgg3mtXQW55/eh/AqJiaHPZ6EenDnaybp3CpsWvCB7xQR91fCdPw1F54AiOZ0hq4c55pkysXEqYWcZx9WBQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCMWuJV/fn+8+OsSocr6+va3i/KKV1xr7WthCAFo53oSwIhAMFKTWnqct0NnmEL+jArX8qTIbN98pwY5JMUT1I+0dcO"}]}},"0.2.0":{"name":"delta.js","version":"0.2.0","description":"achieve modularity and separation of concerns through feature-oriented development","contributors":[{"name":"Michiel Helvensteijn","email":"mhelvens@gmail.com"}],"license":"MIT","dependencies":{"js-graph":"^0.4.0","bluebird":"^2.3.2"},"devDependencies":{"autoprefixer-loader":"^1.0.0","bower":"^1.3.10","css-loader":"^0.8.0","gulp":"^3.8.7","gulp-bump":"^0.1.11","gulp-jshint":"^1.8.4","gulp-karma":"^0.0.4","gulp-rename":"^1.2.0","gulp-sourcemaps":"^1.1.5","gulp-traceur":"^0.13.0","gulp-uglify":"^1.0.0","gulp-util":"^3.0.1","gulp-webpack":"^0.3.0","jshint":"^2.5.5","jshint-stylish":"^0.4.0","karma":"^0.12.23","karma-chrome-launcher":"^0.1.4","karma-jasmine":"^0.1.5","lodash":"^2.4.1","rimraf":"^2.2.8","sass-loader":"^0.2.0","source-map-loader":"^0.1.3","style-loader":"^0.8.0","traceur":"^0.0.58","webpack":"^1.4.0-beta8"},"gitHead":"c50558fe62452679c729c2dbb34fd8608622995d","_id":"delta.js@0.2.0","scripts":{},"_shasum":"cd6dff7b68a31b55f6fbb919c1ae0f3cbddf7f80","_from":".","_npmVersion":"2.1.6","_nodeVersion":"0.10.33","_npmUser":{"name":"mhelvens","email":"mhelvens@gmail.com"},"maintainers":[{"name":"mhelvens","email":"mhelvens@gmail.com"}],"dist":{"shasum":"cd6dff7b68a31b55f6fbb919c1ae0f3cbddf7f80","tarball":"https://registry.npmjs.org/delta.js/-/delta.js-0.2.0.tgz","integrity":"sha512-/iYrKZFioQzAjLvXzsRdwKERuzCmdvTlLkE77QXoWyGY7XZW2n1yqpBarysvzFeOl0dy4kz2eW+gDR4OfkdOQQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBfJInzSyVdT3P8rvkNcKoFrCXzpX373qOrVsf43SAr9AiBcgwqYtgEVPG+NGNx0wufdBEyPJFor/CIiHJxEwJwttg=="}]}},"0.2.1":{"name":"delta.js","version":"0.2.1","description":"achieve modularity and separation of concerns through feature-oriented development","contributors":[{"name":"Michiel Helvensteijn","email":"mhelvens@gmail.com"}],"license":"MIT","dependencies":{"bluebird":"^2.3.2","js-graph":"^0.4.0","traceur-loader":"^0.6.0"},"devDependencies":{"autoprefixer-loader":"^1.0.0","bower":"^1.3.10","css-loader":"^0.8.0","gulp":"^3.8.7","gulp-bump":"^0.1.11","gulp-jshint":"^1.8.4","gulp-karma":"^0.0.4","gulp-rename":"^1.2.0","gulp-uglify":"^1.0.0","gulp-util":"^3.0.1","gulp-webpack":"^0.3.0","jshint":"^2.5.5","jshint-stylish":"^0.4.0","karma":"^0.12.23","karma-chrome-launcher":"^0.1.4","karma-jasmine":"^0.2.0","karma-phantomjs-launcher":"^0.1.4","lodash":"^2.4.1","rimraf":"^2.2.8","sass-loader":"^0.2.0","source-map-loader":"^0.1.3","style-loader":"^0.8.0","traceur":"^0.0.58","webpack":"^1.4.0-beta8"},"gitHead":"5c1acb8cc43e3c9231fc09878eda46cb8763d01c","_id":"delta.js@0.2.1","scripts":{},"_shasum":"b7bd33d2f4b234d185c94a018ddb0237d3d1a01e","_from":".","_npmVersion":"2.1.7","_nodeVersion":"0.10.33","_npmUser":{"name":"mhelvens","email":"mhelvens@gmail.com"},"maintainers":[{"name":"mhelvens","email":"mhelvens@gmail.com"}],"dist":{"shasum":"b7bd33d2f4b234d185c94a018ddb0237d3d1a01e","tarball":"https://registry.npmjs.org/delta.js/-/delta.js-0.2.1.tgz","integrity":"sha512-sw0RjgkKdCWPP4R6EX40Zkbw20sfQWjmneXVqMwiicOIR0/9cIYHkwDCVLO7SNIheNOtm+qdFrr5y7LI/vX7Gg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDBz5Up1apJZM4LDJB5O6bMFIR7HNNwMc7JiNAQktnu8gIhAJAKfIaKnKd2/64pHKq4UC6+NNss9kYpx6Wjj5c7YrLB"}]}},"0.2.2":{"name":"delta.js","version":"0.2.2","description":"achieve modularity and separation of concerns through feature-oriented development","contributors":[{"name":"Michiel Helvensteijn","email":"mhelvens@gmail.com"}],"license":"MIT","dependencies":{"js-graph":"^0.4.0"},"devDependencies":{"autoprefixer-loader":"^1.0.0","bluebird":"^2.3.2","bower":"^1.3.10","css-loader":"^0.8.0","gulp":"^3.8.7","gulp-bump":"^0.1.11","gulp-jshint":"^1.8.4","gulp-karma":"^0.0.4","gulp-rename":"^1.2.0","gulp-uglify":"^1.0.0","gulp-util":"^3.0.1","gulp-webpack":"^0.3.0","jshint":"^2.5.5","jshint-stylish":"^0.4.0","karma":"^0.12.23","karma-chrome-launcher":"^0.1.4","karma-jasmine":"^0.2.0","karma-phantomjs-launcher":"^0.1.4","lodash":"^2.4.1","rimraf":"^2.2.8","sass-loader":"^0.2.0","source-map-loader":"^0.1.3","style-loader":"^0.8.0","traceur":"^0.0.58","webpack":"^1.4.0-beta8","traceur-loader":"^0.6.0"},"gitHead":"4977caa99053f4ff1f21ec5a431448bfed316686","_id":"delta.js@0.2.2","scripts":{},"_shasum":"f2bf870607270a1745c4334dedd529733f093281","_from":".","_npmVersion":"2.1.7","_nodeVersion":"0.10.33","_npmUser":{"name":"mhelvens","email":"mhelvens@gmail.com"},"maintainers":[{"name":"mhelvens","email":"mhelvens@gmail.com"}],"dist":{"shasum":"f2bf870607270a1745c4334dedd529733f093281","tarball":"https://registry.npmjs.org/delta.js/-/delta.js-0.2.2.tgz","integrity":"sha512-k+qVwE7dSK7PpUIXu0w4nG9m4t8D/lRHWlNss63AP4dJssgCd91wuNvnSH2uPwNYVu0to0xDrXc/JYiLxgnutQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID5K3T1wEkLKyr9eX48CPsz1xmNRnOYOagsxlLHcqteEAiBvsmDRKIjNGqNn9zZrmVKJkC4qu0JeEuPBNoS9pEHAjA=="}]}},"0.2.3":{"name":"delta.js","version":"0.2.3","description":"achieve modularity and separation of concerns through feature-oriented development","contributors":[{"name":"Michiel Helvensteijn","email":"mhelvens@gmail.com"}],"license":"MIT","dependencies":{"js-graph":"^0.4.0"},"devDependencies":{"autoprefixer-loader":"^1.0.0","bluebird":"^2.3.2","bower":"^1.3.10","css-loader":"^0.8.0","gulp":"^3.8.7","gulp-bump":"^0.1.11","gulp-jshint":"^1.8.4","gulp-karma":"^0.0.4","gulp-rename":"^1.2.0","gulp-uglify":"^1.0.0","gulp-util":"^3.0.1","gulp-webpack":"^0.3.0","jshint":"^2.5.5","jshint-stylish":"^0.4.0","karma":"^0.12.23","karma-chrome-launcher":"^0.1.4","karma-jasmine":"^0.2.0","karma-phantomjs-launcher":"^0.1.4","lodash":"^2.4.1","rimraf":"^2.2.8","sass-loader":"^0.2.0","source-map-loader":"^0.1.3","style-loader":"^0.8.0","traceur":"^0.0.58","webpack":"^1.4.0-beta8","traceur-loader":"^0.6.0"},"gitHead":"0c48d685679f3c2d3cacf7ee4cdae0100005b068","_id":"delta.js@0.2.3","scripts":{},"_shasum":"715384c8baff11c8c434f6c9b9c69e3b22845093","_from":".","_npmVersion":"2.1.7","_nodeVersion":"0.10.33","_npmUser":{"name":"mhelvens","email":"mhelvens@gmail.com"},"maintainers":[{"name":"mhelvens","email":"mhelvens@gmail.com"}],"dist":{"shasum":"715384c8baff11c8c434f6c9b9c69e3b22845093","tarball":"https://registry.npmjs.org/delta.js/-/delta.js-0.2.3.tgz","integrity":"sha512-wS7kjhcUSCMyk2vxu8Iw0IIfnDvPp1y7PAA1e27VOqZiSve+bVtHUkKubgxZGgkrv8IwMeE57ZFhE6zUPiReBA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCa11OkbRgdMubQDMhbKSKLpIPanZjPIHBhPP1lPFlA9QIgTVVjHyhZ0eWP/hBD8WfVmlBJEfkxtSja1kAFh6O/tD4="}]}},"0.2.4":{"name":"delta.js","version":"0.2.4","description":"achieve modularity and separation of concerns through feature-oriented development","contributors":[{"name":"Michiel Helvensteijn","email":"mhelvens@gmail.com"}],"license":"MIT","dependencies":{"js-graph":"^0.4.0"},"devDependencies":{"autoprefixer-loader":"^1.0.0","bluebird":"^2.3.2","bower":"^1.3.10","css-loader":"^0.8.0","gulp":"^3.8.7","gulp-bump":"^0.1.11","gulp-jshint":"^1.8.4","gulp-karma":"^0.0.4","gulp-rename":"^1.2.0","gulp-traceur":"^0.14.1","gulp-uglify":"^1.0.0","gulp-util":"^3.0.1","gulp-webpack":"^0.3.0","jshint":"^2.5.5","jshint-stylish":"^0.4.0","karma":"^0.12.23","karma-chrome-launcher":"^0.1.4","karma-jasmine":"^0.2.0","karma-phantomjs-launcher":"^0.1.4","lodash":"^2.4.1","rimraf":"^2.2.8","sass-loader":"^0.2.0","source-map-loader":"^0.1.3","style-loader":"^0.8.0","traceur":"^0.0.58","traceur-loader":"^0.6.0","webpack":"^1.4.0-beta8"},"gitHead":"5ba51dd7e0d98c2e7c856b8450d85cc844a8ea4e","_id":"delta.js@0.2.4","scripts":{},"_shasum":"ac44d5512215f506452311c797870257795d3663","_from":".","_npmVersion":"2.1.9","_nodeVersion":"0.10.33","_npmUser":{"name":"mhelvens","email":"mhelvens@gmail.com"},"maintainers":[{"name":"mhelvens","email":"mhelvens@gmail.com"}],"dist":{"shasum":"ac44d5512215f506452311c797870257795d3663","tarball":"https://registry.npmjs.org/delta.js/-/delta.js-0.2.4.tgz","integrity":"sha512-pFBs/yb00fC4vbKJ+8ycZT/hjrpzOTlHIhsCTQQv+mbA3u2UIjkgK6hJm6IF0r4kH1udUWhUBsvySHEoci8AYw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDn+1revTmTnOz8tjSLPwx/7fAXDykDlcg64iyOzvKmggIhAI3VZCfL59rx8FvtmQnwCLi5pGwI3GBVbqTpmCSmL8dI"}]}},"0.3.0":{"name":"delta.js","version":"0.3.0","description":"achieve modularity and separation of concerns through feature-oriented development","contributors":[{"name":"Michiel Helvensteijn","email":"mhelvens@gmail.com"}],"license":"MIT","dependencies":{"js-graph":"^0.4.0"},"devDependencies":{"autoprefixer-loader":"^1.0.0","bluebird":"^2.3.2","bower":"^1.3.10","css-loader":"^0.8.0","gulp":"^3.8.7","gulp-bump":"^0.1.11","gulp-jshint":"^1.8.4","gulp-karma":"^0.0.4","gulp-rename":"^1.2.0","gulp-uglify":"^1.0.0","gulp-util":"^3.0.1","gulp-webpack":"^0.3.0","jshint":"^2.5.5","jshint-stylish":"^0.4.0","karma":"^0.12.23","karma-chrome-launcher":"^0.1.4","karma-jasmine":"^0.2.0","karma-phantomjs-launcher":"^0.1.4","lodash":"^2.4.1","rimraf":"^2.2.8","sass-loader":"^0.2.0","source-map-loader":"^0.1.3","style-loader":"^0.8.0","traceur":"^0.0.58","webpack":"^1.4.0-beta8","traceur-loader":"^0.6.0"},"gitHead":"b3fab6e6e294eff20a12e87fda208a0ca8de96a0","_id":"delta.js@0.3.0","scripts":{},"_shasum":"645c2525233a71097d4f9d14f0ac4f892a7dae0c","_from":".","_npmVersion":"2.1.10","_nodeVersion":"0.10.33","_npmUser":{"name":"mhelvens","email":"mhelvens@gmail.com"},"maintainers":[{"name":"mhelvens","email":"mhelvens@gmail.com"}],"dist":{"shasum":"645c2525233a71097d4f9d14f0ac4f892a7dae0c","tarball":"https://registry.npmjs.org/delta.js/-/delta.js-0.3.0.tgz","integrity":"sha512-C22gTJsAZjvkXaUDtUofaRaetCYVzqkdmaEt5EqkL4GEpkLNv6C2osWssUIhyXkIizsGQT92vemsOQJOya3sbw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDcBNLI9quFYPqf3onZpS351qozlpaNJOH3cgsuk3a4VgIhAM0ykptyN8aQ3kjX8XW90C9h70RVSH652QgRYVWBiHk2"}]}},"0.5.0":{"name":"delta.js","version":"0.5.0","description":"achieve modularity and separation of concerns through feature-oriented development","contributors":[{"name":"Michiel Helvensteijn","email":"mhelvens@gmail.com"}],"license":"MIT","dependencies":{"js-graph":"^0.4.0"},"devDependencies":{"autoprefixer-loader":"^1.0.0","bluebird":"^2.3.2","bower":"^1.3.10","css-loader":"^0.8.0","gulp":"^3.8.7","gulp-bump":"^0.1.11","gulp-jshint":"^1.8.4","gulp-karma":"^0.0.4","gulp-rename":"^1.2.0","gulp-traceur":"^0.14.1","gulp-uglify":"^1.0.0","gulp-util":"^3.0.1","gulp-webpack":"^0.3.0","jshint":"^2.5.5","jshint-stylish":"^0.4.0","karma":"^0.12.23","karma-chrome-launcher":"^0.1.4","karma-jasmine":"^0.2.0","karma-phantomjs-launcher":"^0.1.4","lodash":"^2.4.1","rimraf":"^2.2.8","sass-loader":"^0.2.0","source-map-loader":"^0.1.3","style-loader":"^0.8.0","traceur":"^0.0.58","traceur-loader":"^0.6.0","webpack":"^1.4.0-beta8"},"gitHead":"f5b6cf02c0433e0cbfab65e1a209d97a90dc5be8","_id":"delta.js@0.5.0","scripts":{},"_shasum":"3eed637d56d11e9a0e1ba431ea8c29fab70d54ed","_from":".","_npmVersion":"2.1.12","_nodeVersion":"0.10.33","_npmUser":{"name":"mhelvens","email":"mhelvens@gmail.com"},"maintainers":[{"name":"mhelvens","email":"mhelvens@gmail.com"}],"dist":{"shasum":"3eed637d56d11e9a0e1ba431ea8c29fab70d54ed","tarball":"https://registry.npmjs.org/delta.js/-/delta.js-0.5.0.tgz","integrity":"sha512-qWBR35KC9mLNFDYay/QewUjfg9bS3gCQKQv/3MfAVVUtWxF2dlPy97oe8tR/JkOReGCX0PBnesMetJMuDTvnyQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE5Ju+/umhfx02PpARe/lkEMswjtcGRPG+aDYDX1J/plAiAUIfKYqfx/KiO7/ingmyNLPXEG44CnD+4hGuT1YpyYrg=="}]}},"1.0.0-alpha.1":{"name":"delta.js","version":"1.0.0-alpha.1","description":"achieve modularity and separation of concerns through feature-oriented development","contributors":[{"name":"Michiel Helvensteijn","email":"mhelvens@gmail.com"}],"license":"MIT","dependencies":{"js-graph":"^0.5.0"},"devDependencies":{"generator-mhelvens-library":"*","bower":"^1.3.10","lodash":"^2.4.1","gulp":"^3.8.7","gulp-util":"^3.0.1","gulp-rename":"^1.2.0","gulp-sourcemaps":"^1.1.5","rimraf":"^2.2.8","webpack":"^1.4.0-beta8","gulp-webpack":"^0.3.0","source-map-loader":"^0.1.3","traceur":"^0.0.58","gulp-traceur":"^0.13.0","traceur-loader":"^0.6.0","sass-loader":"^0.2.0","css-loader":"^0.8.0","autoprefixer-loader":"^1.0.0","style-loader":"^0.8.0","file-loader":"^0.8.1","expose-loader":"^0.6.0","jshint":"^2.5.5","gulp-jshint":"^1.8.4","jshint-stylish":"^0.4.0","karma":"^0.12.23","gulp-karma":"^0.0.4","karma-jasmine":"^0.2.0","karma-phantomjs-launcher":"^0.1.4","gulp-uglify":"^1.0.0","gulp-replace":"^0.5.1","gulp-bump":"^0.1.11"},"gitHead":"658a49039e5cff94fbef9cf58aa3c1886b79e20b","_id":"delta.js@1.0.0-alpha.1","scripts":{},"_shasum":"27a7df376157d358aee7c512e90f49c876e8390a","_from":".","_npmVersion":"2.2.0","_nodeVersion":"0.10.35","_npmUser":{"name":"mhelvens","email":"mhelvens@gmail.com"},"maintainers":[{"name":"mhelvens","email":"mhelvens@gmail.com"}],"dist":{"shasum":"27a7df376157d358aee7c512e90f49c876e8390a","tarball":"https://registry.npmjs.org/delta.js/-/delta.js-1.0.0-alpha.1.tgz","integrity":"sha512-ecwU8g038vJNQcSXg306EK3DKO70jH3ao9SzbEll4JMpHfL93qUkAAXYgPIh6jrw28cVAFpbpbNhqnp1gJj6Jw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFShdF0K+Pj+9CVIGhuz8Supa47SoQS/YM97YqAI2m6bAiEArprCefY+R4U08sa4mTvHjrgaJODHXLUQiCzxQfdp9DA="}]}},"1.0.1-alpha.1":{"name":"delta.js","version":"1.0.1-alpha.1","description":"achieve modularity and separation of concerns through feature-oriented development","contributors":[{"name":"Michiel Helvensteijn","email":"mhelvens@gmail.com"}],"license":"MIT","dependencies":{"js-graph":"^0.5.0"},"devDependencies":{"generator-mhelvens-library":"*","bower":"^1.3.10","lodash":"^2.4.1","gulp":"^3.8.7","gulp-util":"^3.0.1","gulp-rename":"^1.2.0","gulp-sourcemaps":"^1.1.5","rimraf":"^2.2.8","webpack":"^1.4.0-beta8","gulp-webpack":"^0.3.0","source-map-loader":"^0.1.3","traceur":"^0.0.58","gulp-traceur":"^0.13.0","traceur-loader":"^0.6.0","sass-loader":"^0.2.0","css-loader":"^0.8.0","autoprefixer-loader":"^1.0.0","style-loader":"^0.8.0","file-loader":"^0.8.1","expose-loader":"^0.6.0","jshint":"^2.5.5","gulp-jshint":"^1.8.4","jshint-stylish":"^0.4.0","karma":"^0.12.23","gulp-karma":"^0.0.4","karma-jasmine":"^0.2.0","karma-phantomjs-launcher":"^0.1.4","gulp-uglify":"^1.0.0","gulp-replace":"^0.5.1","gulp-bump":"^0.1.11"},"gitHead":"c5a42e4bcc376802795006e8345d70b21abcd172","_id":"delta.js@1.0.1-alpha.1","scripts":{},"_shasum":"ba2d259c5f42b28ecd4a9f4078fd372e6db930ce","_from":".","_npmVersion":"2.2.0","_nodeVersion":"0.10.35","_npmUser":{"name":"mhelvens","email":"mhelvens@gmail.com"},"maintainers":[{"name":"mhelvens","email":"mhelvens@gmail.com"}],"dist":{"shasum":"ba2d259c5f42b28ecd4a9f4078fd372e6db930ce","tarball":"https://registry.npmjs.org/delta.js/-/delta.js-1.0.1-alpha.1.tgz","integrity":"sha512-qkJMO3nnKzkoo5P84syIdGtJeZVHIX409T2UtsGxw6QmSwlwjLQ1AC4IKk9B85FaVGgPXGQb2dkXzNMb5w862w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDat/ypwY4qTQksxJnHR4+SXOqzHUEszSVSl7/G4oeYHAIgCHddk8c+T9zgeCA+AeHqTGQOufZontJHrwRGBUuoA7c="}]}},"1.0.2-alpha":{"name":"delta.js","version":"1.0.2-alpha","description":"achieve modularity and separation of concerns through feature-oriented development","contributors":[{"name":"Michiel Helvensteijn","email":"mhelvens@gmail.com"}],"license":"MIT","dependencies":{"js-graph":"^0.5.0"},"devDependencies":{"generator-mhelvens-library":"*","bower":"^1.3.10","lodash":"^2.4.1","gulp":"^3.8.7","gulp-util":"^3.0.1","gulp-rename":"^1.2.0","gulp-sourcemaps":"^1.1.5","rimraf":"^2.2.8","webpack":"^1.4.0-beta8","gulp-webpack":"^0.3.0","source-map-loader":"^0.1.3","traceur":"^0.0.58","gulp-traceur":"^0.13.0","traceur-loader":"^0.6.0","sass-loader":"^0.2.0","css-loader":"^0.8.0","autoprefixer-loader":"^1.0.0","style-loader":"^0.8.0","file-loader":"^0.8.1","expose-loader":"^0.6.0","jshint":"^2.5.5","gulp-jshint":"^1.8.4","jshint-stylish":"^0.4.0","karma":"^0.12.23","gulp-karma":"^0.0.4","karma-jasmine":"^0.2.0","karma-phantomjs-launcher":"^0.1.4","gulp-uglify":"^1.0.0","gulp-replace":"^0.5.1","gulp-bump":"^0.1.11"},"gitHead":"565397000cab24a2d84b8438549235955ccae4f0","_id":"delta.js@1.0.2-alpha","scripts":{},"_shasum":"28e3f3da838716ed2957b5feaa9f5d74ffd8b85c","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"mhelvens","email":"mhelvens@gmail.com"},"maintainers":[{"name":"mhelvens","email":"mhelvens@gmail.com"}],"dist":{"shasum":"28e3f3da838716ed2957b5feaa9f5d74ffd8b85c","tarball":"https://registry.npmjs.org/delta.js/-/delta.js-1.0.2-alpha.tgz","integrity":"sha512-gl3+FjEACdGqVju2J7B5wsig+qlWLwKrqso/hrqw56nsfB+BU6XAjDnfGJ+nHQklrojOjR8a1sq4bc/dktnOsw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDKzRYpTqQc78OfmmSg5fTy/VqYg+i975UP2ATsam4S1wIgBJPSwbmQ6vJEKomlILpolPku7hfCcQsWajuDoxMoxyk="}]}},"1.1.0-alpha":{"name":"delta.js","version":"1.1.0-alpha","description":"achieve modularity and separation of concerns through feature-oriented development","contributors":[{"name":"Michiel Helvensteijn","email":"mhelvens@gmail.com"}],"license":"MIT","dependencies":{"js-graph":"^0.5.0"},"devDependencies":{"babel-core":"^4.6.6","babel-loader":"^4.0.0","bower":"^1.3.10","generator-mhelvens-library":"*","gulp":"^3.8.7","gulp-babel":"^4.0.0","gulp-bump":"^0.1.11","gulp-jshint":"^1.8.4","gulp-karma":"^0.0.4","gulp-rename":"^1.2.0","gulp-sourcemaps":"^1.1.5","gulp-uglify":"^1.0.0","gulp-util":"^3.0.1","gulp-webpack":"^0.3.0","jshint":"~2","jshint-stylish":"^0.4.0","karma":"^0.12.23","karma-babel-preprocessor":"^4.0.0","karma-jasmine":"^0.2.0","karma-phantomjs-launcher":"^0.1.4","lodash":"^2.4.1","source-map-loader":"^0.1.3","webpack":"^1.4.0-beta8"},"gitHead":"d985f4c4d455a8ca494485ca66a8d17eb2f54510","_id":"delta.js@1.1.0-alpha","scripts":{},"_shasum":"286f16340c298fe355bbb4b063cffc562bc76c3f","_from":".","_npmVersion":"2.7.1","_nodeVersion":"0.12.0","_npmUser":{"name":"mhelvens","email":"mhelvens@gmail.com"},"maintainers":[{"name":"mhelvens","email":"mhelvens@gmail.com"}],"dist":{"shasum":"286f16340c298fe355bbb4b063cffc562bc76c3f","tarball":"https://registry.npmjs.org/delta.js/-/delta.js-1.1.0-alpha.tgz","integrity":"sha512-e/JXCRhac3dePE3T+tSct40MuHmAiHBZDkIK3Bvj7UDPcvUTtnxm9M5DISUtUTfiBS4LOi69zQMUtpmsVmRUzQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCPI2zJSHpUIjnC6O3abcRICa6IncF1Af1HAseKPZYfrgIhAN0Ihh1oszQbP/ZLSoOgRByEKvLEEwDWGKl4YVomHS7r"}]}},"1.1.1-alpha":{"name":"delta.js","version":"1.1.1-alpha","description":"achieve modularity and separation of concerns through feature-oriented development","contributors":[{"name":"Michiel Helvensteijn","email":"mhelvens@gmail.com"}],"license":"MIT","dependencies":{"js-graph":"^0.5.0"},"devDependencies":{"babel-core":"^4.6.6","babel-loader":"^4.0.0","bower":"^1.3.10","generator-mhelvens-library":"*","gulp":"^3.8.7","gulp-babel":"^4.0.0","gulp-bump":"^0.1.11","gulp-jshint":"^1.8.4","gulp-karma":"^0.0.4","gulp-rename":"^1.2.0","gulp-sourcemaps":"^1.1.5","gulp-uglify":"^1.0.0","gulp-util":"^3.0.1","gulp-webpack":"^0.3.0","jshint":"~2","jshint-stylish":"^0.4.0","karma":"^0.12.23","karma-babel-preprocessor":"^4.0.0","karma-jasmine":"^0.2.0","karma-phantomjs-launcher":"^0.1.4","lodash":"^2.4.1","source-map-loader":"^0.1.3","webpack":"^1.4.0-beta8"},"gitHead":"837697faa9e1ea91aeac9d2ce774d48f0bc5af95","_id":"delta.js@1.1.1-alpha","scripts":{},"_shasum":"995c4d6d8ae9f8527c4e1383e841cf6223ebba51","_from":".","_npmVersion":"2.7.1","_nodeVersion":"0.12.0","_npmUser":{"name":"mhelvens","email":"mhelvens@gmail.com"},"maintainers":[{"name":"mhelvens","email":"mhelvens@gmail.com"}],"dist":{"shasum":"995c4d6d8ae9f8527c4e1383e841cf6223ebba51","tarball":"https://registry.npmjs.org/delta.js/-/delta.js-1.1.1-alpha.tgz","integrity":"sha512-GQDHffP6084rZJgVVEoydq+IsRHMzRphulv3D2qYrBfa4Eley3UStVstEEfZvJnC629pIZIrWqj9ZAWa/87OaQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDEkFRgJFkpbSbx9mH8XMjm8NFQtAKjh5Hhp7Qh+i+fPAiEA1fnGy9vlq43c0I+KmT11kaSD9vVq0fWayIm5NhjS+Zs="}]}},"1.1.2-alpha":{"name":"delta.js","version":"1.1.2-alpha","description":"achieve modularity and separation of concerns through feature-oriented development","contributors":[{"name":"Michiel Helvensteijn","email":"mhelvens@gmail.com"}],"license":"MIT","dependencies":{"js-graph":"^0.5.0"},"devDependencies":{"babel-core":"^4.6.6","babel-loader":"^4.0.0","bower":"^1.3.10","generator-mhelvens-library":"*","gulp":"^3.8.7","gulp-babel":"^4.0.0","gulp-bump":"^0.1.11","gulp-jshint":"^1.8.4","gulp-karma":"^0.0.4","gulp-rename":"^1.2.0","gulp-sourcemaps":"^1.1.5","gulp-uglify":"^1.0.0","gulp-util":"^3.0.1","gulp-webpack":"^0.3.0","jshint":"~2","jshint-stylish":"^0.4.0","karma":"^0.12.23","karma-babel-preprocessor":"^4.0.0","karma-jasmine":"^0.2.0","karma-phantomjs-launcher":"^0.1.4","lodash":"^2.4.1","source-map-loader":"^0.1.3","webpack":"^1.4.0-beta8"},"gitHead":"39afa04e1edfdeaaa92de5ccf98a6c67fb0bf221","_id":"delta.js@1.1.2-alpha","scripts":{},"_shasum":"c5000778a92b332edf61341b76cffd122eaac370","_from":".","_npmVersion":"2.7.1","_nodeVersion":"0.12.0","_npmUser":{"name":"mhelvens","email":"mhelvens@gmail.com"},"maintainers":[{"name":"mhelvens","email":"mhelvens@gmail.com"}],"dist":{"shasum":"c5000778a92b332edf61341b76cffd122eaac370","tarball":"https://registry.npmjs.org/delta.js/-/delta.js-1.1.2-alpha.tgz","integrity":"sha512-G+UdpGrG5yyPaBIAUGAgNGbn9p+XRwI5wg689GCqV7JSxS7Kju4Lkc/pZZ/vHgb7aEuE7dxgBDeAnQQp4hiapA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDxbruQ8m7v5PWWi5V3VMTz7ne+U5lT/X1psL4Kfoe5KAiEA62bOq9MJtbJUQkT7vBxLIUfNng6BuBgDj1xs/E+2W6Q="}]}},"1.2.0-alpha":{"name":"delta.js","version":"1.2.0-alpha","description":"achieve modularity and separation of concerns through feature-oriented development","contributors":[{"name":"Michiel Helvensteijn","email":"mhelvens@gmail.com"}],"license":"MIT","dependencies":{"js-graph":"^0.5.0"},"devDependencies":{"babel-core":"^4.6.6","babel-loader":"^4.0.0","bower":"^1.3.10","generator-mhelvens-library":"*","gulp":"^3.8.7","gulp-babel":"^4.0.0","gulp-bump":"^0.1.11","gulp-jshint":"^1.8.4","gulp-karma":"^0.0.4","gulp-rename":"^1.2.0","gulp-sourcemaps":"^1.1.5","gulp-uglify":"^1.0.0","gulp-util":"^3.0.1","gulp-webpack":"^0.3.0","jshint":"~2","jshint-stylish":"^0.4.0","karma":"^0.12.23","karma-babel-preprocessor":"^4.0.0","karma-jasmine":"^0.2.0","karma-phantomjs-launcher":"^0.1.4","lodash":"^2.4.1","source-map-loader":"^0.1.3","webpack":"^1.4.0-beta8"},"gitHead":"6a18093652a79db3319f2d794463e210ba789ac1","_id":"delta.js@1.2.0-alpha","scripts":{},"_shasum":"d6268be0075e1c96aaff3b58dc7d6420786c9c01","_from":".","_npmVersion":"2.7.4","_nodeVersion":"0.12.1","_npmUser":{"name":"mhelvens","email":"mhelvens@gmail.com"},"maintainers":[{"name":"mhelvens","email":"mhelvens@gmail.com"}],"dist":{"shasum":"d6268be0075e1c96aaff3b58dc7d6420786c9c01","tarball":"https://registry.npmjs.org/delta.js/-/delta.js-1.2.0-alpha.tgz","integrity":"sha512-INHeN//+L7Aq6ohqW3NU/WUjeeB6EzAgjnzdqSgOHY57+2qyC5o1TtKqrcQwTXEf2nMIpqyrAW5/OBfzBDNG7w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC9wbIVoaGr96V6cDmHw3QyUKeOVPbqJMfTSK6id/QL2AiEA1DgCKtWw6O/XUm1v85crNs4nfmBBGtrd+w/pu/JqwQo="}]}},"1.2.2-alpha":{"name":"delta.js","version":"1.2.2-alpha","description":"achieve modularity and separation of concerns through feature-oriented development","contributors":[{"name":"Michiel Helvensteijn","email":"mhelvens@gmail.com"}],"license":"MIT","dependencies":{"js-graph":"^0.5.0"},"devDependencies":{"babel-core":"^4.6.6","babel-loader":"^4.0.0","bower":"^1.3.10","generator-mhelvens-library":"*","gulp":"^3.8.7","gulp-babel":"^4.0.0","gulp-bump":"^0.1.11","gulp-jshint":"^1.8.4","gulp-karma":"^0.0.4","gulp-rename":"^1.2.0","gulp-sourcemaps":"^1.1.5","gulp-uglify":"^1.0.0","gulp-util":"^3.0.1","gulp-webpack":"^0.3.0","jshint":"~2","jshint-stylish":"^0.4.0","karma":"^0.12.23","karma-babel-preprocessor":"^4.0.0","karma-jasmine":"^0.2.0","karma-phantomjs-launcher":"^0.1.4","lodash":"^2.4.1","source-map-loader":"^0.1.3","webpack":"^1.4.0-beta8"},"gitHead":"116d95e090436733593f8a54c147d0ee3a5bfffa","_id":"delta.js@1.2.2-alpha","scripts":{},"_shasum":"7567d10c1ebc0070591a5f28b22462a1bf8e5ba4","_from":".","_npmVersion":"2.7.4","_nodeVersion":"0.12.1","_npmUser":{"name":"mhelvens","email":"mhelvens@gmail.com"},"maintainers":[{"name":"mhelvens","email":"mhelvens@gmail.com"}],"dist":{"shasum":"7567d10c1ebc0070591a5f28b22462a1bf8e5ba4","tarball":"https://registry.npmjs.org/delta.js/-/delta.js-1.2.2-alpha.tgz","integrity":"sha512-u8L/kGa0uFKUItdgiQBjfp0wISACLUps/iZYrq8bdf7sLhNZARsvqc/tJlJCuyfPpCZNVwWl6heUSkT668g1KA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDj214vwu9FlYVZEwOY2vsSdz/N9vj7navD57T3+8DTwgIhAITtU5dt373inntrIohvfUt7xGeeiS5WyGSOPAlwEDLU"}]}},"1.3.0-alpha":{"name":"delta.js","version":"1.3.0-alpha","description":"achieve modularity and separation of concerns through feature-oriented development","contributors":[{"name":"Michiel Helvensteijn","email":"mhelvens@gmail.com"}],"license":"MIT","dependencies":{"babel":"~4"},"devDependencies":{"babel":"~4","babel-core":"~4","babel-loader":"~4","bower":"~1.3","isparta":"~2","isparta-instrumenter-loader":"~0.1","istanbul":"~0.3","jasmine-core":"~2","karma":"~0.12","karma-babel-preprocessor":"~4","karma-cli":"~0.0","karma-coverage":"~0.2","karma-coveralls":"~0.1","karma-jasmine":"~0.3","karma-phantomjs-launcher":"~0.1","karma-sourcemap-loader":"~0.3","karma-webpack":"~1","phantomjs-polyfill":"*","uglifyjs":"~2","webpack":"~1","js-graph":"~1.2.0-alpha"},"scripts":{"build":"mkdir -p dist && webpack && uglifyjs dist/delta.js -mo dist/delta.min.js --in-source-map dist/delta.js.map --source-map dist/delta.min.js.map && uglifyjs dist/delta.full.js -mo dist/delta.full.min.js --in-source-map dist/delta.full.js.map --source-map dist/delta.full.min.js.map","test":"karma start","test-ci":"karma start ./karma.ci.conf.js"},"gitHead":"e4a1662dcac1958405f08c11a8f4f1067a67b580","_id":"delta.js@1.3.0-alpha","_shasum":"6c1283a454dff4ef52f5508bde899354f45e5ed8","_from":".","_npmVersion":"2.7.4","_nodeVersion":"0.12.1","_npmUser":{"name":"mhelvens","email":"mhelvens@gmail.com"},"maintainers":[{"name":"mhelvens","email":"mhelvens@gmail.com"}],"dist":{"shasum":"6c1283a454dff4ef52f5508bde899354f45e5ed8","tarball":"https://registry.npmjs.org/delta.js/-/delta.js-1.3.0-alpha.tgz","integrity":"sha512-dGkjzOLakmEpA+RWxlCuwjn+/m3GToc295WRjkAz9e3fZB4Dpp3yKFbwccBNj+xrs33kqhwdoV44EJ9G96cTrA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBlStX3+UYO4+k6zU0kISiznWKGbkJcjHDgbhVGh2yU7AiAXGiI8uRoRtWcZpJQpizwHSixZvswXHF4FPkeYjnWfTw=="}]}},"1.3.1-alpha":{"name":"delta.js","version":"1.3.1-alpha","description":"achieve modularity and separation of concerns through feature-oriented development","contributors":[{"name":"Michiel Helvensteijn","email":"mhelvens@gmail.com"}],"license":"MIT","dependencies":{"babel":"~4"},"devDependencies":{"babel":"~4","babel-core":"~4","babel-loader":"~4","bower":"~1.3","isparta":"~2","isparta-instrumenter-loader":"~0.1","istanbul":"~0.3","jasmine-core":"~2","karma":"~0.12","karma-babel-preprocessor":"~4","karma-cli":"~0.0","karma-coverage":"~0.2","karma-coveralls":"~0.1","karma-jasmine":"~0.3","karma-phantomjs-launcher":"~0.1","karma-sourcemap-loader":"~0.3","karma-webpack":"~1","phantomjs-polyfill":"*","uglifyjs":"~2","webpack":"~1","js-graph":"~1.7.1-alpha"},"scripts":{"build":"mkdir -p dist && webpack && uglifyjs dist/delta.js -mo dist/delta.min.js --in-source-map dist/delta.js.map --source-map dist/delta.min.js.map && uglifyjs dist/delta.full.js -mo dist/delta.full.min.js --in-source-map dist/delta.full.js.map --source-map dist/delta.full.min.js.map","test":"karma start","test-ci":"karma start ./karma.ci.conf.js"},"gitHead":"bd5862bb51d8f58aa35f1033f66069615d09dc97","_id":"delta.js@1.3.1-alpha","_shasum":"9055480c8d31a842b34ea7858b1dec363d71fbea","_from":".","_npmVersion":"2.7.5","_nodeVersion":"0.12.2","_npmUser":{"name":"mhelvens","email":"mhelvens@gmail.com"},"maintainers":[{"name":"mhelvens","email":"mhelvens@gmail.com"}],"dist":{"shasum":"9055480c8d31a842b34ea7858b1dec363d71fbea","tarball":"https://registry.npmjs.org/delta.js/-/delta.js-1.3.1-alpha.tgz","integrity":"sha512-MfHUVkWplS1ZooreNhThJ/ONsQn5C1ajtBI8kasrSkmp3Ic4TqYiXlpdDs0RS4fBuYBsgI0Tfwspaa78kde/MA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHUX0CdxfyrA3BJNwrhEjncyhHtD5YGN8SkLo7O+aY9GAiEApzFC9Xpp/UjBGqO3BkBsk3yZ0vgToBo5OFDJWZpWaqM="}]}},"1.3.2-alpha":{"name":"delta.js","version":"1.3.2-alpha","description":"achieve modularity and separation of concerns through feature-oriented development","contributors":[{"name":"Michiel Helvensteijn","email":"mhelvens@gmail.com"}],"license":"MIT","dependencies":{"babel":"~4"},"devDependencies":{"babel":"~4","babel-core":"~4","babel-loader":"~4","bower":"~1.3","isparta":"~2","isparta-instrumenter-loader":"~0.1","istanbul":"~0.3","jasmine-core":"~2","karma":"~0.12","karma-babel-preprocessor":"~4","karma-cli":"~0.0","karma-coverage":"~0.2","karma-coveralls":"~0.1","karma-jasmine":"~0.3","karma-phantomjs-launcher":"~0.1","karma-sourcemap-loader":"~0.3","karma-webpack":"~1","phantomjs-polyfill":"*","uglifyjs":"~2","webpack":"~1","js-graph":"~1.7.1-alpha"},"scripts":{"build":"mkdir -p dist && webpack && uglifyjs dist/delta.js -mo dist/delta.min.js --in-source-map dist/delta.js.map --source-map dist/delta.min.js.map && uglifyjs dist/delta.full.js -mo dist/delta.full.min.js --in-source-map dist/delta.full.js.map --source-map dist/delta.full.min.js.map","test":"karma start","test-ci":"karma start ./karma.ci.conf.js"},"gitHead":"7d0afb079ebbec9b527c27acb8e3b443cbe43718","_id":"delta.js@1.3.2-alpha","_shasum":"d68bfdf7f69026bddca13420cecec95e2daee733","_from":".","_npmVersion":"2.7.5","_nodeVersion":"0.12.2","_npmUser":{"name":"mhelvens","email":"mhelvens@gmail.com"},"maintainers":[{"name":"mhelvens","email":"mhelvens@gmail.com"}],"dist":{"shasum":"d68bfdf7f69026bddca13420cecec95e2daee733","tarball":"https://registry.npmjs.org/delta.js/-/delta.js-1.3.2-alpha.tgz","integrity":"sha512-4g2AQbjrQPc+kXPZMMjJ43Fvi1BdzQeYgLOiK40YNeiEIrbxGx0tJTmRSKAkjrVgPDroHptR0jceG9585ilLqg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGQXORaEXQBw/a2NKGzyG7VZzrfGORP+D8a34GPxWsBYAiEA6IxXajqfHI5y1mpQPJJW6apkMHkPfFieLgjTT47nq4w="}]}},"1.4.1-alpha":{"name":"delta.js","version":"1.4.1-alpha","description":"achieve modularity and separation of concerns through feature-oriented development","contributors":[{"name":"Michiel Helvensteijn","email":"mhelvens@gmail.com"}],"license":"MIT","dependencies":{"babel":"~5"},"devDependencies":{"babel-core":"~5","babel-loader":"~5","bower":"~1","isparta":"~2","isparta-instrumenter-loader":"~0.2","istanbul":"~0.3","jasmine-core":"~2","jsdoc":"~3","jsdoc-to-markdown":"~1","karma":"~0.12","karma-babel-preprocessor":"~5","karma-cli":"~0.0","karma-coverage":"~0.3","karma-coveralls":"~0.1","karma-jasmine":"~0.3","karma-phantomjs-launcher":"~0.1","karma-sourcemap-loader":"~0.3","karma-webpack":"~1","phantomjs-polyfill":"*","uglifyjs":"~2","webpack":"~1","graph.js":"~1"},"scripts":{"prepublish":"npm run build && npm run docs","build":"mkdir -p dist && webpack && uglifyjs dist/delta.js -mo dist/delta.min.js --in-source-map dist/delta.js.map --source-map dist/delta.min.js.map && uglifyjs dist/delta.full.js -mo dist/delta.full.min.js --in-source-map dist/delta.full.js.map --source-map dist/delta.full.min.js.map","test":"karma start","test-ci":"karma start ./karma.ci.conf.js","docs":"jsdoc2md src/**/*.es6.js -t docs/README.md.hbs -d 3 --partial \"./docs/partials/**/*.hbs\" --separators -l JavaScript > README.md"},"gitHead":"70a109aefd7c4888e4bcdc1e5c1af42402243e76","_id":"delta.js@1.4.1-alpha","_shasum":"37feafb69ada7fcb7cfefa78edbdb99a77621bb7","_from":".","_npmVersion":"2.5.0","_nodeVersion":"0.10.36","_npmUser":{"name":"mhelvens","email":"mhelvens@gmail.com"},"maintainers":[{"name":"mhelvens","email":"mhelvens@gmail.com"}],"dist":{"shasum":"37feafb69ada7fcb7cfefa78edbdb99a77621bb7","tarball":"https://registry.npmjs.org/delta.js/-/delta.js-1.4.1-alpha.tgz","integrity":"sha512-SeUwJItZkoSZRu8ryL9inS6m7PGuCdg2hsh8IGogswOQgYWpMQQ3muIAV2gNYDtDjB//oJiY5Mm3hjH9aU4PwA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDQtTcVpvoXZW1qifWd+f6xHhOSleC12H4IutSsHqWLmQIgbxXJqWhhduAxF+J1JZfadTbWj+2wQdWem+007H7RqO0="}]}}},"readme":"# delta.js\n[![Build Status](http://img.shields.io/travis/mhelvens/delta.js.svg)](https://travis-ci.org/mhelvens/delta.js)\n[![Coverage Status](http://img.shields.io/coveralls/mhelvens/delta.js.svg)](https://coveralls.io/r/mhelvens/delta.js?branch=master)\n\nachieve modularity and separation of concerns through feature-oriented programming\n\n\n## Description\n\n<img align=\"right\" width=\"300px\" margin=\"15px\" src=\"./docs/images/sculptor.jpg\" />\n\nProgramming is an activity very prone to human error, especially if you have\nmultiple developers changing the same code-base at the same time.\nAs more and more features are implemented by different programmers, progress will\noften slow to a crawl. Programmers can easily lose overview and step on each others\ntoes when their code is spread across the code base surrounded by\nthe code of others.\n\n*delta.js* helps you organize your JavaScript code in terms of *features*.\nAs it turns out, files, modules, objects, functions (and so on), are not\nthe right abstractions for describing a feature. But they are very good at\nother stuff! This library introduces the notion of a *delta*, which complements\nthose other constructs.\n\nA delta is the place to gather all the code belonging to a specific feature.\nBasically, for each piece of code, you instruct the delta to put that code in\nthe file, module, object or function where it belongs. That way, the code\ncan *physically* be gathered in one place, and therefore be easy to maintain.\n\nThis has other benefits as well. By having some deltas be explicitly applied\n*after* others, you give them permission to overwrite things.\nIf two deltas that are *unordered* try to overwrite each others code,\nyou will get a friendly error message. Moreover, by separating your features\nso explicitly, you will be able to turn them on or off with a switch, for\neither debugging or production.\n\nThis might all seem overly complicated at first. But once you get started,\nyou'll soon fall in love with this approach.\n\nAt this time, delta.js is a runtime library. But in concept, deltas could be\napplied by a preprocessor. This will be supported by a future version.\n\n\n## Installation\n\n<img align=\"right\" width=\"300px\" margin=\"15px\" src=\"./docs/images/foundation.jpg\" />\n\nThis library depends only on the [Babel ES6 polyfill](https://babeljs.io/docs/usage/polyfill/). For your convenience, a delta.js version is provided with this polyfill already baked in, but you also have the option of providing it yourself.\n\n\n### Install using Bower\n\n`delta.js` is available as a [Bower](http://bower.io/) package:\n\n```shell\nbower install delta.js\n```\n\nUnfortunately, the Babel polyfill is [not distributed through Bower](https://github.com/babel/babel/issues/315). So you'll have to either use the version of delta.js with the polyfill baked in, or you'll have to get the polyfill from someplace else, like NPM.\n\n\n### Install using NPM\n\n`delta.js` is available as an [NPM](https://www.npmjs.org) package:\n\n```shell\nnpm install delta.js\n```\n\n## Importing `DeltaJs`\n\nThe delta.js package offers a [UMD](https://github.com/umdjs/umd) API, so it supports\nAMD ([RequireJS](http://requirejs.org/)), CommonJS and script-tags:\n\n```javascript\nrequirejs(['lib/delta.js/dist/delta.js'], function (DeltaJs) {\n    // use DeltaJs\n});\n```\n\n```javascript\nvar DeltaJs = require('lib/delta.js/dist/delta.js')\n// use DeltaJs\n```\n\n```html\n<script src=\"lib/delta.js/dist/delta.js\"></script>\n<!-- use DeltaJs -->\n```\n\n\n###Files\n\nThe `dist` directory offers different files for use in different circumstances.\nUse the following table to determine which file to use in your situation.\n\n| File                          | Description                                                                      |\n| ----------------------------- | -------------------------------------------------------------------------------- |\n| `delta.js`,<br>`delta.min.js` | requires you to load the [Babel polyfill](https://babeljs.io/docs/usage/polyfill/) yourself |\n| `delta.full.js`,<br>`delta.full.min.js` | already includes the Babel polyfill |\n\nIf you don't know which you need, you probably want `delta.full.min.js`, because it will work out-of-the-box. But it is generally more elegant to load the polyfill yourself, especially if you use other libraries that depend on it.\n\n\n## Using `DeltaJs`\n\n<img align=\"right\" width=\"300px\" margin=\"15px\" src=\"./docs/images/selection.jpg\" />\n\n`DeltaJs` is a class that can be instantiated:\n\n```javascript\nvar deltaJs = new DeltaJs();\n```\n\n`deltaJs` is a context within which all new types of delta operation and all project-specific\nfeatures are localized. It is also home to a core *delta model*, which is the structure that\norganizes and orders a set of deltas.\nUsing multiple `DeltaJs` instances allows you to use different sets of deltas and rules in\nthe same project that work independently from each other. But you'll usually need only one.\n\n\n## The `DeltaJs` API\n\n<img align=\"right\" width=\"300px\" margin=\"15px\" src=\"./docs/images/coder-generic.jpg\" />\n\nGiven a `DeltaJs` instance, the following methods are available:\n\n### `.vp(name, initialValue)`\n\nThis method creates a *variation point*. It should be used in your code-base wherever\ndeltas may need to make changes. Each variation point needs a unique name for\ndeltas to refer to. The method modifies a value 'in place', and does not make\na copy. For example:\n\n```javascript\nfunction MyClass() {\n    this.someMethod = function () {};\n    this.someField  = 'some value';\n};\ndeltaJs.vp('MyClass', MyClass);\n```\n\nThis allows the selected deltas to modify the `MyClass` class, as well as all of its\nproperties. The `.vp` method also returns the new value. So the following is equivalent\nto the example above:\n\n```javascript\nvar MyClass = deltaJs.vp('MyClass', function MyClass() {\n    this.someMethod = function () {};\n    this.someField  = 'some value';\n});\n```\n\n\n### `.do(name, [options])`\n\nThis function returns a `Proxy` interface that may be used to easily create\nnew deltas / operations in a core delta model that can then target specific\nvariation points:\n\n```javascript\nvar proxy = deltaJs.do('cool-feature', {\n    // options\n});\n```\n\nThis `proxy` variable can then be used to specify the modifications its\ncorresponding delta should perform, and where to perform them. For example:\n\n```javascript\nproxy.add('MyClass.prototype.coolMethod', function () {\n\t// do something cool\n}).insert('MyClass.prototype.construct', function () {\n\tthis.coolMethod();\n});\n```\n\nSo when the `'cool-feature'` is selected, this delta adds the new `coolMethod` method\nto `MyClass`, and ensures that it is called by the existing `construct` method.\nA comprehensive list of these operations and how to use them follows later in this document.\n\nLike variation points, deltas in a delta model need a unique name. But deltas and variation\npoints have separate namespaces. In other words: you may give a delta and a variation\npoint the same name. (Thought if you find yourself doing this often, you may not have\nfully understood the point of delta.js.)\n\n<table><tr><td><b>Note</b>: For the sake of simplicity, you may assume that deltas and features are the same thing. More advanced users may have reasons to see them as separate entities by providing the option <code>feature: false</code>, but because this option defaults to <code>true</code>, the code above defines both a feature and a delta with the name <code>'cool-feature'</code>, and links them one-to-one. Usually, you don't need to be aware of this, and may treat features and deltas as interchangeable concepts.</table>\n\n\n#### Predicates\n\nBefore listing the supported options, let's briefly describe the notion of 'predicate',\na type of data accepted by several of those options.\nA predicate is a condition on the set of selected features, and can be\ngiven as one of the following:\n\n* the value `true`\n* the value `false`\n* an array of feature-names, interpreted as a conjunction. The condition is true exactly if *all* features in the list are selected.\n\n\n#### Supported Options\n\nThe following options may be passed:\n\n| options              | default   | meaning\n| -------------------- | --------- | -------\n| `feature`            | `true`    | a Boolean, specifying whether a feature with the same name should be linked to this delta\n| `if`                 | `false`   | a predicate, specifying when (if ever) this delta should be automatically selected\n| `onlyIf`             | `true`    | a predicate that is required to hold if this delta is ever selected. If this delta is ever selected without this predicate being met, an error will be thrown whenever this delta is applied.\n| `after`              | `[]`      | a list of delta names. This delta is guaranteed to be applied after the deltas in the list. If the registration of this delta creates an application order *cycle*, an error will be thrown.\n| `selects`            | `[]`      | a list of delta names. If this delta is selected, all deltas in this list will also be selected.\n\nFor convenience, there are some options that combine multiple of the above:\n\n| options     | combines\n| ----------- | --------\n| `iff`       | `if` and `onlyIf`\n| `requires`  | `after` and `selects`\n| `resolves`  | `if`, `onlyIf` and `after`; and sets `feature` to `false`\n\nDeltas representing specific changes to the variation points can be created through\nvarious operations through the `Proxy` API described below.\n\n\n### `.select(...deltaNames)`\n\nThis method can be used to manually select specific features by name.\n\n```javascript\ndeltaJs.select('cool-feature', 'silly-feature', 'debugging-patch-359');\n```\n\nOther features and deltas, if they are linked with the features given,\ncan be automatically pulled in through any `if` or `selects` options.\n\nNote that a feature needs to be registered before it can be selected. And a delta needs to be\nselected before the appearance of any variation point to which it applies. It is probably\nsomething you want to do very early in your application.\n\n\n## The `Proxy` API\n\n<img align=\"right\" width=\"300px\" margin=\"15px\" src=\"./docs/images/coder-generic.jpg\" />\n\nDeltas can modify values in any number of ways, from completely\nreplacing them with other values, to making fine-grained modifications in a deeply nested\nobject. It does so through well-defined *operations*, which you can specify through the\nvarious methods of a `Proxy` instance.\n\nEvery delta *targets* a specific JavaScript object, which we'll denote as `target` in the\ndescriptions below. All operations of that delta act on one of the properties of `target`.\nThe deltas constructed directly from the delta model target an imaginary root object that\ncontains all variation points as properties. We'll denote this object as `root`.\n\n\n### `.modify(key)`\n\nThis method returns another `Proxy` object that targets `target[key]`,\nallowing us to *step into* a sub-object to make fine-grained modifications\ninside:\n\n```javascript\nvar d1 = deltaJs.do('my-delta');         // d1 targets 'root'\nvar d2 = d1.modify('vp1');               // d2 targets 'root.vp1'\nvar d3 = d2.modify('foo').modify('bar'); // d3 targets 'root.vp1.foo.bar'\n```\n\nFor convenience, the `key` can also be given as a dot-separated list:\n\n```javascript\nvar d4 = d1.modify('vp1.foo.bar');       // d4 also targets 'root.vp1.foo.bar'\n```\n\nThe `key` is then usually referred to as a *path*.\nThis also works for the all the other operations below. It implicitly\nconstructs a `.modify` chain to reach the right-most key.\n\n<table><tr><td><b>Note</b>: Because of this shorthand notation, property names that actually\ncontain the <code>.</code> character are not supported (at least for now). If there is any need for this to change, please open a <a href=\"https://github.com/mhelvens/delta.js/issues/new\">GitHub issue</a>.</table>\n\nWhen you've targeted the proper object, you can use the operations described\nbelow to make specific changes to its properties.\n\n\n### `.add(key, newValue)`\n\nThis makes the delta *add* a new property `key` to `target`, such that `target[key] === newValue`.\nBefore the operation, it is expected that `typeof target[key] === 'undefined'`. In other words,\nit cannot already have a property named `key`.\n\n```javascript\ndelta.modify('my-vp.foo').add('bar', 'bas');\nvar value = vp('my-vp', { foo: {}, bar: [] });\nexpect(value).toEqual({ foo: { bar: 'bas' }, bar: [] });\n```\n\n\n### `.remove(key)`\n\nThis makes the delta *remove* the property named `key` from `target`, such that `typeof target[key] === 'undefined'`.\nBefore the operation, it is expected that `typeof target[key] !== 'undefined'`. In other words, it\nmust first *have* a property named `key`.\n\n```javascript\ndelta.modify('my-vp').remove('foo');\nvar value = vp('my-vp', { foo: { bar: 'bas' }, bar: [] });\nexpect(value).toEqual({ bar: [] });\n```\n\n\n### `.replace(key, newValue)`\n\nThis makes the delta *replace* the property named `key` in `target`, such that `target[key] === value`.\nBefore the operation, it is expected that `typeof target[key] !== 'undefined'`. In other words, it\nmust already *have* a property named `key`.\n\n```javascript\ndelta.modify('my-vp').replace('foo', 'bar');\nvar value = vp('my-vp', { foo: { bar: 'bas' }, bar: [] });\nexpect(value).toEqual({ foo: 'bar', bar: [] });\n```\n\n\n### `.prepend(key, newValue)`\n### `.append(key, newValue)`\n### `.insert(key, newValue)`\n\nThese methods work if `target[key]` is an *array* or a *function*,\nand respectively prepend, append or insert `newValue` into it.\n\nIf `target[key]` is a function, `newValue` also needs to be a function,\nwhich will then be set up to run in the position where it is placed,\nand provided with the same arguments and `this` context of the original\nfunction-call.\n\nThe `.prepend` operation places the value in the beginning,\nand `.append` places it at the end of the existing array / function.\n\nThe `.insert` operation is special, because it gives the delta the\nfreedom to put the value in an arbitrary position; you don't have\nany control over the placement.\nThe advantage of `.insert` is that the order between multiple\ninsertions does not matter. As far as delta.js is concerned,\n`d.insert('f', fn1).insert('f', fn2)` and `d.insert('f', fn2).insert('f', fn1)`\nare equivalent. Moreover, two unordered deltas can insert things into the same\narray or function without this being regarded as a conflict.\n\nFor example, for an array:\n\n```javascript\ndelta.modify('my-vp').append('a', 999).prepend('a', -999);\nvar value = vp('my-vp', {\n    a: [1, 2, 3]\n});\nexpect(value).toEqual({\n\ta: [-999, 1, 2, 3, 999]\n});\n```\n\nAnd for a function:\n\n```javascript\ndelta.modify('my-vp').append('f', function (a, b) {\n    doOtherThings(a, b);\n});\nvar value = vp('my-vp', {\n    f: function (a, b, c) {\n        doThings(b, c);\n    }\n});\n```\nThe variable `value` will be equivalent to:\n```javascript\n{\n    f: function () {\n        (function (a, b, c) {\n            doThings(a, b);\n        }).apply(this, arguments);\n        (function (a, b) {\n            doOtherThings(a, b);\n        }).apply(this, arguments);\n    }\n}\n```\n\ndelta.js cannot actually add statements to existing functions. Instead,\nit defines a new function, which calls the original and the added function\nin the proper order, properly passing the function arguments and `this`\ncontext to both. This has some consequences:\n\n* Local variables are not shared across function 'parts'. 'Function-part local' is also 'delta local'.\n* All non-standard properties of a function are lost after a `.prepend`, `.append` or `.insert`.\n  If this is undesirable, it is recommended that the original function is written to call\n  an auxiliary function, so the delta operations can apply to the auxiliary. For class\n  constructors, it is recommended that you use a function `Class.prototype.construct` for\n  this purpose:\n\n```javascript\nfunction MyClass() { this.construct.apply(this, arguments) }\nMyClass.prototype.construct = function () {};\ndeltaJs.vp('MyClass', MyClass)\n```\n```javascript\ndeltaJs.do('my-delta').append('MyClass.prototype.construct', function (a, b, c) {\n    this.doExtraThings(a, b, c);\n});\n```\n\n\n## Future Plans\n\n<img align=\"right\" width=\"300px\" margin=\"15px\" src=\"./docs/images/factory.jpg\" />\n\nHere is an incomplete list of future plans for this library:\n\n* support for changing HTML and CSS with deltas\n* transpiler to resolve deltas at build-time\n\n<div style=\"clear: both\">&nbsp;</div>\n\n\n## License\n\n`delta.js` is released under the terms of the [MIT license](http://en.wikipedia.org/wiki/MIT_License).\nIt permits reuse within both open and proprietary software, provided\nall copies of the licensed software include a copy of the MIT License\nterms and the copyright notice.\n","maintainers":[{"name":"mhelvens","email":"mhelvens@gmail.com"}],"time":{"modified":"2022-06-15T00:01:21.617Z","created":"2014-10-22T18:04:36.904Z","0.1.1":"2014-10-22T18:04:36.904Z","0.2.0":"2014-10-26T19:58:22.852Z","0.2.1":"2014-11-02T16:19:37.953Z","0.2.2":"2014-11-04T18:51:03.700Z","0.2.3":"2014-11-04T20:23:08.226Z","0.2.4":"2014-11-20T18:23:37.586Z","0.3.0":"2014-11-23T22:29:24.652Z","0.5.0":"2014-12-06T22:18:26.281Z","1.0.0-alpha.1":"2015-02-06T15:17:13.588Z","1.0.1-alpha.1":"2015-02-06T16:12:14.708Z","1.0.2-alpha":"2015-02-19T20:32:43.362Z","1.1.0-alpha":"2015-03-26T21:58:24.532Z","1.1.1-alpha":"2015-03-27T14:24:24.781Z","1.1.2-alpha":"2015-03-27T15:23:40.374Z","1.2.0-alpha":"2015-04-02T22:59:17.009Z","1.2.2-alpha":"2015-04-02T23:02:31.964Z","1.3.0-alpha":"2015-04-03T19:59:30.088Z","1.3.1-alpha":"2015-04-14T13:41:31.772Z","1.3.2-alpha":"2015-04-15T14:02:12.802Z","1.4.1-alpha":"2015-04-28T12:24:41.220Z"},"contributors":[{"name":"Michiel Helvensteijn","email":"mhelvens@gmail.com"}],"license":"MIT","readmeFilename":"README.md"}