{"_id":"rythm.js","_rev":"28-6b39857aa60cb0239405e5027708eb14","name":"rythm.js","dist-tags":{"latest":"2.2.6"},"versions":{"1.0.0":{"name":"rythm.js","version":"1.0.0","author":{"name":"Benjamin Plouzennec","email":"plouzennec.benjamin@gmail.com"},"license":"ISC","_id":"rythm.js@1.0.0","maintainers":[{"name":"okazari","email":"plouzennec.benjamin@gmail.com"}],"dist":{"shasum":"ef624bc17d3a85b3deacc454885ab6b31044856e","tarball":"https://registry.npmjs.org/rythm.js/-/rythm.js-1.0.0.tgz","integrity":"sha512-TP3KQoK5ESrze6+4tsEeBOLOqJ2XfSU04tUBStLsxq7KrUvblb2ik5lKds3K42mEboy9Q1xzPEFh8vXO3++SRw==","signatures":[{"sig":"MEUCIQC0X1sPZ7JffUuE+M/TVdh01UPXhIk2nU9VI3SZH4iT1wIgdh4GLqMCUuX6QOseDS4UgwPhX2E5OKe4wLj8v30qpZA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"rythm.js","_from":".","_shasum":"ef624bc17d3a85b3deacc454885ab6b31044856e","gitHead":"d42e7ee42ce3d37ae67d9729aaafe7ea39b12a09","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"okazari","email":"plouzennec.benjamin@gmail.com"},"_npmVersion":"2.14.20","description":"Rythm.js ========","directories":{},"_nodeVersion":"4.4.0","dependencies":{},"devDependencies":{"gulp-webserver":"^0.9.1"},"_npmOperationalInternal":{"tmp":"tmp/rythm.js-1.0.0.tgz_1458033513119_0.48314923560246825","host":"packages-12-west.internal.npmjs.com"}},"1.1.0":{"name":"rythm.js","version":"1.1.0","author":{"name":"Benjamin Plouzennec","email":"plouzennec.benjamin@gmail.com"},"license":"ISC","_id":"rythm.js@1.1.0","maintainers":[{"name":"okazari","email":"plouzennec.benjamin@gmail.com"}],"dist":{"shasum":"df69aca1747d3995df663448dc7c8921e8b7b17c","tarball":"https://registry.npmjs.org/rythm.js/-/rythm.js-1.1.0.tgz","integrity":"sha512-TXp78HFXVAz6/vBQDKRCUOLiSV52XWjFrfI+UaW2WW8saURN4YCs+IisPFvhxNqZRoSwnd4bYghqK/kyh4npHg==","signatures":[{"sig":"MEQCIEfel/bVHt/ivepXgrwd+RNWpo3OjGYGPhiChwx1KTvWAiAWaChQEqvQ5ekuk3Gf8NwIU7FLahcB6DmPKp/orIfY5g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"rythm.js","_from":".","_shasum":"df69aca1747d3995df663448dc7c8921e8b7b17c","gitHead":"17efa14453354103f86dfc70defc6b7ef0c43605","scripts":{"test":"echo \"No test specified\" && exit 0"},"_npmUser":{"name":"okazari","email":"plouzennec.benjamin@gmail.com"},"_npmVersion":"2.14.20","description":"Rythm.js ======== [![Build Status](https://travis-ci.org/Okazari/Rythm.js.svg?branch=master)](https://travis-ci.org/Okazari/Rythm.js) [![Code Climate](https://codeclimate.com/github/Okazari/Rythm.js/badges/gpa.svg)](https://codeclimate.com/github/Okazari/","directories":{},"_nodeVersion":"4.4.0","dependencies":{},"devDependencies":{"gulp-webserver":"^0.9.1"},"_npmOperationalInternal":{"tmp":"tmp/rythm.js-1.1.0.tgz_1458319221979_0.8999858293682337","host":"packages-12-west.internal.npmjs.com"}},"1.1.1":{"name":"rythm.js","version":"1.1.1","author":{"name":"Benjamin Plouzennec","email":"plouzennec.benjamin@gmail.com"},"license":"ISC","_id":"rythm.js@1.1.1","maintainers":[{"name":"okazari","email":"plouzennec.benjamin@gmail.com"}],"dist":{"shasum":"180d7dba18414f69f19260bff3ee94be1aa30352","tarball":"https://registry.npmjs.org/rythm.js/-/rythm.js-1.1.1.tgz","integrity":"sha512-FvPce21w4VYIvb1lfsibULArW5qtPuiV1boW12ee0ir/2Bk37CeYiUGhO0BJPFTgg/TcrnaHHpO8geBA/dc4eg==","signatures":[{"sig":"MEUCIQCspC2vjrwBM5smp2A555Noh7gi49EHDWfy++m7Svbk6AIgQMofdu6/3LR4rYMqSYPKmTHK7Z9Mg0j48KQjVYt68wg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"rythm.js","_from":".","_shasum":"180d7dba18414f69f19260bff3ee94be1aa30352","gitHead":"dfdaf44792c9075c5d832c2ced3b0042e345d671","scripts":{"test":"echo \"No test specified\" && exit 0"},"_npmUser":{"name":"okazari","email":"plouzennec.benjamin@gmail.com"},"_npmVersion":"2.14.20","description":"Rythm.js ======== [![Build Status](https://travis-ci.org/Okazari/Rythm.js.svg?branch=master)](https://travis-ci.org/Okazari/Rythm.js) [![Code Climate](https://codeclimate.com/github/Okazari/Rythm.js/badges/gpa.svg)](https://codeclimate.com/github/Okazari/","directories":{},"_nodeVersion":"4.4.0","dependencies":{},"devDependencies":{"gulp-webserver":"^0.9.1"},"_npmOperationalInternal":{"tmp":"tmp/rythm.js-1.1.1.tgz_1458945840755_0.6105745143722743","host":"packages-16-east.internal.npmjs.com"}},"1.2.0":{"name":"rythm.js","version":"1.2.0","author":{"name":"Benjamin Plouzennec","email":"plouzennec.benjamin@gmail.com"},"license":"ISC","_id":"rythm.js@1.2.0","maintainers":[{"name":"okazari","email":"plouzennec.benjamin@gmail.com"}],"dist":{"shasum":"023d2430515d97f8a442db043004e83887fbc04e","tarball":"https://registry.npmjs.org/rythm.js/-/rythm.js-1.2.0.tgz","integrity":"sha512-OtWDA43qkYLD6ha0dHys5Ajv9QSuxxTNVRPkuK4QKjbhRdxT80kxc1/CYbpAqvPC/79KutADGWeBpb/mh2hhfA==","signatures":[{"sig":"MEYCIQCaqG+VPs8OYaLzFIe/TTd8EhlJc3GvZ3dMVRdonDNgygIhAL/ZF1okjRiyQFH4UQ+fm4uD9C45GLyOl7hnK9oVHZsR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"rythm.js","_from":".","_shasum":"023d2430515d97f8a442db043004e83887fbc04e","gitHead":"405abee3883af64cde66ec9f071f31af1f6f5acc","scripts":{"test":"echo \"No test specified\" && exit 0"},"_npmUser":{"name":"okazari","email":"plouzennec.benjamin@gmail.com"},"_npmVersion":"2.14.20","description":"Rythm.js ========","directories":{},"_nodeVersion":"4.4.0","dependencies":{},"devDependencies":{"gulp-webserver":"^0.9.1"},"_npmOperationalInternal":{"tmp":"tmp/rythm.js-1.2.0.tgz_1458951819822_0.9650621975306422","host":"packages-12-west.internal.npmjs.com"}},"1.2.1":{"name":"rythm.js","version":"1.2.1","author":{"name":"Benjamin Plouzennec","email":"plouzennec.benjamin@gmail.com"},"license":"ISC","_id":"rythm.js@1.2.1","maintainers":[{"name":"okazari","email":"plouzennec.benjamin@gmail.com"}],"dist":{"shasum":"339a06427bd6d619c0144939a9f220e28b133109","tarball":"https://registry.npmjs.org/rythm.js/-/rythm.js-1.2.1.tgz","integrity":"sha512-3GIHhW5UbK2vCamCjnnJ91B7+xvlWikRylz2PG535SpUBGzHK6gcKpqQFRz+V9dCUy1izIT5SwbFfooR+bvVJA==","signatures":[{"sig":"MEQCIEOtt1kTAl4jE3XR5n7LFs57tv7AiR1ZkQ+oCHW/WmeFAiBMZKrc++mopPIOT5cdL1oJNJsJ0+kSDbuplYLJCBzeBw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"rythm.js","_from":".","_shasum":"339a06427bd6d619c0144939a9f220e28b133109","gitHead":"7cb34d5defb685c9c2b75d0cb55f4d527effcb3d","scripts":{"test":"echo \"No test specified\" && exit 0"},"_npmUser":{"name":"okazari","email":"plouzennec.benjamin@gmail.com"},"_npmVersion":"2.14.20","description":"Rythm.js ========","directories":{},"_nodeVersion":"4.4.0","dependencies":{},"devDependencies":{"gulp-webserver":"^0.9.1"},"_npmOperationalInternal":{"tmp":"tmp/rythm.js-1.2.1.tgz_1458952317247_0.5460056527517736","host":"packages-12-west.internal.npmjs.com"}},"1.2.2":{"name":"rythm.js","version":"1.2.2","author":{"name":"Benjamin Plouzennec","email":"plouzennec.benjamin@gmail.com"},"license":"ISC","_id":"rythm.js@1.2.2","maintainers":[{"name":"okazari","email":"plouzennec.benjamin@gmail.com"}],"dist":{"shasum":"b7d305627b8d6ba4591a01fdbe27897fe69e035d","tarball":"https://registry.npmjs.org/rythm.js/-/rythm.js-1.2.2.tgz","integrity":"sha512-qJbe/BmxE+wT3jxw4Fxnku0kWBlYd4PJQmt2MR5WA7iSAl4+LhsZ0LRVqg5XPZjDqJBC7a2c5Fjws3s85bQ2Ug==","signatures":[{"sig":"MEUCIHK9G7uXy6H8203TF+YRZrRSGNJQRsU09vC+FDjzReErAiEApCf/4DFMCVu34ztAERt12eyjdiuKypevYd7YiCb1Ts0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"rythm.js","_from":".","_shasum":"b7d305627b8d6ba4591a01fdbe27897fe69e035d","gitHead":"21c23667794c0b2d27d9fcc43da3bb2ed3d8c5ae","scripts":{"test":"echo \"No test specified\" && exit 0"},"_npmUser":{"name":"okazari","email":"plouzennec.benjamin@gmail.com"},"_npmVersion":"2.14.20","description":"Rythm.js ========","directories":{},"_nodeVersion":"4.4.0","dependencies":{},"devDependencies":{"gulp-webserver":"^0.9.1"},"_npmOperationalInternal":{"tmp":"tmp/rythm.js-1.2.2.tgz_1458955093109_0.70184245868586","host":"packages-12-west.internal.npmjs.com"}},"1.2.3":{"name":"rythm.js","version":"1.2.3","author":{"name":"Benjamin Plouzennec","email":"plouzennec.benjamin@gmail.com"},"license":"ISC","_id":"rythm.js@1.2.3","maintainers":[{"name":"okazari","email":"plouzennec.benjamin@gmail.com"}],"dist":{"shasum":"3df43d866c793ef53cae80a0318e219bb6927c94","tarball":"https://registry.npmjs.org/rythm.js/-/rythm.js-1.2.3.tgz","integrity":"sha512-nV38lmOyjQr9X1cD5Rc2vc+qtgq39kmW38hf0LmOfxeD4iL8JnfIgyQx0U+y4KepLTQGUEpB0Qk4pE60CUioSg==","signatures":[{"sig":"MEUCIQCV8BIvXA+24Zz9PPrIDhtAZzdKClzVCuPiE3KSXWc3WgIgN7sdIzdczj1tnxa4OWgc6bok3QAuxxP/4/gbNsdG3WA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"rythm.js","_from":".","_shasum":"3df43d866c793ef53cae80a0318e219bb6927c94","gitHead":"3769fb6a81b2103a7cdcd8fbbbdd7d093f40ceab","scripts":{"test":"echo \"No test specified\" && exit 0","start":"gulp"},"_npmUser":{"name":"okazari","email":"plouzennec.benjamin@gmail.com"},"_npmVersion":"3.10.10","description":"Rythm.js\r ========","directories":{},"_nodeVersion":"6.9.4","dependencies":{},"devDependencies":{"gulp-webserver":"^0.9.1"},"_npmOperationalInternal":{"tmp":"tmp/rythm.js-1.2.3.tgz_1487414793471_0.6569882484618574","host":"packages-12-west.internal.npmjs.com"}},"1.2.4":{"name":"rythm.js","version":"1.2.4","author":{"name":"Benjamin Plouzennec","email":"plouzennec.benjamin@gmail.com"},"license":"ISC","_id":"rythm.js@1.2.4","maintainers":[{"name":"okazari","email":"plouzennec.benjamin@gmail.com"}],"dist":{"shasum":"e441c93f9ed23d18c49fd68fa52630791027d71b","tarball":"https://registry.npmjs.org/rythm.js/-/rythm.js-1.2.4.tgz","integrity":"sha512-6eAWS36jThNZYU7/qRCp64c83y41rfh8UUH//w2aJ7/6CtZDuIIsWHryhhqKUxr+rfJ8GftPT07aCxhn5t4fmQ==","signatures":[{"sig":"MEYCIQDNyiFq4bOVaJ8W9BjM2lPVIEu5imNkF2ym5p75l+73IQIhAN3n3o/x/ZWxG/v+AHAnyNpxqt13V6lRQOPjcvwTZTJO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"rythm.js","_from":".","files":["rythm.js"],"_shasum":"e441c93f9ed23d18c49fd68fa52630791027d71b","gitHead":"35201aef922606f4a82d3cc5b2e0d76eb8a0ce4e","scripts":{"test":"echo \"No test specified\" && exit 0","build":"gulp build","start":"gulp","prepublish":"npm run build"},"_npmUser":{"name":"okazari","email":"plouzennec.benjamin@gmail.com"},"_npmVersion":"3.10.10","description":"Rythm.js\r ========","directories":{},"_nodeVersion":"6.9.4","dependencies":{},"devDependencies":{"gulp":"^3.9.1","rollup":"^0.41.4","gulp-webserver":"^0.9.1"},"_npmOperationalInternal":{"tmp":"tmp/rythm.js-1.2.4.tgz_1487428198793_0.1856224606744945","host":"packages-12-west.internal.npmjs.com"}},"2.0.0":{"name":"rythm.js","version":"2.0.0","author":{"name":"Benjamin Plouzennec","email":"plouzennec.benjamin@gmail.com"},"license":"GNU GPL","_id":"rythm.js@2.0.0","maintainers":[{"name":"okazari","email":"plouzennec.benjamin@gmail.com"}],"dist":{"shasum":"3a09bd298d3dbfac7db1af5e7ee7b83ebbf7fc38","tarball":"https://registry.npmjs.org/rythm.js/-/rythm.js-2.0.0.tgz","integrity":"sha512-ZsKehTxlS1vUqc6qWCWeL82xOyWRSWvY9pz50bgXF0ARot4SvjcAHvJK1r7lM60afrKVxfoC5uW2t1eslGpaxQ==","signatures":[{"sig":"MEUCIAUOALznhu/leOGSRuqcuL6J+jAncK8ak7kDg+kssOqKAiEA5quTM1SWHxH0SM1hZo+0wpgDPkRSBqIBZ+4BXXYCDDQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"rythm.js","_from":".","files":["rythm.js"],"_shasum":"3a09bd298d3dbfac7db1af5e7ee7b83ebbf7fc38","gitHead":"573264b6a9f0eeaeb3bc299df5b24cb1dace76d4","scripts":{"test":"echo \"No test specified\" && exit 0","build":"rollup -c","serve":"gulp serve","start":"concurrently --kill-others  \"npm run serve\" \"rollup -c -w\"","prepublish":"npm run build"},"_npmUser":{"name":"okazari","email":"plouzennec.benjamin@gmail.com"},"_npmVersion":"3.10.10","description":"Rythm.js - v2.0.0\r ========","directories":{},"_nodeVersion":"6.9.4","dependencies":{},"devDependencies":{"gulp":"^3.9.1","eslint":"^3.15.0","rollup":"^0.41.4","babel-eslint":"^7.1.1","concurrently":"^3.3.0","rollup-watch":"^3.2.2","babel-register":"^6.23.0","babelrc-rollup":"^3.0.0","gulp-webserver":"^0.9.1","babel-preset-es2015":"^6.22.0","rollup-plugin-babel":"^2.7.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/rythm.js-2.0.0.tgz_1488659331619_0.19981501600705087","host":"packages-12-west.internal.npmjs.com"}},"2.0.1":{"name":"rythm.js","version":"2.0.1","author":{"name":"Benjamin Plouzennec","email":"plouzennec.benjamin@gmail.com"},"license":"GNU GPL","_id":"rythm.js@2.0.1","maintainers":[{"name":"okazari","email":"plouzennec.benjamin@gmail.com"}],"dist":{"shasum":"417a36a04042d7336946421185a2372f586f09a3","tarball":"https://registry.npmjs.org/rythm.js/-/rythm.js-2.0.1.tgz","integrity":"sha512-ktwmYvWOHEP4TnOKQNLCWZFQ97ZEHrJgEaghQ35IBVVyIW3DdZnI2c2r2T+kAEGL21N67EJTMEebzSzPS0K24w==","signatures":[{"sig":"MEQCIBSd+qe8f1Qm9zoL/EZdziF6X84gsJVujWk7qZhOsL+bAiAlciP0S62kxcpbZKHYdJBmn19pbLkExCKuAkpR4XZwgg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"rythm.js","_from":".","files":["rythm.js"],"_shasum":"417a36a04042d7336946421185a2372f586f09a3","gitHead":"edb8ce4b62d680896291a11e2049832ddc279156","scripts":{"test":"echo \"No test specified\" && exit 0","build":"rollup -c","serve":"gulp serve","start":"concurrently --kill-others  \"npm run serve\" \"rollup -c -w\"","prepublish":"npm run build"},"_npmUser":{"name":"okazari","email":"plouzennec.benjamin@gmail.com"},"_npmVersion":"3.10.10","description":"Rythm.js - v2.0.0\r ========","directories":{},"_nodeVersion":"6.9.4","dependencies":{},"devDependencies":{"gulp":"^3.9.1","eslint":"^3.15.0","rollup":"^0.41.4","babel-eslint":"^7.1.1","concurrently":"^3.3.0","rollup-watch":"^3.2.2","babel-register":"^6.23.0","babelrc-rollup":"^3.0.0","gulp-webserver":"^0.9.1","babel-preset-es2015":"^6.22.0","rollup-plugin-babel":"^2.7.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/rythm.js-2.0.1.tgz_1488713207155_0.7701031749602407","host":"packages-12-west.internal.npmjs.com"}},"2.0.2":{"name":"rythm.js","version":"2.0.2","author":{"name":"Benjamin Plouzennec","email":"plouzennec.benjamin@gmail.com"},"license":"GNU GPL","_id":"rythm.js@2.0.2","maintainers":[{"name":"okazari","email":"plouzennec.benjamin@gmail.com"}],"dist":{"shasum":"db391f1b034904c2eea3606f0581531e50fe5412","tarball":"https://registry.npmjs.org/rythm.js/-/rythm.js-2.0.2.tgz","integrity":"sha512-Xnb6BHdbZgZ8WK3OsFl3da16A6Yc4TNnAjj6855H/kSsaPck3Wz0JlFXp/HwXgZriImHQXNtj4aELIvQXpNpfA==","signatures":[{"sig":"MEUCIQDwLmfV4pQeVA7O3MJg2kjG7u/Lyx1h609ruiXDpywF2QIgRCN2yhIYTIBpQlcGDhEOyIY1W74oshnvLtM6C5LYMeI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"rythm.js","_from":".","files":["rythm.js"],"_shasum":"db391f1b034904c2eea3606f0581531e50fe5412","gitHead":"7a8c402dc15d9d60a60f10962326244e2dcf0c8c","scripts":{"test":"echo \"No test specified\" && exit 0","build":"rollup -c","serve":"gulp serve","start":"concurrently --kill-others  \"npm run serve\" \"rollup -c -w\"","prepublish":"npm run build"},"_npmUser":{"name":"okazari","email":"plouzennec.benjamin@gmail.com"},"_npmVersion":"3.10.10","description":"Rythm.js - v2.0.0\r ========","directories":{},"_nodeVersion":"6.9.4","dependencies":{},"devDependencies":{"gulp":"^3.9.1","eslint":"^3.15.0","rollup":"^0.41.4","babel-eslint":"^7.1.1","concurrently":"^3.3.0","rollup-watch":"^3.2.2","babel-register":"^6.23.0","babelrc-rollup":"^3.0.0","gulp-webserver":"^0.9.1","babel-preset-es2015":"^6.22.0","rollup-plugin-babel":"^2.7.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/rythm.js-2.0.2.tgz_1490543917941_0.4355678684078157","host":"packages-12-west.internal.npmjs.com"}},"2.0.3":{"name":"rythm.js","version":"2.0.3","author":{"name":"Benjamin Plouzennec","email":"plouzennec.benjamin@gmail.com"},"license":"GNU GPL","_id":"rythm.js@2.0.3","maintainers":[{"name":"okazari","email":"plouzennec.benjamin@gmail.com"}],"dist":{"shasum":"e3794c39880949a80ed7943b62142bd3b4c83279","tarball":"https://registry.npmjs.org/rythm.js/-/rythm.js-2.0.3.tgz","integrity":"sha512-04itEfXZGyDSFKqOIu5A1VBQ92qOrS9Dngv92V9OdcUtxSkOaRx4Swuvfo8CV9cNxBTkgLdpbmFV8U2Sd4qi9w==","signatures":[{"sig":"MEUCIQClPkHE7AU1AocnT1ByAyaH2beNmeTc1RthBbRiyk/tawIgFB/Jt3eVThmdyvGeDZEaUDuvrGnMluDL90a1SBPCSr4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"rythm.js","_from":".","files":["rythm.js"],"_shasum":"e3794c39880949a80ed7943b62142bd3b4c83279","gitHead":"4b06abe813233aa5ba0f377d02b91eceddd0e310","scripts":{"test":"echo \"No test specified\" && exit 0","build":"rollup -c","serve":"gulp serve","start":"concurrently --kill-others  \"npm run serve\" \"rollup -c -w\"","prepublish":"npm run build"},"_npmUser":{"name":"okazari","email":"plouzennec.benjamin@gmail.com"},"_npmVersion":"3.10.10","description":"Rythm.js - v2.0.3\r ========","directories":{},"_nodeVersion":"6.9.4","dependencies":{},"devDependencies":{"gulp":"^3.9.1","eslint":"^3.15.0","rollup":"^0.41.4","babel-eslint":"^7.1.1","concurrently":"^3.3.0","rollup-watch":"^3.2.2","babel-register":"^6.23.0","babelrc-rollup":"^3.0.0","gulp-webserver":"^0.9.1","babel-preset-es2015":"^6.22.0","rollup-plugin-babel":"^2.7.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/rythm.js-2.0.3.tgz_1490544562193_0.008196309907361865","host":"packages-12-west.internal.npmjs.com"}},"2.0.4":{"name":"rythm.js","version":"2.0.4","author":{"name":"Benjamin Plouzennec","email":"plouzennec.benjamin@gmail.com"},"license":"GNU GPL","_id":"rythm.js@2.0.4","maintainers":[{"name":"okazari","email":"plouzennec.benjamin@gmail.com"}],"dist":{"shasum":"113979f5eb0f8ea965db921ff081f78393406e02","tarball":"https://registry.npmjs.org/rythm.js/-/rythm.js-2.0.4.tgz","integrity":"sha512-ydWMIcqmOdI1BGFPptwSbwa87sOCp+W03lV5jEND+AXGqLn0he9dT3ORlByQ9vzH2vOszluakK76FuvV8SLDfw==","signatures":[{"sig":"MEUCIDujTWeoskiei5c/IAjvLbUKTaB6ddhHz9W30rYVlj8eAiEA6iPuD45twi2Cup+5Mq1e8jpwJd3g4ojr/MCZoTrB/ug=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"rythm.js","_from":".","files":["rythm.js"],"_shasum":"113979f5eb0f8ea965db921ff081f78393406e02","gitHead":"e2afb83db75328a187e9fad29574be1995989251","scripts":{"test":"echo \"No test specified\" && exit 0","build":"rollup -c","serve":"gulp serve","start":"concurrently --kill-others  \"npm run serve\" \"rollup -c -w\"","prepublish":"npm run build"},"_npmUser":{"name":"okazari","email":"plouzennec.benjamin@gmail.com"},"_npmVersion":"4.0.2","description":"Rythm.js - v2.0.4 ========","directories":{},"_nodeVersion":"6.9.1","dependencies":{},"devDependencies":{"gulp":"^3.9.1","eslint":"^3.15.0","rollup":"^0.41.4","babel-eslint":"^7.1.1","concurrently":"^3.3.0","rollup-watch":"^3.2.2","babel-register":"^6.23.0","babelrc-rollup":"^3.0.0","gulp-webserver":"^0.9.1","babel-preset-es2015":"^6.22.0","rollup-plugin-babel":"^2.7.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/rythm.js-2.0.4.tgz_1493109973944_0.3650949241127819","host":"packages-18-east.internal.npmjs.com"}},"2.0.5":{"name":"rythm.js","version":"2.0.5","author":{"name":"Benjamin Plouzennec","email":"plouzennec.benjamin@gmail.com"},"license":"GNU GPL","_id":"rythm.js@2.0.5","maintainers":[{"name":"okazari","email":"plouzennec.benjamin@gmail.com"}],"dist":{"shasum":"f336d19b67122a7ec1b6048f2b0f0c262d2db6b3","tarball":"https://registry.npmjs.org/rythm.js/-/rythm.js-2.0.5.tgz","integrity":"sha512-tEvC9x6E3WfglF+ns/qwwWh4NAXxkmVcWhZ1CnShmkaHmbS5FPmKb+6ge3qs2o+TSsQ7tiwG8u8qVFFPBRBtwg==","signatures":[{"sig":"MEYCIQC0LuaLEdWB6WwLFNnI4d7Ywu2qlA3aUzgQtQ0tUZzdqwIhAIYJ2CGg0ImJtYda2XO1FiQPuOo5sdBBdIWWsjTJU7EI","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"rythm.js","_from":".","files":["rythm.js"],"_shasum":"f336d19b67122a7ec1b6048f2b0f0c262d2db6b3","gitHead":"33274eea2f81225eb14f4c6ede1da8307bf6c6ef","scripts":{"test":"echo \"No test specified\" && exit 0","build":"rollup -c","serve":"gulp serve","start":"concurrently --kill-others  \"npm run serve\" \"rollup -c -w\"","prepublish":"npm run build"},"_npmUser":{"name":"okazari","email":"plouzennec.benjamin@gmail.com"},"_npmVersion":"4.0.2","description":"Rythm.js - v2.0.5 ========","directories":{},"_nodeVersion":"6.9.1","dependencies":{},"devDependencies":{"gulp":"^3.9.1","eslint":"^3.15.0","rollup":"^0.41.4","babel-eslint":"^7.1.1","concurrently":"^3.3.0","rollup-watch":"^3.2.2","babel-register":"^6.23.0","babelrc-rollup":"^3.0.0","gulp-webserver":"^0.9.1","babel-preset-es2015":"^6.22.0","rollup-plugin-babel":"^2.7.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/rythm.js-2.0.5.tgz_1496216815039_0.19512085476890206","host":"s3://npm-registry-packages"}},"2.0.7":{"name":"rythm.js","version":"2.0.7","author":{"name":"Benjamin Plouzennec","email":"plouzennec.benjamin@gmail.com"},"license":"GNU GPL","_id":"rythm.js@2.0.7","maintainers":[{"name":"okazari","email":"plouzennec.benjamin@gmail.com"}],"dist":{"shasum":"adf80961b184e6c3850be3255ee44e30d55e02de","tarball":"https://registry.npmjs.org/rythm.js/-/rythm.js-2.0.7.tgz","integrity":"sha512-+P4nNt2Doi0BE8kF7tNdBcP/KwrzY4CoTC6ovIzIefPGSpALI1M8HHmJev3tlVZJhRx08wRLoPpYQXEfyx0jZA==","signatures":[{"sig":"MEQCIAsQbxBwFvlFicTta+pHmckjvG52FtJFuxDeVf+e9z+7AiAzshU/vqOXuETj+7fZvfB8E3THRoY5C56x3ck+XAlHHQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"rythm.js","_from":".","files":["rythm.js"],"_shasum":"adf80961b184e6c3850be3255ee44e30d55e02de","gitHead":"6d8fd5623eb7500590c78f568694ab7e4b72d7e1","scripts":{"test":"echo \"No test specified\" && exit 0","build":"rollup -c","serve":"gulp serve","start":"concurrently --kill-others  \"npm run serve\" \"rollup -c -w\"","prepublish":"npm run build"},"_npmUser":{"name":"okazari","email":"plouzennec.benjamin@gmail.com"},"_npmVersion":"3.10.10","description":"Rythm.js - v2.0.7\r ========","directories":{},"_nodeVersion":"6.9.4","dependencies":{},"devDependencies":{"gulp":"^3.9.1","eslint":"^3.15.0","rollup":"^0.41.4","babel-eslint":"^7.1.1","concurrently":"^3.3.0","rollup-watch":"^3.2.2","babel-register":"^6.23.0","babelrc-rollup":"^3.0.0","gulp-webserver":"^0.9.1","babel-preset-es2015":"^6.22.0","rollup-plugin-babel":"^2.7.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/rythm.js-2.0.7.tgz_1504650778321_0.4251422577071935","host":"s3://npm-registry-packages"}},"2.1.0":{"name":"rythm.js","version":"2.1.0","author":{"name":"Benjamin Plouzennec","email":"plouzennec.benjamin@gmail.com"},"license":"GNU GPL","_id":"rythm.js@2.1.0","maintainers":[{"name":"okazari","email":"plouzennec.benjamin@gmail.com"}],"dist":{"shasum":"04ce56f9a8b73ee33c817e08d086f40fbf50fca2","tarball":"https://registry.npmjs.org/rythm.js/-/rythm.js-2.1.0.tgz","integrity":"sha512-A4U7ipynknxZSei0mc5P9So1c/obyLHG/hB0h4csl2J+pz/x/3svQ/GFFy73GjMGGSMYgRm2VtJFAojbitir6A==","signatures":[{"sig":"MEUCIQDwFh/+wRRGyPY6rn6DT5zWtY6z+5s+wE670Fe9tAGrbAIgVdsmJ3E4cBl+SWiQy0JUkRPSJ7RO09PyElkb3AltYf8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"rythm.js","_from":".","files":["rythm.js","rythm.min.js"],"_shasum":"04ce56f9a8b73ee33c817e08d086f40fbf50fca2","gitHead":"d0ccc6e2f3f7af4adde55add13080dd224cf3df1","scripts":{"test":"echo \"No test specified\" && exit 0","build":"node build.js","serve":"gulp serve","start":"concurrently --kill-others  \"npm run serve\" \"npm run build -w\"","prepublish":"npm run build"},"_npmUser":{"name":"okazari","email":"plouzennec.benjamin@gmail.com"},"_npmVersion":"3.10.10","description":"Rythm.js - v2.1.0\r ========","directories":{},"_nodeVersion":"6.10.3","dependencies":{},"devDependencies":{"gulp":"^3.9.1","eslint":"^3.15.0","rollup":"^0.41.4","uglify-es":"^3.0.28","babel-eslint":"^7.1.1","concurrently":"^3.3.0","rollup-watch":"^3.2.2","babel-register":"^6.23.0","babelrc-rollup":"^3.0.0","gulp-webserver":"^0.9.1","command-line-args":"^4.0.7","babel-preset-es2015":"^6.22.0","rollup-plugin-babel":"^2.7.1","rollup-plugin-uglify":"^2.0.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/rythm.js-2.1.0.tgz_1504691023209_0.20676617068238556","host":"s3://npm-registry-packages"}},"2.1.1":{"name":"rythm.js","version":"2.1.1","author":{"name":"Benjamin Plouzennec","email":"plouzennec.benjamin@gmail.com"},"license":"GNU GPL","_id":"rythm.js@2.1.1","maintainers":[{"name":"okazari","email":"plouzennec.benjamin@gmail.com"}],"dist":{"shasum":"616d84ad3faa5ef9f74fc0cc31530ef2fdfa5911","tarball":"https://registry.npmjs.org/rythm.js/-/rythm.js-2.1.1.tgz","integrity":"sha512-aUtBaZLHeypEnShtcsKgYu/1qLzwInEbDAHmm0RvQhoO+xduzCRqvleXd64KakRNgR7+kXhmjTi4okk1Nv2Vmw==","signatures":[{"sig":"MEQCIDgBm5wkihsJiSpnczI9qNtgJJMvqXY1MvOBHw9CYNm3AiAZIcdvc6Gy60CoWCV70Ah4OUcpvZA1x198C2rBTCa2qg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"rythm.js","_from":".","files":["rythm.js","rythm.min.js"],"_shasum":"616d84ad3faa5ef9f74fc0cc31530ef2fdfa5911","gitHead":"ab0fbef9c4dfcb86e21e2ab53153d39f90147181","scripts":{"test":"echo \"No test specified\" && exit 0","build":"node build.js","serve":"gulp serve","start":"concurrently --kill-others  \"npm run serve\" \"npm run build -- -w\"","prepublish":"npm run build"},"_npmUser":{"name":"okazari","email":"plouzennec.benjamin@gmail.com"},"_npmVersion":"3.10.10","description":"<♫/> Rythm.js - v2.1.1\r ========","directories":{},"_nodeVersion":"6.9.4","dependencies":{},"devDependencies":{"gulp":"^3.9.1","eslint":"^3.15.0","rollup":"^0.41.4","uglify-es":"^3.0.28","babel-eslint":"^7.1.1","concurrently":"^3.3.0","rollup-watch":"^3.2.2","babel-register":"^6.23.0","babelrc-rollup":"^3.0.0","gulp-webserver":"^0.9.1","command-line-args":"^4.0.7","babel-preset-es2015":"^6.22.0","rollup-plugin-babel":"^2.7.1","rollup-plugin-uglify":"^2.0.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/rythm.js-2.1.1.tgz_1504976713079_0.4975373367778957","host":"s3://npm-registry-packages"}},"2.2.0":{"name":"rythm.js","version":"2.2.0","author":{"name":"Benjamin Plouzennec","email":"plouzennec.benjamin@gmail.com"},"license":"GPL-3.0","_id":"rythm.js@2.2.0","maintainers":[{"name":"okazari","email":"plouzennec.benjamin@gmail.com"}],"homepage":"https://github.com/Okazari/Rythm.js#readme","bugs":{"url":"https://github.com/Okazari/Rythm.js/issues"},"dist":{"shasum":"998a0b8b336e6f5498eb33f25a970e6133085805","tarball":"https://registry.npmjs.org/rythm.js/-/rythm.js-2.2.0.tgz","integrity":"sha512-F1itciOw63Qx7rnYWc4BuDSvgz61YKUDHAn9rfSpgB1JkaCnMm5xC18nLMGSFU+MbdisVh9OsFWUZuKzQG3ypA==","signatures":[{"sig":"MEUCIFrvaqTqjCcB2PQBw1JqDBoyUpPlsQmMoNJ19jv4xcB/AiEA4AAm8xexauallHQgp7xogMQM8H4HO/SHNReEQDWtz9M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"rythm.js","_from":".","files":["rythm.js","rythm.min.js"],"_shasum":"998a0b8b336e6f5498eb33f25a970e6133085805","gitHead":"0dfabb22fe1fb82a7f56cef58db824d99ad9fac8","scripts":{"test":"echo \"No test specified\" && exit 0","build":"node build.js","serve":"gulp serve","start":"concurrently --kill-others  \"npm run serve\" \"npm run build -- -w\"","prepublish":"npm run build"},"_npmUser":{"name":"okazari","email":"plouzennec.benjamin@gmail.com"},"repository":{"url":"git+https://github.com/Okazari/Rythm.js.git","type":"git"},"_npmVersion":"3.10.10","description":"<♫/> Rythm.js - v2.2.0\r ========","directories":{},"_nodeVersion":"6.9.4","dependencies":{},"devDependencies":{"gulp":"^3.9.1","eslint":"^3.15.0","rollup":"^0.41.4","uglify-es":"^3.0.28","babel-eslint":"^7.1.1","concurrently":"^3.3.0","rollup-watch":"^3.2.2","babel-register":"^6.23.0","babelrc-rollup":"^3.0.0","gulp-webserver":"^0.9.1","command-line-args":"^4.0.7","babel-preset-es2015":"^6.22.0","rollup-plugin-babel":"^2.7.1","rollup-plugin-uglify":"^2.0.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/rythm.js-2.2.0.tgz_1505345285657_0.19830883364193141","host":"s3://npm-registry-packages"}},"2.2.1":{"name":"rythm.js","version":"2.2.1","author":{"name":"Benjamin Plouzennec","email":"plouzennec.benjamin@gmail.com"},"license":"GPL-3.0","_id":"rythm.js@2.2.1","maintainers":[{"name":"okazari","email":"plouzennec.benjamin@gmail.com"}],"homepage":"https://github.com/Okazari/Rythm.js#readme","bugs":{"url":"https://github.com/Okazari/Rythm.js/issues"},"dist":{"shasum":"122363276c74a88dcbb9db822f56073096d8b63d","tarball":"https://registry.npmjs.org/rythm.js/-/rythm.js-2.2.1.tgz","integrity":"sha512-yDPFhkEumkvYn2BCSNwSjOgDiXnttaesVnoIVAOPqGT76ateBUMnaag3q39sAIBtO17eU4CuDN2KePwjmLPN6w==","signatures":[{"sig":"MEYCIQDNQ4uPbJ0b6HuK/RDZKPpgNGGxmjszEq7hEIMkkVd+ZQIhAPzyqSqsqFxkvDcq28OdIJnXVPGSeTiXWBv07N9LYbIp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"rythm.js","files":["rythm.js","rythm.min.js"],"gitHead":"77294de281382b2c17b4d68d998bdceb288d90ae","scripts":{"test":"echo \"No test specified\" && exit 0","build":"node build.js","serve":"gulp serve","start":"concurrently --kill-others  \"npm run serve\" \"npm run build -- -w\"","prepublish":"npm run build"},"_npmUser":{"name":"okazari","email":"plouzennec.benjamin@gmail.com"},"repository":{"url":"git+https://github.com/Okazari/Rythm.js.git","type":"git"},"_npmVersion":"5.4.2","description":"<♫/> Rythm.js - v2.2.1 ========","directories":{},"_nodeVersion":"6.9.1","dependencies":{},"devDependencies":{"gulp":"^3.9.1","eslint":"^3.15.0","rollup":"^0.41.4","uglify-es":"^3.0.28","babel-eslint":"^7.1.1","concurrently":"^3.3.0","rollup-watch":"^3.2.2","babel-register":"^6.23.0","babelrc-rollup":"^3.0.0","gulp-webserver":"^0.9.1","command-line-args":"^4.0.7","babel-preset-es2015":"^6.22.0","rollup-plugin-babel":"^2.7.1","rollup-plugin-uglify":"^2.0.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/rythm.js-2.2.1.tgz_1507637325693_0.01858497876673937","host":"s3://npm-registry-packages"}},"2.2.2":{"name":"rythm.js","version":"2.2.2","author":{"name":"Benjamin Plouzennec","email":"plouzennec.benjamin@gmail.com"},"license":"GPL-3.0","_id":"rythm.js@2.2.2","maintainers":[{"name":"okazari","email":"plouzennec.benjamin@gmail.com"}],"homepage":"https://github.com/Okazari/Rythm.js#readme","bugs":{"url":"https://github.com/Okazari/Rythm.js/issues"},"dist":{"shasum":"1d7b9dae09d3939064272cb37af3f5091c2881b5","tarball":"https://registry.npmjs.org/rythm.js/-/rythm.js-2.2.2.tgz","integrity":"sha512-odveG+sEmGZXWTEzf38gUOwVYGSJ5VQCRswM7S7UIQUoCm6exuSDEh2wvTx8dC6lcNI2dirm8I0WpZ1maqb6nA==","signatures":[{"sig":"MEQCIBpNl6Kr3jhZahH9j4zitlMb+QEST/gPp0D68AquUPgiAiBU4xqDy2z3kZN8xsLzOctVXREQnnXGz8arg4HmedLIuw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"rythm.js","files":["rythm.js","rythm.min.js"],"gitHead":"eb9fc19146d1b9ca0a455ecac3d74d549fe13f94","scripts":{"test":"echo \"No test specified\" && exit 0","build":"node build.js","serve":"gulp serve","start":"concurrently --kill-others  \"npm run serve\" \"npm run build -- -w\"","prettier":"prettier src/**/*.js --write --config .prettierrc","precommit":"lint-staged","prepublish":"npm run build"},"_npmUser":{"name":"okazari","email":"plouzennec.benjamin@gmail.com"},"repository":{"url":"git+https://github.com/Okazari/Rythm.js.git","type":"git"},"_npmVersion":"5.4.2","description":"<♫/> Rythm.js - v2.2.2 ========","directories":{},"lint-staged":{"*.{js,css}":["prettier --write","git add"]},"_nodeVersion":"6.9.1","dependencies":{},"devDependencies":{"gulp":"^3.9.1","husky":"^0.14.3","eslint":"^3.15.0","rollup":"^0.41.4","prettier":"^1.7.4","uglify-es":"^3.0.28","lint-staged":"^4.3.0","babel-eslint":"^7.1.1","concurrently":"^3.3.0","rollup-watch":"^3.2.2","babel-register":"^6.23.0","babelrc-rollup":"^3.0.0","gulp-webserver":"^0.9.1","command-line-args":"^4.0.7","babel-preset-es2015":"^6.22.0","rollup-plugin-babel":"^2.7.1","rollup-plugin-uglify":"^2.0.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/rythm.js-2.2.2.tgz_1509979227261_0.4969468298368156","host":"s3://npm-registry-packages"}},"2.2.3":{"name":"rythm.js","version":"2.2.3","author":{"name":"Benjamin Plouzennec","email":"plouzennec.benjamin@gmail.com"},"license":"GPL-3.0","_id":"rythm.js@2.2.3","maintainers":[{"name":"okazari","email":"plouzennec.benjamin@gmail.com"}],"homepage":"https://github.com/Okazari/Rythm.js#readme","bugs":{"url":"https://github.com/Okazari/Rythm.js/issues"},"dist":{"shasum":"0ed425e989dc97ff63d28e0680a0c0d3c1ade1cc","tarball":"https://registry.npmjs.org/rythm.js/-/rythm.js-2.2.3.tgz","fileCount":5,"integrity":"sha512-LN5BbjlIu1/+I8j1pxdB+5oo+Ekjpj5TcuQMI6tph3kPX1z2c+IqdA6NU+XCrICm4/hNvM7ak3GzkHutrsDFow==","signatures":[{"sig":"MEUCIHhYFs842yUd7ek06Rg8GGPWBm/fM2KURZb5GyR5+lYhAiEA7N9LSWD8t3OwHDi1VxSW7QPECUCQRc3FjpeMXoYkPpc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":71997},"main":"rythm.js","files":["rythm.js","rythm.min.js"],"gitHead":"64842b1a0c868814285f110668fdb0f6cbc4ebba","scripts":{"test":"echo \"No test specified\" && exit 0","build":"node build.js","serve":"gulp serve","start":"concurrently --kill-others  \"npm run serve\" \"npm run build -- -w\"","prettier":"prettier src/**/*.js --write --config .prettierrc","precommit":"lint-staged","prepublish":"npm run build"},"_npmUser":{"name":"okazari","email":"plouzennec.benjamin@gmail.com"},"repository":{"url":"git+https://github.com/Okazari/Rythm.js.git","type":"git"},"_npmVersion":"5.6.0","description":"<♫/> Rythm.js - v2.2.3 ========","directories":{},"lint-staged":{"*.{js,css}":["prettier --write","git add"]},"_nodeVersion":"8.9.4","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"gulp":"^3.9.1","husky":"^0.14.3","eslint":"^3.15.0","rollup":"^0.41.4","prettier":"^1.7.4","uglify-es":"^3.0.28","lint-staged":"^4.3.0","babel-eslint":"^7.1.1","concurrently":"^3.3.0","rollup-watch":"^3.2.2","babel-register":"^6.23.0","babelrc-rollup":"^3.0.0","gulp-webserver":"^0.9.1","command-line-args":"^4.0.7","babel-preset-es2015":"^6.22.0","rollup-plugin-babel":"^2.7.1","rollup-plugin-uglify":"^2.0.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/rythm.js_2.2.3_1518703276180_0.6728031390470837","host":"s3://npm-registry-packages"}},"2.2.4":{"name":"rythm.js","version":"2.2.4","author":{"name":"Benjamin Plouzennec","email":"plouzennec.benjamin@gmail.com"},"license":"GPL-3.0","_id":"rythm.js@2.2.4","maintainers":[{"name":"okazari","email":"plouzennec.benjamin@gmail.com"}],"homepage":"https://github.com/Okazari/Rythm.js#readme","bugs":{"url":"https://github.com/Okazari/Rythm.js/issues"},"dist":{"shasum":"7f2fa0807a3db963428a1f1b110ca3a808c0bfd0","tarball":"https://registry.npmjs.org/rythm.js/-/rythm.js-2.2.4.tgz","fileCount":5,"integrity":"sha512-zc6EcH6GCCS+DmkYQ1MS4pHzmP/DM1DC0hPQW/BkPlY/lcTBd16HPOAnf0jdCAmYpVOjxrJcY7CFxdastQL5oQ==","signatures":[{"sig":"MEUCIEajA+7hThdCXspMPY8UHJT+UVTP8Y6CNT16Ig/oh9LsAiEAvhuXQLyMAUABTaBQshQTy5GaDPjq0rwWRL5I8R4MH1Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":72825,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbuxClCRA9TVsSAnZWagAADdcP/jX8aaP6/X0M3jQYVdjG\nH+QqNCOus0sItCKHOKMAO05TqWMMvF5XlY1D0KmFnpXJh4HFxEyfqmkDWs2D\n20BipFte2biNhXXj9XkUEk35vlAzvXd7K5ieSEcf45qcnRoXsPOhK/9EP9yo\no1ecHtQq+gpW3pedQAgKPeH1N3LjanTNYtSn/LFfn8ww5m66c6bv+HaAQYv4\nBH06WwdvI7bEVVDHBi0wRzmRaW5IMsp5fc/5WHMkUXU5/SbPHh9RGe1HGlbH\nOrWLLn0yvn+6nIpI6EcOBpPV7DnGLG5PjGTKBw7XN/ukmQbkyMhvksGRHz/t\n/Bwkcp1qRPOLUpdY0OxOJn8jy4MjZbX2MbxFkeBWzGz2bQg8tyrylSkCsSwL\nDPgBdvi8VK7z0U9qSrCvEGIydsONz1sw75tmZ22wr0dFKSLlCB5miYiI+cwI\nZFvPO9khq0uL46mpAoOWLKEgrwiyZzr5uR7z1QjgJ+n0SYeT9NC5XBF6jMb2\nfaDKOib8MZHUMmvklVxoAYXhRhkIblL00POc4H1jM4fIdFTn4f0bdun9el+c\ndZXQe1xBwwDLNOSiBmYo8LObjr26F8iFGwCWh6AZYBMiUeUovroFmAwpwVKY\nEr3MQVKEJmODM+P+rpQX17Lln4jKxenn6iGIr+Eddg2eAnyv0ZxH7oimKCcE\nY+E7\r\n=ys2d\r\n-----END PGP SIGNATURE-----\r\n"},"main":"rythm.js","gitHead":"0fbeeae2ec93aa006338f4620b39f201167a58fc","scripts":{"test":"echo \"No test specified\" && exit 0","build":"node build.js","serve":"gulp serve","start":"concurrently --kill-others  \"npm run serve\" \"npm run build -- -w\"","prettier":"prettier src/**/*.js --write --config .prettierrc","precommit":"lint-staged","prepublish":"npm run build"},"_npmUser":{"name":"okazari","email":"plouzennec.benjamin@gmail.com"},"repository":{"url":"git+https://github.com/Okazari/Rythm.js.git","type":"git"},"_npmVersion":"5.6.0","description":"<♫/> Rythm.js - v2.2.4 ========","directories":{},"lint-staged":{"*.{js,css}":["prettier --write","git add"]},"_nodeVersion":"8.11.3","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"gulp":"^3.9.1","husky":"^0.14.3","eslint":"^3.15.0","rollup":"^0.41.4","prettier":"^1.7.4","uglify-es":"^3.0.28","lint-staged":"^4.3.0","babel-eslint":"^7.1.1","concurrently":"^3.3.0","rollup-watch":"^3.2.2","babel-register":"^6.23.0","babelrc-rollup":"^3.0.0","gulp-webserver":"^0.9.1","command-line-args":"^4.0.7","babel-preset-es2015":"^6.22.0","rollup-plugin-babel":"^2.7.1","rollup-plugin-uglify":"^2.0.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/rythm.js_2.2.4_1538986149113_0.17290367936487638","host":"s3://npm-registry-packages"}},"2.2.5":{"name":"rythm.js","version":"2.2.5","author":{"name":"Benjamin Plouzennec","email":"plouzennec.benjamin@gmail.com"},"license":"GPL-3.0","_id":"rythm.js@2.2.5","maintainers":[{"name":"okazari","email":"plouzennec.benjamin@gmail.com"}],"homepage":"https://github.com/Okazari/Rythm.js#readme","bugs":{"url":"https://github.com/Okazari/Rythm.js/issues"},"dist":{"shasum":"ca5eb12c90df15ae051769cea4f1d6d1cc5283a8","tarball":"https://registry.npmjs.org/rythm.js/-/rythm.js-2.2.5.tgz","fileCount":5,"integrity":"sha512-pZqThrSel3WBpPp3q6BHZvCu2TIWmI/tzbS1jT6x2iwP59cyoy3AvAYz3PbueYEgSYL4RBzy6czc7Z0nUxi6IQ==","signatures":[{"sig":"MEUCIQCo7Sz1yXZSe13q6KthQko8RmNjVkF+WGy4DEBCMRl3OwIgLNUxEG3yeUvwshurgYmrn7iCW1+cSsbWnGbk8R0Rhdc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":75351,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc/27LCRA9TVsSAnZWagAAk8YP/0HNMgpSjkJaNRxAaMRn\n+j9nwezTeim0NanxwVw1rkOgQBcjLMT+HiD9Zh2UtT+0g9JsG2y/XaLD8oKk\nKVHDY6ZNDl0IwsXs9UM85DKqiiyVBMSOJJESu/2VjnpUvIACXxgdsBIlnbNb\nj/5tOlHR1XoSyzA3k8dvJZG0DMzUTXNpbQYCJO795LCnrGF8J9m9ELYuymIi\nhB9sjiNki5FPsQy6PShI+ldKIfmUrfIs3Ld5ZbCIsVNRNcLy7cfaAMpDfsNR\n5FAzyC/+ujRf8K+gRlwe/yaQZjE85/JLP5kMVr+t2kSo6fuZttg4htSJ+1DJ\n8edpZJYhzMGhSmJeO9kcrkp4YPCEIqh4ROzbtKDMys9v1Bg7IWyWs3w1Ti/I\ncpMSETMiFrr5vXcvHUIe+sCvMIsNcot/y6QF7aS5qkYQpNN3YGf3CEoHIKF2\n107AMjSSIlhEvKf/8yz+25bRNXn3RPA9IblAu9evEnc/X8ArlIpmIBPTXvEM\nT8oIBCAk5st8SqLXLkULDBwDCXtrYJL28PA3YL9FzE5I/1qSO8riCG+4S0Xb\nc3HNL5pn00QF7AvuEaOcAH1C52Gpkqau/kX44UtnpBSeZHBJpad8KtxzNwFh\nIGIvH/La25RPkta740+cyD+jUzdPWnohakU6RLAHm8Yb3JDkeCto97xPGl+K\n6Bqg\r\n=fCfM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"rythm.js","gitHead":"ec0efed840437dd3c877a31999b87651ec714922","scripts":{"test":"echo \"No test specified\" && exit 0","build":"node build.js","serve":"gulp serve","start":"concurrently --kill-others  \"watch-http-server -o .\" \"npm run build -- -w\"","prettier":"prettier src/**/*.js --write --config .prettierrc","precommit":"lint-staged","prepublish":"npm run build"},"_npmUser":{"name":"okazari","email":"plouzennec.benjamin@gmail.com"},"repository":{"url":"git+https://github.com/Okazari/Rythm.js.git","type":"git"},"_npmVersion":"6.4.1","description":"","directories":{},"lint-staged":{"*.{js,css}":["prettier --write","git add"]},"_nodeVersion":"10.15.3","dependencies":{"watch-http-server":"^0.7.6"},"_hasShrinkwrap":false,"devDependencies":{"gulp":"^3.9.1","husky":"^0.14.3","eslint":"^3.15.0","rollup":"^0.41.4","prettier":"^1.7.4","uglify-es":"^3.0.28","lint-staged":"^4.3.0","babel-eslint":"^7.1.1","concurrently":"^3.3.0","rollup-watch":"^3.2.2","babel-register":"^6.23.0","babelrc-rollup":"^3.0.0","gulp-webserver":"^0.9.1","command-line-args":"^4.0.7","babel-preset-es2015":"^6.22.0","rollup-plugin-babel":"^2.7.1","rollup-plugin-uglify":"^2.0.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.23.0"},"_npmOperationalInternal":{"tmp":"tmp/rythm.js_2.2.5_1560243914749_0.988754030822522","host":"s3://npm-registry-packages"}},"2.2.6":{"name":"rythm.js","version":"2.2.6","description":"","main":"rythm.js","scripts":{"start":"concurrently --kill-others  \"watch-http-server -o .\" \"npm run build -- -w\"","serve":"gulp serve","prepublish":"npm run build","test":"echo \"No test specified\" && exit 0","build":"node build.js","prettier":"prettier src/**/*.js --write --config .prettierrc","precommit":"lint-staged"},"repository":{"type":"git","url":"git+https://github.com/Okazari/Rythm.js.git"},"author":{"name":"Benjamin Plouzennec","email":"plouzennec.benjamin@gmail.com"},"license":"GPL-3.0","dependencies":{"watch-http-server":"^0.7.6"},"devDependencies":{"babel-eslint":"^7.1.1","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-class-properties":"^6.23.0","babel-preset-es2015":"^6.22.0","babel-register":"^6.23.0","babelrc-rollup":"^3.0.0","command-line-args":"^4.0.7","concurrently":"^3.3.0","eslint":"^3.15.0","gulp":"^3.9.1","gulp-webserver":"^0.9.1","husky":"^0.14.3","lint-staged":"^4.3.0","prettier":"^1.7.4","rollup":"^0.41.4","rollup-plugin-babel":"^2.7.1","rollup-plugin-uglify":"^2.0.1","rollup-watch":"^3.2.2","uglify-es":"^3.0.28"},"lint-staged":{"*.{js,css}":["prettier --write","git add"]},"_id":"rythm.js@2.2.6","gitHead":"106a0b9b91509a0c74ffa8b52aad16d96ca6f373","bugs":{"url":"https://github.com/Okazari/Rythm.js/issues"},"homepage":"https://github.com/Okazari/Rythm.js#readme","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-5jDbwxO7AZS75P24VHOOc5LSFBCj6BsCMgOVJ67eX6JuO4TZsVDgMx2+Cc+8MxMRtPD5A1NS7jI86ItFnbNyYw==","shasum":"29fe4a044a35db4863025ee3e729c964d0450ce8","tarball":"https://registry.npmjs.org/rythm.js/-/rythm.js-2.2.6.tgz","fileCount":5,"unpackedSize":76649,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAFegLJ4WLB49dOZiHXebZ8rNm6A5wRzizu/3uX3V7WsAiEAxFWhlJMwr/urZormtGVjSLs7W9ckmSLbyFssR8MYCqw="}]},"_npmUser":{"name":"okazari","email":"plouzennec.benjamin@gmail.com"},"directories":{},"maintainers":[{"name":"okazari","email":"plouzennec.benjamin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rythm.js_2.2.6_1722341663077_0.8129150175338731"},"_hasShrinkwrap":false}},"time":{"created":"2016-03-15T09:18:38.136Z","modified":"2024-07-30T12:14:23.439Z","1.0.0":"2016-03-15T09:18:38.136Z","1.1.0":"2016-03-18T16:40:27.780Z","1.1.1":"2016-03-25T22:44:01.990Z","1.2.0":"2016-03-26T00:23:54.440Z","1.2.1":"2016-03-26T00:32:02.786Z","1.2.2":"2016-03-26T01:18:18.814Z","1.2.3":"2017-02-18T10:46:39.634Z","1.2.4":"2017-02-18T14:30:00.831Z","2.0.0":"2017-03-04T20:28:53.613Z","2.0.1":"2017-03-05T11:26:49.232Z","2.0.2":"2017-03-26T15:58:40.061Z","2.0.3":"2017-03-26T16:09:24.307Z","2.0.4":"2017-04-25T08:46:14.619Z","2.0.5":"2017-05-31T07:46:56.235Z","2.0.7":"2017-09-05T22:32:59.535Z","2.1.0":"2017-09-06T09:43:44.302Z","2.1.1":"2017-09-09T17:05:14.216Z","2.2.0":"2017-09-13T23:28:07.661Z","2.2.1":"2017-10-10T12:08:46.841Z","2.2.2":"2017-11-06T14:40:27.599Z","2.2.3":"2018-02-15T14:01:16.986Z","2.2.4":"2018-10-08T08:09:09.310Z","2.2.5":"2019-06-11T09:05:14.946Z","2.2.6":"2024-07-30T12:14:23.262Z"},"bugs":{"url":"https://github.com/Okazari/Rythm.js/issues"},"author":{"name":"Benjamin Plouzennec","email":"plouzennec.benjamin@gmail.com"},"license":"GPL-3.0","homepage":"https://github.com/Okazari/Rythm.js#readme","repository":{"type":"git","url":"git+https://github.com/Okazari/Rythm.js.git"},"maintainers":[{"name":"okazari","email":"plouzennec.benjamin@gmail.com"}],"readme":"# Contribute\n\n\n<♫/> Rythm.js - v2.2.6\n======================\n\n[![Build Status](https://travis-ci.org/Okazari/Rythm.js.svg?branch=master)](https://travis-ci.org/Okazari/Rythm.js)\n\nDemo at: [https://okazari.github.io/Rythm.js/](https://okazari.github.io/Rythm.js/)\n\nA JavaScript library that makes your page dance.\n\n\nGetting started\n===============\n\nInstall with npm:\n\n```sh\nnpm install rythm.js\n```\n\nOr get from a CDN:\n\n```\nhttps://unpkg.com/rythm.js/\nhttps://cdnjs.cloudflare.com/ajax/libs/rythm.js/2.2.6/rythm.min.js\n```\n\nGood old way\n------------\n\nImport rythm into your page:\n\n```html\n<script type=\"text/javascript\" src=\"/path/to/rythm.min.js\"></script>\n```\n\nAdd one of the rythm css classes to indicate which element will dance:\n\n```html\n<div class=\"rythm-bass\"></div>\n```\n\nCreate a rythm object and give it your audio URL then use the start function:\n\n```js\nvar rythm = new Rythm()\nrythm.setMusic('path/to/sample.mp3')\nrythm.start()\n```\n\nES6 module\n----------\n\n```js\nimport Rythm from 'rythm.js'\nconst rythm = new Rythm()\nrythm.setMusic('path/to/sample.mp3')\nrythm.start()\n```\n\n\nAPI documentation\n=================\n\nRythm object\n------------\n\n```js\nconst rythm = new Rythm()\n\n/* The starting scale is the minimum scale your element will take (Scale ratio is startingScale + (pulseRatio * currentPulse)).\n * Value in percentage between 0 and 1\n * Default: 0.75\n */\nrythm.startingScale = value\n\n/* The pulse ratio is be the maximum additional scale your element will take (Scale ratio is startingScale + (pulseRatio * currentPulse)).\n * Value in percentage between 0 and 1\n * Default: 0.30\n */\nrythm.pulseRatio = value\n\n/* The max value history represent the number of passed value that will be stored to evaluate the current pulse.\n * Int value, minimum 1\n * Default: 100\n */\nrythm.maxValueHistory = value\n\n/* Set the music the page will dance to\n * @audioUrl: '../example/mysong.mp3'\n */\nrythm.setMusic(audioUrl)\n\n/* Used to collaborate with other players library.\n * You can connect Rythm to an audioElement, and then control the audio with your other player\n */\nrythm.connectExternalAudioElement(audioElement)\n\n/* Adjust audio gain\n * @value: Number\n */\nrythm.setGain(value)\n\n/* Add your own rythm-class\n * @elementClass: Class that you want to link your rythm to\n * @danceType: Use any of the built-in effect or give your own function\n * @startValue: The starting frequency of your rythm\n * @nbValue: The number of frequency of your rythm\n * 1024 Frequencies, your rythm will react to the average of your selected frequencies.\n * Examples: bass 0-10 ; medium 150-40 ; high 500-100\n */\nrythm.addRythm(elementClass, danceType, startValue, nbValue)\n\n/* Plug your computer microphone to rythm.js.\n * This function returns a Promise object that is resolved when the microphone is up.\n * Require your website to be run in HTTPS\n */\nrythm.plugMicrophone().then(function(){...})\n\n// Let's dance\nrythm.start()\n\n/* Stop the party\n * @freeze: Set this to true if you want to prevent the elements to reset to their initial position\n */\nrythm.stop(freeze)\n```\n\nBuilt-in classes with \"pulse\" effect\n------------------------------------\n\n+ rythm-bass\n+ rythm-medium\n+ rythm-high\n\nCustom-classes\n--------------\n\nYou can use the `addRythm` function to make your own classes listen to specific frequencies.\nHere is how the basics classes are created:\n+ `addRythm('rythm-bass', 'pulse', 0, 10)`\n+ `addRythm('rythm-medium', 'pulse', 150, 40)`\n+ `addRythm('rythm-high', 'pulse', 500, 100)`\n\nDance types available\n---------------------\n\nFor more control of theses dance types, you can give a configuration object as last argument to `addRythm`:\n\n```js\naddRythm('rythm-high', 'shake', 500, 100, { direction:'left', min: 20, max: 300 })\n```\n\nHere are the built-in dances and their options:\n+ pulse\n  + min: Minimum value given to `transform: scale()`. Default: `0.75`\n  + max: Maximum value given to `transform: scale()`. Default: `1.25`\n+ jump\n  + min: Minimum value given to `transform: translateY()`. Default: `0`\n  + max: Maximum value given to `transform: translateY()`. Default: `30`\n+ shake\n  + min: Minimum value given to `transform: translateX()`. Default: `-15`\n  + max: Maximum value given to `transform: translateX()`. Default: `15`\n  + direction: `left` for a right to left move, `right` for a left to right move. Default: `right`\n+ twist\n  + min: Minimum value given to `transform: rotate()`. Default: `-20`\n  + max: Maximum value given to `transform: rotate()`. Default: `20`\n  + direction: `left` for a right to left move, `right` for a left to right move. Default: `right`\n+ vanish\n  + min: Minimum value (between 0 and 1) given to `opacity`. Default: `0`\n  + max: Maximum value (between 0 and 1) given to `opacity`. Default: `1`\n  + reverse: Boolean to reverse the effect. Default: `false` (Higher the pulse is, the more visible it will be)\n+ borderColor\n  + from: Array of integer between 0 and 255 corresponding to a RGB color. Default: `[0,0,0]`\n  + to: Array of integer between 0 and 255 corresponding to a RGB color. Default: `[255,255,255]`\n+ color\n  + from: Array of integer between 0 and 255 corresponding to a RGB color. Default: `[0,0,0]`\n  + to: Array of integer between 0 and 255 corresponding to a RGB color. Default: `[255,255,255]`\n+ radius\n  + min: Minimum value given to `border-radius`. Default: `0`\n  + max: Maximum value given to `border-radius`. Default: `25`\n  + reverse: Boolean to make effect from max to min. Default: `false`\n+ blur\n  + min: Minimum value given to `filter: blur()`. Default: `0`\n  + max: Maximum value given to `filter: blur()`. Default: `8`\n  + reverse: Boolean to make effect from max to min. Default: `false`\n+ swing\n  + curve: Whether the element should curve `up` or `down`. Default: `down`\n  + direction: Whether the element should swing `right` or `left`. Default: `right`\n  + radius: How far the element will swing. Default: `20`\n+ kern\n  + min: Minimum value given to `letter-spacing`. Default: `0`\n  + max: Maximum value given to `letter-spacing`. Default: `25`\n  + reverse: Boolean to make effect from max to min. Default: `false`\n+ neon\n  + from: Array of integer between 0 and 255 corresponding to a RGB color. Default: `[0,0,0]`\n  + to: Array of integer between 0 and 255 corresponding to a RGB color. Default: `[255,255,255]`\n+ borderWidth\n  + min: Minimum value given to `border-width`. Default: `0`\n  + max: Maximum value given to `border-width`. Default: `5`\n+ fontSize\n  + min: Minimum value given to `font-width`. Default: `0.8`\n  + max: Maximum value given to `font-width`. Default: `1.2`\n+ tilt\n  + min: Minimum value given to `tilt`. Default: `20`\n  + max: Maximum value given to `tilt`. Default: `25`\n  + reverse: Boolean to make effect from max to min. Default: `false`\n+ fontColor\n  + from: Array of integer between 0 and 255 corresponding to a RGB color. Default: `[0,0,0]`\n  + to: Array of integer between 0 and 255 corresponding to a RGB color. Default: `[255,255,255]`\n\nTo see each visual effect, you can go to the [Demo](https://okazari.github.io/Rythm.js/).\n\nCustom dance type\n-----------------\n\nIf you want to use your own dance type, you need to give an object as the 2nd argument of `addRythm` instead of a built in dance key.\n\nThis object must have two properties:\n - dance: The custom function to make elements dance\n - reset: The associated custom function that will be called to reset element style\n\n```js\n/* The custom function signature is\n * @elem: The HTML element target you want to apply your effect to\n * @value: The current pulse ratio (percentage between 0 and 1)\n * @options: The option object user can give as last argument of addRythm function\n */\nconst pulse = (elem, value, options = {}) => {\n  const max = options.max || 1.25\n  const min = options.min || 0.75\n  const scale = (max - min) * value\n  elem.style.transform = `scale(${min + scale})`\n}\n\n/* The reset function signature is\n * @elem: The element to reset\n */\nconst resetPulse = elem => {\n  elem.style.transform = ''\n}\n\naddRythm('my-css-class', { dance: pulse, reset: resetPulse }, 150, 40)\n```\n\n\nFeatures\n========\n\n + Your HTML can dance by using any of the available dance types.\n + You can use custom functions to build you own dance type (and if it looks awesome! Feel free to make a PR ;) )\n\n\nContribute\n==========\n\nAny pull request will be appreciated. You can start coding on this project following these steps:\n + Fork the project\n + Clone your repository\n + Run ```npm install```\n + Run ```npm start``` in the main folder to launch a development web server\n + Enjoy the rythm\n\nAdding new dance type\n---------------------\n\nIn v2.2.x adding a new dance type is pretty easy:\n+ Create a new file in `src\\dances`\n+ This file must export your custom dance type function\n+ This file must export a reset function\n\nFor example, here is the content of `jump.js` file:\n\n```js\n/* The function signature is\n * @elem: The HTML element target you want to apply your effect to\n * @value: The current pulse ratio (percentage between 0 and 1)\n * @options: The option object user can give as last argument of addRythm function\n */\nexport default (elem, value, options = {}) => {\n  const max = options.max || 30\n  const min = options.min || 0\n  const jump = (max - min) * value\n  elem.style.transform = `translateY(${-jump}px)`\n}\n\n/* The reset function signature is\n * @elem: The element to reset\n */\nexport const reset = elem => {\n  elem.style.transform = ''\n}\n```\n\n+ Import it and register it into the constructor of `Dancer.js` file:\n\n```js\nimport jump, { reset as resetJump } from './dances/jump.js'\nclass Dancer {\n  constructor() {\n    this.registerDance('jump', jump, resetJump)\n  }\n}\n```\n\n+ Commit it and create a PR. Then look at everyone enjoying your contribution :) !\n\nLicense: GNU GPL\n\nAuthor: [@OkazariBzh](https://twitter.com/OkazariBzh)\n","readmeFilename":"README.md","users":{"rexpan":true}}