diff --git a/.travis.yml b/.travis.yml index 587bd3e0..076963c7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1 +1,7 @@ language: node_js +node_js: + "9.3.0" + +before_install: +- git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*" +- git fetch \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..cbadd441 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1056 @@ +{ + "name": "community", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "addressparser": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/addressparser/-/addressparser-0.3.2.tgz", + "integrity": "sha1-WYc/Nej89sc2HBAjkmHXbhU0i7I=", + "dev": true + }, + "adm-zip": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.7.tgz", + "integrity": "sha1-hgbCy/HEJs6MjsABdER/1Jtur8E=", + "dev": true + }, + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.0.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "argparse": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", + "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", + "dev": true, + "requires": { + "sprintf-js": "1.0.3" + } + }, + "asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", + "dev": true + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", + "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "boom": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", + "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", + "dev": true, + "requires": { + "hoek": "4.2.0" + } + }, + "brace-expansion": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", + "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "dev": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "bufferjs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/bufferjs/-/bufferjs-1.1.0.tgz", + "integrity": "sha1-CV/6OcXmtAoheKEWnJ7/xYSnMgE=", + "dev": true, + "optional": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "combined-stream": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "dev": true, + "requires": { + "delayed-stream": "1.0.0" + } + }, + "commander": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", + "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", + "dev": true, + "requires": { + "graceful-readlink": "1.0.1" + } + }, + "compressjs": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/compressjs/-/compressjs-1.0.3.tgz", + "integrity": "sha1-ldt03VuQOM+AvKMhqw7eJxtJWbY=", + "dev": true, + "requires": { + "amdefine": "1.0.1", + "commander": "2.8.1" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cryptiles": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", + "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", + "dev": true, + "requires": { + "boom": "5.2.0" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "dev": true, + "requires": { + "hoek": "4.2.0" + } + } + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "1.0.0" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "emailjs": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/emailjs/-/emailjs-1.0.12.tgz", + "integrity": "sha1-vWVZxRxJYxJSGGJtoJi+ci96HHI=", + "dev": true, + "requires": { + "addressparser": "0.3.2", + "bufferjs": "1.1.0", + "mimelib": "0.2.14", + "moment": "2.15.2", + "starttls": "1.0.1" + }, + "dependencies": { + "moment": { + "version": "2.15.2", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.15.2.tgz", + "integrity": "sha1-G/3t9qbjRfMi/pVtXfW9CKjOhNw=", + "dev": true + } + } + }, + "encoding": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", + "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "dev": true, + "requires": { + "iconv-lite": "0.4.19" + } + }, + "esprima": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", + "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", + "dev": true + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "extend": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", + "dev": true + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fast-deep-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", + "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz", + "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=", + "dev": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.17" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fstream": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", + "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.2" + } + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "1.0.0" + } + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "glob-all": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-all/-/glob-all-3.1.0.tgz", + "integrity": "sha1-iRPd+17hrHgSZWJBsD1SF8ZLAqs=", + "dev": true, + "requires": { + "glob": "7.1.2", + "yargs": "1.2.6" + } + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", + "dev": true + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", + "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", + "dev": true, + "requires": { + "ajv": "5.5.2", + "har-schema": "2.0.0" + } + }, + "hash-files": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/hash-files/-/hash-files-1.1.1.tgz", + "integrity": "sha1-X4nGTvIezmnIJhJUt2Wb1A6R2N4=", + "dev": true, + "requires": { + "async": "1.5.2", + "glob-all": "3.1.0", + "opter": "1.1.0", + "read-files": "0.1.0", + "underscore": "1.8.3" + } + }, + "hawk": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", + "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", + "dev": true, + "requires": { + "boom": "4.3.1", + "cryptiles": "3.1.2", + "hoek": "4.2.0", + "sntp": "2.1.0" + } + }, + "hoek": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", + "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==", + "dev": true + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.13.1" + } + }, + "iconv-lite": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", + "dev": true + }, + "imap": { + "version": "0.8.19", + "resolved": "https://registry.npmjs.org/imap/-/imap-0.8.19.tgz", + "integrity": "sha1-NniHOTSrCc6mukh0HyhNoq9Z2NU=", + "dev": true, + "requires": { + "readable-stream": "1.1.14", + "utf7": "1.0.2" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "interpret": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", + "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "jasmine": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz", + "integrity": "sha1-awicChFXax8W3xG4AUbZHU6Lij4=", + "dev": true, + "requires": { + "exit": "0.1.2", + "glob": "7.1.2", + "jasmine-core": "2.8.0" + } + }, + "jasmine-core": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz", + "integrity": "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=", + "dev": true + }, + "js-yaml": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", + "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", + "dev": true, + "requires": { + "argparse": "1.0.9", + "esprima": "4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true, + "optional": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", + "dev": true + }, + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", + "dev": true + }, + "mail-notifier": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/mail-notifier/-/mail-notifier-0.3.0.tgz", + "integrity": "sha1-drhsopga0Ws8fLXz7r9lZr9HeqU=", + "dev": true, + "requires": { + "debug": "2.6.9", + "imap": "0.8.19", + "mailparser": "0.4.9" + } + }, + "mailparser": { + "version": "0.4.9", + "resolved": "https://registry.npmjs.org/mailparser/-/mailparser-0.4.9.tgz", + "integrity": "sha1-HQpI1vqqovCawTmO0CPY746xnis=", + "dev": true, + "requires": { + "encoding": "0.1.12", + "mime": "2.0.3", + "mimelib": "0.3.1", + "uue": "1.0.0" + }, + "dependencies": { + "addressparser": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/addressparser/-/addressparser-1.0.1.tgz", + "integrity": "sha1-R6++GiqSYhkdtoOOT9HTm0CCF0Y=", + "dev": true + }, + "mimelib": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/mimelib/-/mimelib-0.3.1.tgz", + "integrity": "sha1-eHrdJBXYJ6yzr27EvKHqlZZBiFM=", + "dev": true, + "requires": { + "addressparser": "1.0.1", + "encoding": "0.1.12" + } + } + } + }, + "mime": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.0.3.tgz", + "integrity": "sha512-TrpAd/vX3xaLPDgVRm6JkZwLR0KHfukMdU2wTEbqMDdCnY6Yo3mE+mjs9YE6oMNw2QRfXVeBEYpmpO94BIqiug==", + "dev": true + }, + "mime-db": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", + "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=", + "dev": true + }, + "mime-types": { + "version": "2.1.17", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", + "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", + "dev": true, + "requires": { + "mime-db": "1.30.0" + } + }, + "mimelib": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/mimelib/-/mimelib-0.2.14.tgz", + "integrity": "sha1-KhqnJL0ZC4W9Um5jF6thBu39aDE=", + "dev": true, + "requires": { + "addressparser": "0.2.1", + "encoding": "0.1.12" + }, + "dependencies": { + "addressparser": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/addressparser/-/addressparser-0.2.1.tgz", + "integrity": "sha1-0RpbLu2gTP7+vfMZbBCuE9ts1gc=", + "dev": true + } + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "1.1.8" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "moment": { + "version": "2.20.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.20.1.tgz", + "integrity": "sha512-Yh9y73JRljxW5QxN08Fner68eFLxM5ynNOAw2LbIB1YAGeQzZT8QFSUvkAz609Zf+IHhhaUxqZK8dG3W/+HEvg==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node-virustotal": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/node-virustotal/-/node-virustotal-2.4.2.tgz", + "integrity": "sha1-Rxqko6YnEVcy3aR0Hleu/jiR8ek=", + "dev": true, + "requires": { + "compressjs": "1.0.3", + "emailjs": "1.0.12", + "mail-notifier": "0.3.0", + "moment": "2.20.1", + "request": "2.83.0", + "shelljs": "0.7.8", + "speedconcat": "1.0.2", + "tar": "2.2.1" + } + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "dev": true + }, + "object-path": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.4.tgz", + "integrity": "sha1-NwrnUvvzfePqcKhhwju6iRVpGUk=", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "opter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/opter/-/opter-1.1.0.tgz", + "integrity": "sha1-JZiuu2Cz8acyKvEJcIb055jISnY=", + "dev": true, + "requires": { + "commander": "2.8.1", + "js-yaml": "3.10.0", + "object-path": "0.11.4", + "underscore": "1.8.3", + "z-schema": "3.19.0", + "z-schema-errors": "0.0.1" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-parse": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "dev": true + }, + "read-files": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/read-files/-/read-files-0.1.0.tgz", + "integrity": "sha1-YGu3oBd5Utai+YPVmAlglDFNMh4=", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "requires": { + "resolve": "1.5.0" + } + }, + "request": { + "version": "2.83.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", + "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==", + "dev": true, + "requires": { + "aws-sign2": "0.7.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.3.1", + "har-validator": "5.0.3", + "hawk": "6.0.2", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.17", + "oauth-sign": "0.8.2", + "performance-now": "2.1.0", + "qs": "6.5.1", + "safe-buffer": "5.1.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.3", + "tunnel-agent": "0.6.0", + "uuid": "3.1.0" + } + }, + "resolve": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", + "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", + "dev": true, + "requires": { + "path-parse": "1.0.5" + } + }, + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, + "requires": { + "glob": "7.1.2" + } + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "dev": true + }, + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true + }, + "shelljs": { + "version": "0.7.8", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz", + "integrity": "sha1-3svPh0sNHl+3LhSxZKloMEjprLM=", + "dev": true, + "requires": { + "glob": "7.1.2", + "interpret": "1.1.0", + "rechoir": "0.6.2" + } + }, + "sntp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", + "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", + "dev": true, + "requires": { + "hoek": "4.2.0" + } + }, + "speedconcat": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/speedconcat/-/speedconcat-1.0.2.tgz", + "integrity": "sha1-1PVSp712PK1ywY4tnwjclB8AK+I=", + "dev": true + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sshpk": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", + "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", + "dev": true, + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" + } + }, + "starttls": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/starttls/-/starttls-1.0.1.tgz", + "integrity": "sha1-5ggcJd5rF49adfjyccFIdEkYO0I=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "stringstream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", + "dev": true + }, + "tar": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "dev": true, + "requires": { + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" + } + }, + "tough-cookie": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", + "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", + "dev": true, + "requires": { + "punycode": "1.4.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true, + "optional": true + }, + "underscore": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", + "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=", + "dev": true + }, + "utf7": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/utf7/-/utf7-1.0.2.tgz", + "integrity": "sha1-lV9JCq5lO6IguUVqCod2wZk2CZE=", + "dev": true, + "requires": { + "semver": "5.3.0" + } + }, + "uue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/uue/-/uue-1.0.0.tgz", + "integrity": "sha1-ITuUSLmLmLnQPK9gGiI1ib2IZDA=", + "dev": true + }, + "uuid": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", + "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==", + "dev": true + }, + "validator": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-9.2.0.tgz", + "integrity": "sha512-6Ij4Eo0KM4LkR0d0IegOwluG5453uqT5QyF5SV5Ezvm8/zmkKI/L4eoraafZGlZPC9guLkwKzgypcw8VGWWnGA==", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "1.3.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + }, + "yargs": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-1.2.6.tgz", + "integrity": "sha1-nHtKgv1dWVsr8Xq23MQxNUMv40s=", + "dev": true, + "requires": { + "minimist": "0.1.0" + }, + "dependencies": { + "minimist": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.1.0.tgz", + "integrity": "sha1-md9lelJXTCHJBXSX33QnkLK0wN4=", + "dev": true + } + } + }, + "z-schema": { + "version": "3.19.0", + "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-3.19.0.tgz", + "integrity": "sha512-V94f3ODuluBS4kQLLjNhwoMek0dyIXCsvNu/A17dAyJ6sMhT5KkJQwSn07R0naByLIXJWMDk+ruMfI/3G3hS4Q==", + "dev": true, + "requires": { + "commander": "2.8.1", + "lodash.get": "4.4.2", + "lodash.isequal": "4.5.0", + "validator": "9.2.0" + } + }, + "z-schema-errors": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/z-schema-errors/-/z-schema-errors-0.0.1.tgz", + "integrity": "sha1-4GJwpMpDklcp8ldkeJyp9Gv/D30=", + "dev": true, + "requires": { + "xtend": "4.0.1" + } + } + } +} diff --git a/package.json b/package.json index c523dc71..c4b3fde1 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "1.0.0", "description": "*Manifest repository for VCV Rack plugins*", "scripts": { - "test": "echo \"Error: no tests yet\" && exit 0" + "test": "jasmine" }, "repository": { "type": "git", @@ -14,6 +14,11 @@ }, "homepage": "https://github.com/VCVRack/community#readme", "devDependencies": { - "node-virustotal": "^2.4.2" + "adm-zip": "^0.4.7", + "ajv": "^5.5.2", + "hash-files": "^1.1.1", + "jasmine": "^2.8.0", + "node-virustotal": "^2.4.2", + "request": "^2.83.0" } } diff --git a/plugins/AS.json b/plugins/AS.json new file mode 100644 index 00000000..ca3fdb25 --- /dev/null +++ b/plugins/AS.json @@ -0,0 +1,25 @@ +{ + "slug": "AS", + "name": "AS", + "author": "Alfredo Santamaria", + "license": "CC0 1.0 Universal", + "version": "0.5.0", + "homepage": "https://github.com/AScustomWorks/AS", + "donation": "https://www.paypal.me/frederius/", + "manual": "https://github.com/AScustomWorks/AS/blob/master/README.md", + "source": "https://github.com/AScustomWorks/AS", + "downloads": { + "win": { + "download": "https://github.com/AScustomWorks/AS/releases/download/0.5.0/AS-0.5.0-win.zip", + "sha256": "7478ccd81b32d332abb99e3f259bb5cb9fd00a196f4598cd8bd8dec4ac7f6780" + }, + "lin": { + "download": "https://github.com/AScustomWorks/AS/releases/download/0.5.0/AS-0.5.0-lin.zip", + "sha256": "db6c77f01b5527e2e1a513b5153fac880676e1a2cc02a1ee04ded36b9e954b65" + }, + "mac": { + "download": "https://github.com/AScustomWorks/AS/releases/download/0.5.0/AS-0.5.0-mac.zip", + "sha256": "45d871d19d884ebfb085a511c8bb8e3ad8cafdcab34a9e5fcc122a551c26f759" + } + } +} diff --git a/plugins/AnimatedCircuits.json b/plugins/AnimatedCircuits.json index 92660921..fbbe3002 100644 --- a/plugins/AnimatedCircuits.json +++ b/plugins/AnimatedCircuits.json @@ -1,6 +1,8 @@ { "slug": "AnimatedCircuits", "name": "Animated Circuits", - "version": "0.5.0", + "author": "Animated Circuits", + "version": "0.5.1", + "manual": "https://drive.google.com/open?id=15_buBKqEdGkuTn9EOeZuFqE2m4qH-xUu", "homepage": "https://gumroad.com/animatedcircuits" -} \ No newline at end of file +} diff --git a/plugins/Autodafe-DrumKit.json b/plugins/Autodafe-DrumKit.json new file mode 100644 index 00000000..4a4ad7ce --- /dev/null +++ b/plugins/Autodafe-DrumKit.json @@ -0,0 +1,21 @@ +{ +"slug": "Autodafe-DrumKit", +"name": "Autodafe Drum Kit", +"author": "Autodafe", +"version": "0.5.1", +"donation": "https://www.paypal.me/autodafe", +"downloads": { + "win": { + "download": "http://www.autodafe.net/VCVRack/Autodafe-DrumKit-0.5.1-win.zip", + "sha256": "462655bd8e3489b225dd2dc7eb88d51ebc0d274cc60a3dce0d02edf1bfce4119" + }, + "lin": { + "download": "http://www.autodafe.net/VCVRack/Autodafe-DrumKit-0.5.1-lin.zip", + "sha256": "1aeb402c5aab360222dfda0898852f4056f08d0a97f1beba72f8704299ec377b" + }, + "mac": { + "download": "http://www.autodafe.net/VCVRack/Autodafe-DrumKit-0.5.1-mac.zip", + "sha256": "f3d00d2cb9a0af45bcff657c99cb4acafddff0e07c0fb3f463ee7e340e301232" + } + } +} diff --git a/plugins/Autodafe-REDs b/plugins/Autodafe-REDs new file mode 100644 index 00000000..2d5edac5 --- /dev/null +++ b/plugins/Autodafe-REDs @@ -0,0 +1,9 @@ +{ + "slug": "Autodafe-REDs", + "name": "Autodafe - REDs", + "author": "Autodafe", + "version": "0.5.1", + "homepage": "https://www.autodafe.net/virtual-instruments/vcv-rack-modules/autodafe-reds-modules-for-vcv-rack.html", + "manual": "https://www.autodafe.net/media/com_eshop/attachments/autodafe-reds-collection-manual.pdf" + +} diff --git a/plugins/Autodafe-REDsFREE.json b/plugins/Autodafe-REDsFREE.json new file mode 100644 index 00000000..1d23a0fa --- /dev/null +++ b/plugins/Autodafe-REDsFREE.json @@ -0,0 +1,23 @@ +{ + "slug": "Autodafe-REDsFREE", + "name": "Autodafe - REDs FREE", + "author": "Autodafe", + "version": "0.5.2", + "homepage": "https://www.autodafe.net/virtual-instruments/vcv-rack-modules.html", + "manual": "https://www.autodafe.net/media/com_eshop/attachments/autodafe-reds-collection-manual.pdf", + "donation": "https://www.paypal.me/autodafe", + "downloads": { + "win": { + "download": "http://www.autodafe.net/VCVRack/Autodafe-REDsFREE-0.5.2-win.zip", + "sha256": "ce34d273085ded0d90d083b080ee1360817bab78b88d0a89165a77615eaf576c" + }, + "lin": { + "download": "http://www.autodafe.net/VCVRack/Autodafe-REDsFREE-0.5.2-lin.zip", + "sha256": "3af4575b5f364824f826090b1b3e14f444448e109d180f6517ad2255b5701249" + }, + "mac": { + "download": "http://www.autodafe.net/VCVRack/Autodafe-REDsFREE-0.5.2-mac.zip", + "sha256": "29b118c81b18a15c11052f40aadd28f694ebf3a0ef834c76dd7eb705a275062d" + } + } +} diff --git a/plugins/Autodafe.json b/plugins/Autodafe.json new file mode 100644 index 00000000..79e851a4 --- /dev/null +++ b/plugins/Autodafe.json @@ -0,0 +1,25 @@ +{ + "slug": "Autodafe", + "name": "Autodafe Module Pack", + "author": "Autodafe", + "version": "0.5.1", + "source": "https://github.com/antoniograzioli/Autodafe", + "homepage": "https://www.autodafe.net/virtual-instruments/vcv-rack-modules.html", + "manual": "https://www.autodafe.net/media/com_eshop/attachments/autodafe-reds-collection-manual.pdf", + "donation": "https://www.paypal.me/autodafe", + "downloads": { + "win": { + "download": "http://www.autodafe.net/VCVRack/Autodafe-0.5.1-win.zip", + "sha256": "93d75bd954299fa2f0fad6c7945b7d1182cc8efd5a4276446a8b283f90484e2b" + }, + "lin": { + "download": "http://www.autodafe.net/VCVRack/Autodafe-0.5.1-lin.zip", + "sha256": "01cc8f37db5d4c572d739520b375847e5f18132b0cedfbae3b3474669e50e77c" + }, + "mac": { + "download": "http://www.autodafe.net/VCVRack/Autodafe-0.5.1-mac.zip", + "sha256": "a071ca35661ecd125d2955c1501137188338304400b1a515d4bc34f018a344fc" + } + } + +} diff --git a/plugins/AutodafeDrumKit.json b/plugins/AutodafeDrumKit.json deleted file mode 100644 index ae221923..00000000 --- a/plugins/AutodafeDrumKit.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "slug": "AutodafeDrumKit", - "name": "Autodafe Drum Kit", - "author": "Autodafe", - "version": "0.5.0", - "source": "https://github.com/antoniograzioli/Autodafe-Drums", - "homepage": "https://www.autodafe.net/virtual-instruments/vcv-rack-modules.html", - "donation": "https://www.paypal.me/autodafe", - "downloads": { - "win": { - "download": "https://www.autodafe.net/VCVRack/Autodafe-Drum-Kit-VCV-Rack.zip", - "sha256": "939015f7124da305183d5aeeef18d32828e3fe4f4da81c9b1fd6105b1f61ec18" - }, - "lin": { - "download": "https://www.autodafe.net/VCVRack/Autodafe-Drum-Kit-VCV-Rack.zip", - "sha256": "939015f7124da305183d5aeeef18d32828e3fe4f4da81c9b1fd6105b1f61ec18" - }, - "mac": { - "download": "https://www.autodafe.net/VCVRack/Autodafe-Drum-Kit-VCV-Rack.zip", - "sha256": "939015f7124da305183d5aeeef18d32828e3fe4f4da81c9b1fd6105b1f61ec18" - } - } -} diff --git a/plugins/AutodafeModulePack.json b/plugins/AutodafeModulePack.json deleted file mode 100644 index 5cca3e95..00000000 --- a/plugins/AutodafeModulePack.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "slug": "AutodafeModulePack", - "name": "Autodafe Module Pack", - "author": "Autodafe", - "version": "0.5.0", - "source": "https://github.com/antoniograzioli/Autodafe", - "homepage": "https://www.autodafe.net/virtual-instruments/vcv-rack-modules.html", - "donation": "https://www.paypal.me/autodafe", - "downloads": { - "win": { - "download": "https://www.autodafe.net/VCVRack/Autodafe-Modules-Pack-VCV-Rack.zip", - "sha256": "2d8f53c5ae8eaf70e0188d188aee432c1f26e4042f272c9a76d84bb10e9c5477" - }, - "lin": { - "download": "https://www.autodafe.net/VCVRack/Autodafe-Modules-Pack-VCV-Rack.zip", - "sha256": "2d8f53c5ae8eaf70e0188d188aee432c1f26e4042f272c9a76d84bb10e9c5477" - }, - "mac": { - "download": "https://www.autodafe.net/VCVRack/Autodafe-Modules-Pack-VCV-Rack.zip", - "sha256": "2d8f53c5ae8eaf70e0188d188aee432c1f26e4042f272c9a76d84bb10e9c5477" - } - } -} diff --git a/plugins/AutodafeREDsFREE.json b/plugins/AutodafeREDsFREE.json deleted file mode 100644 index 4cac1232..00000000 --- a/plugins/AutodafeREDsFREE.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "slug": "AutodafeREDsFREE", - "name": "Autodafe - REDs FREE", - "author": "Autodafe", - "version": "0.5.0", - "homepage": "https://www.autodafe.net/virtual-instruments/vcv-rack-modules.html", - "donation": "https://www.paypal.me/autodafe", - "downloads": { - "win": { - "download": "https://www.autodafe.net/VCVRack/Autodafe-REDs-FREE.zip", - "sha256": "14f87483ed7b67cc45b52db21f99665b4b9dbc044351e404a37201ffb440c47f" - }, - "lin": { - "download": "https://www.autodafe.net/VCVRack/Autodafe-REDs-FREE.zip", - "sha256": "14f87483ed7b67cc45b52db21f99665b4b9dbc044351e404a37201ffb440c47f" - }, - "mac": { - "download": "https://www.autodafe.net/VCVRack/Autodafe-REDs-FREE.zip", - "sha256": "14f87483ed7b67cc45b52db21f99665b4b9dbc044351e404a37201ffb440c47f" - } - } -} \ No newline at end of file diff --git a/plugins/Bidoo.json b/plugins/Bidoo.json index 600f59d0..36f6d43e 100644 --- a/plugins/Bidoo.json +++ b/plugins/Bidoo.json @@ -4,9 +4,9 @@ "author": "sebastien-bouffier", "version": "0.5.10", "license": "BSD 3-clause", - "source": "https://github.com/sebastien-bouffier/Bidoo", - "manual": "https://github.com/sebastien-bouffier/Bidoo/wiki", "donation": "https://paypal.me/sebastienbouffier", + "manual": "https://github.com/sebastien-bouffier/Bidoo/wiki", + "source": "https://github.com/sebastien-bouffier/Bidoo", "downloads": { "win": { "download": "https://github.com/sebastien-bouffier/Bidoo/files/1587168/Bidoo-0.5.10-win.zip", diff --git a/plugins/Bogaudio.json b/plugins/Bogaudio.json index ab1932b5..e3e1c15f 100644 --- a/plugins/Bogaudio.json +++ b/plugins/Bogaudio.json @@ -3,7 +3,7 @@ "name": "Bogaudio", "author": "bogaudio", "license": "BSD 3-clause", - "version": "0.5.1b", + "version": "0.5.1", "homepage": "https://github.com/bogaudio/BogaudioModules", "manual": "https://github.com/bogaudio/BogaudioModules/blob/master/README.md", "source": "https://github.com/bogaudio/BogaudioModules", diff --git a/plugins/Fundamental.json b/plugins/Fundamental.json index c3477189..b713adb7 100644 --- a/plugins/Fundamental.json +++ b/plugins/Fundamental.json @@ -3,7 +3,7 @@ "name": "Fundamental", "author": "VCV", "license": "BSD 3-clause", - "version": "0.5.0", + "version": "0.5.1", "manual": "https://vcvrack.com/manual/Fundamental.html", "source": "https://github.com/VCVRack/Fundamental" } \ No newline at end of file diff --git a/plugins/Grayscale.json b/plugins/Grayscale.json index 07dcea29..8ed27a56 100644 --- a/plugins/Grayscale.json +++ b/plugins/Grayscale.json @@ -2,10 +2,9 @@ "slug": "Grayscale", "name": "Grayscale", "author": "VCV", - "license": "BSD 3-clause", + "license": "proprietary", "version": "0.5.0", "manual": "https://vcvrack.com/manual/Grayscale.html", - "source": "https://github.com/VCVRack/Grayscale", "downloads": { "win": { "download": "https://vcvrack.com/downloads/plugins/Grayscale-0.5.0.zip", diff --git a/plugins/HetrickCV.json b/plugins/HetrickCV.json index 56d969e9..fc84ca12 100644 --- a/plugins/HetrickCV.json +++ b/plugins/HetrickCV.json @@ -4,17 +4,17 @@ "author": "Michael Hetrick", "homepage": "https://github.com/mhetrick/hetrickcv", "donation": "https://paypal.me/MHetrick", - "version": "0.5.3", + "version": "0.5.4", "source": "https://github.com/mhetrick/hetrickcv", "manual": "https://github.com/mhetrick/hetrickcv/blob/master/README.md", "downloads": { "win": { - "download": "https://github.com/mhetrick/hetrickcv/releases/download/0.5.3/HetrickCV-0.5.3-win.zip", - "sha256": "4afb040dcfdc72e8ae8146f0978b28d1da7331bbd2857e7b3f4a2abf4dc86e8e" + "download": "https://github.com/mhetrick/hetrickcv/releases/download/0.5.4/HetrickCV-0.5.4-win.zip", + "sha256": "6d5db0b532a5252e866d2cd12a955c8fcf78e22cb127c70ebacd418e8b1689da" }, "mac": { - "download": "https://github.com/mhetrick/hetrickcv/releases/download/0.5.3/HetrickCV-0.5.3-mac.zip", - "sha256": "187feeb66cf84e13ea1dd3df02b3a2871c88387709903c69be8feaeca9a998f0" + "download": "https://github.com/mhetrick/hetrickcv/releases/download/0.5.4/HetrickCV-0.5.4-mac.zip", + "sha256": "5e8ef433ee03c30fa0a46699c60a2293868b458a0e60aeae7964091e6f8c4342" } } } diff --git a/plugins/Simplemodulepack.json b/plugins/IO-Simple.json similarity index 95% rename from plugins/Simplemodulepack.json rename to plugins/IO-Simple.json index 366139ef..27973693 100644 --- a/plugins/Simplemodulepack.json +++ b/plugins/IO-Simple.json @@ -1,5 +1,5 @@ { - "slug": "Simplemodulepack", + "slug": "IO-Simple", "name": "Simple module pack", "author": "IohannRabeson", "version": "0.5.0", diff --git a/plugins/JW-Modules.json b/plugins/JW-Modules.json index 4938c4e7..7b9ad51e 100644 --- a/plugins/JW-Modules.json +++ b/plugins/JW-Modules.json @@ -20,4 +20,4 @@ "sha256": "327a11fed6f2299e87d799a58c0e5b2c026649c1c863367e8a54a116ac258c06" } } -} \ No newline at end of file +} diff --git a/plugins/KarateSnoopy.json b/plugins/KarateSnoopy.json index 7e8166e3..4b800b46 100644 --- a/plugins/KarateSnoopy.json +++ b/plugins/KarateSnoopy.json @@ -3,7 +3,7 @@ "name": "KarateSnoopy", "author": "KarateSnoopy", "license": "MIT", - "version": "0.5.0", + "version": "0.5", "homepage": "https://github.com/KarateSnoopy/vcv-karatesnoopy", "source": "https://github.com/KarateSnoopy/vcv-karatesnoopy", "manual": "https://github.com/KarateSnoopy/vcv-karatesnoopy/blob/master/README.md", diff --git a/plugins/LOGinstruments.json b/plugins/LOGinstruments.json index b2a5a77c..00ce9c74 100644 --- a/plugins/LOGinstruments.json +++ b/plugins/LOGinstruments.json @@ -2,20 +2,21 @@ "slug": "LOGinstruments", "name": "LOGinstruments", "author": "leopard86", + "version": "0.5.5", "source": "https://github.com/leopard86/LOGinstruments", "manual": "https://github.com/leopard86/LOGinstruments/blob/master/README.md", "downloads": { "win": { - "download": "https://github.com/leopard86/LOGinstruments/releases/download/v0_5_3/LOGinstruments-all-platforms-v053.zip", - "sha256": "e2bae5c98097f337af2ac1e3f4c914bffb4aa0a75906ffdd45e76a98a90cfd8e" + "download": "https://github.com/leopard86/LOGinstruments/releases/download/v0_5_5/LOGinstruments-0.5.5-win.zip", + "sha256": "34783266e8cebd27d796211ad6afe545ef3ff2beba5674110d8bd552507f9e37" }, "mac": { - "download": "https://github.com/leopard86/LOGinstruments/releases/download/v0_5_3/LOGinstruments-all-platforms-v053.zip", - "sha256": "e2bae5c98097f337af2ac1e3f4c914bffb4aa0a75906ffdd45e76a98a90cfd8e" + "download": "https://github.com/leopard86/LOGinstruments/releases/download/v0_5_5/LOGinstruments-0.5.5-mac.zip", + "sha256": "d324044b8a88244d1a57f909b02017ad8a251da899ff3e3a646a1cb9643bf4da" }, "lin": { - "download": "https://github.com/leopard86/LOGinstruments/releases/download/v0_5_3/LOGinstruments-all-platforms-v053.zip", - "sha256": "e2bae5c98097f337af2ac1e3f4c914bffb4aa0a75906ffdd45e76a98a90cfd8e" + "download": "https://github.com/leopard86/LOGinstruments/releases/download/v0_5_5/LOGinstruments-0.5.5-lin.zip", + "sha256": "ceb58af00ff6822dd3d9c5232eca593ab27fd6a929d081fb00a8abaa7060d5d1" } } -} \ No newline at end of file +} diff --git a/plugins/NYSTHI.json b/plugins/NYSTHI.json index 7a134a67..e512d319 100644 --- a/plugins/NYSTHI.json +++ b/plugins/NYSTHI.json @@ -1,21 +1,21 @@ { "slug": "NYSTHI", "name": "NYSTHI", - "version": "0.5.8", + "version": "0.5.10", "homepage": "https://github.com/nysthi/nysthi", "manual": "https://github.com/nysthi/nysthi/blob/master/README.md", "downloads": { "win": { - "download": "https://github.com/nysthi/nysthi/releases/download/v0.5.8/nysthi.zip", - "sha256": "2af97913c1074d0c989b2ecbcfc62b4c90fe03746ff8d30d9c9e423fc7bc9f17" + "download": "https://github.com/nysthi/nysthi/releases/download/v0.5.10/nysthi.zip", + "sha256": "af5be01fd555cdab79d467b14f58f8aa13c7d32500dbc393064194279169c306" }, "mac": { - "download": "https://github.com/nysthi/nysthi/releases/download/v0.5.8/nysthi.zip", - "sha256": "2af97913c1074d0c989b2ecbcfc62b4c90fe03746ff8d30d9c9e423fc7bc9f17" + "download": "https://github.com/nysthi/nysthi/releases/download/v0.5.10/nysthi.zip", + "sha256": "af5be01fd555cdab79d467b14f58f8aa13c7d32500dbc393064194279169c306" }, "lin": { - "download": "https://github.com/nysthi/nysthi/releases/download/v0.5.8/nysthi.zip", - "sha256": "2af97913c1074d0c989b2ecbcfc62b4c90fe03746ff8d30d9c9e423fc7bc9f17" + "download": "https://github.com/nysthi/nysthi/releases/download/v0.5.10/nysthi.zip", + "sha256": "af5be01fd555cdab79d467b14f58f8aa13c7d32500dbc393064194279169c306" } } -} \ No newline at end of file +} diff --git a/plugins/NonLinearInstruments.json b/plugins/NonLinearInstruments.json index 8fd17ecb..74de2484 100644 --- a/plugins/NonLinearInstruments.json +++ b/plugins/NonLinearInstruments.json @@ -3,18 +3,22 @@ "name": "Non Linear Instruments", "author": "NonLinearInstruments", "license": "BSD 3-clause", - "version": "0.5.0", + "version": "0.5.1", "homepage": "https://github.com/NonLinearInstruments/NLNRI_VCVRackPlugins", "manual": "https://github.com/NonLinearInstruments/NLNRI_VCVRackPlugins/blob/master/README.md", "source": "https://github.com/NonLinearInstruments/NLNRI_VCVRackPlugins", "downloads": { "mac": { - "download": "https://github.com/NonLinearInstruments/NLNRI_VCVRackPlugins/releases/download/0.5.0/NonLinearInstruments-0.5.0-mac.zip", - "sha256": "955813b84e85a249134b709ceb5adddc1ea94c14d077e519057b97ffdc88d098" + "download": "https://github.com/NonLinearInstruments/NLNRI_VCVRackPlugins/releases/download/0.5.1/NonLinearInstruments-0.5.1-mac.zip", + "sha256": "a1151486477c70644210c5229cb15a29894065ba3495d8bf83a2541e3a3cdeb3" }, "win": { - "download": "https://github.com/NonLinearInstruments/NLNRI_VCVRackPlugins/releases/download/0.5.0/NonLinearInstruments-0.5.0-win.zip", - "sha256": "354cfd04a8bb48993a07b13b8fc6ab68e39c2967fc356c988ac6f520902619d9" + "download": "https://github.com/NonLinearInstruments/NLNRI_VCVRackPlugins/releases/download/0.5.1/NonLinearInstruments-0.5.1-win.zip", + "sha256": "fbec569b54d21dcd70cd64ac676ff7aa80c5e96806da25851a6ee8995ef78b3e" + }, + "lin": { + "download": "https://github.com/NonLinearInstruments/NLNRI_VCVRackPlugins/releases/download/0.5.1/NonLinearInstruments-0.5.1-lin.zip", + "sha256": "fa6be52825bed83df002b431ebc8dd6f4cd799ef45c4e6808be02b998990e95a" } } -} \ No newline at end of file +} diff --git a/plugins/PvC.json b/plugins/PvC.json index 8ba59574..f0e46636 100644 --- a/plugins/PvC.json +++ b/plugins/PvC.json @@ -4,15 +4,5 @@ "author": "phdsg", "version": "0.5.1", "source": "https://github.com/phdsg/PvC", - "manual": "https://github.com/phdsg/PvC/blob/master/README.md", - "downloads": { - "win": { - "download": "https://github.com/phdsg/PvC/releases/download/0.5.1/PvC-0.5.1-win.zip", - "sha256": "c47593ea6ecc33ca6d181518890c4df4b53dbca3fd2174b87ce56178fac5614b" - }, - "lin": { - "download": "https://github.com/phdsg/PvC/releases/download/0.5.1/PvC-0.5.1-lin.zip", - "sha256": "f4886b085e91afd183eed7f6d1b47e5587841e4011347841a1db3d916e28fe37" - } - } + "manual": "https://github.com/phdsg/PvC/blob/master/README.md" } \ No newline at end of file diff --git a/plugins/Qwelk.json b/plugins/Qwelk.json index 5147e0d9..cafdde41 100644 --- a/plugins/Qwelk.json +++ b/plugins/Qwelk.json @@ -2,7 +2,7 @@ "slug": "Qwelk", "name": "Qwelk", "author": "raincheque", - "version": "0.5.4", + "version": "", "source": "https://github.com/raincheque/qwelk", "manual": "https://github.com/raincheque/qwelk/blob/master/README.md", "downloads": { diff --git a/plugins/RODENTMODULES.json b/plugins/RODENTMODULES.json index 8842b266..2a8b6a8d 100644 --- a/plugins/RODENTMODULES.json +++ b/plugins/RODENTMODULES.json @@ -3,11 +3,5 @@ "name": "RODENTMODULES", "author": "RODENTCAT", "version": "0.5.0", - "source": "https://github.com/RODENTCAT/RODENTMODULES", - "downloads": { - "mac": { - "download": "https://github.com/RODENTCAT/RODENTMODULES/releases/download/0.5.0/RODENTMODULES.zip", - "sha256": "ed59da71379acf593623b6df24c83d050ea3d8f37b099a3f3039c3dbffd8e2d2" - } - } + "source": "https://github.com/RODENTCAT/RODENTMODULES" } \ No newline at end of file diff --git a/plugins/StellareModular-Link.json b/plugins/StellareModular-Link.json new file mode 100644 index 00000000..882e56a2 --- /dev/null +++ b/plugins/StellareModular-Link.json @@ -0,0 +1,25 @@ +{ + "slug": "StellareModular-Link", + "name": "Stellare Link", + "author": "Stellare Modular", + "license": "GPL-3", + "version": "0.5.1", + "homepage": "https://www.facebook.com/stellaremodular", + "donation": "https://paypal.me/stellaremodular", + "manual": "https://github.com/stellare-modular/vcv-link/blob/master/README.md", + "source": "https://github.com/stellare-modular/vcv-link", + "downloads": { + "win": { + "download": "https://github.com/stellare-modular/vcv-link/releases/download/0.5.1/StellareModular-Link-0.5.1.zip", + "sha256": "ebe352951876af91d9139bf51491c94d45bbebd94bc9b906d05f4621ed7f0d77" + }, + "mac": { + "download": "https://github.com/stellare-modular/vcv-link/releases/download/0.5.1/StellareModular-Link-0.5.1.zip", + "sha256": "ebe352951876af91d9139bf51491c94d45bbebd94bc9b906d05f4621ed7f0d77" + }, + "lin": { + "download": "https://github.com/stellare-modular/vcv-link/releases/download/0.5.1/StellareModular-Link-0.5.1.zip", + "sha256": "ebe352951876af91d9139bf51491c94d45bbebd94bc9b906d05f4621ed7f0d77" + } + } +} diff --git a/plugins/StellareModular.json b/plugins/StellareModular.json index 108523c7..56968737 100644 --- a/plugins/StellareModular.json +++ b/plugins/StellareModular.json @@ -1,22 +1,24 @@ { "slug": "StellareModular", - "name": "Stellare Modular", + "name": "Turing Machine + Blank", + "author": "Stellare Modular", "license": "MIT", - "homepage": "https://www.facebook.com/stellaremodular/", + "version": "0.5.1", + "homepage": "https://www.facebook.com/stellaremodular", + "donation": "https://paypal.me/stellaremodular", "manual": "https://github.com/stellare-modular/vcv-rack/blob/master/README.md", - "source": "https://github.com/stellare-modular", "downloads": { "win": { - "download": "https://github.com/stellare-modular/vcv-rack/releases/download/0.5.0/Stellare-Modular.zip", - "sha256": "83241b5560d3db9a57f16230b650109d3aab6a6bb7086badf9f07e01a628c3d7" + "download": "https://github.com/stellare-modular/vcv-rack/releases/download/0.5.1/Stellare-Modular-0.5.1.zip", + "sha256": "406fe11b1e908709226a9014590d72871e8de8301a3b0239e8ddd85d02baefc5" }, "mac": { - "download": "https://github.com/stellare-modular/vcv-rack/releases/download/0.5.0/Stellare-Modular.zip", - "sha256": "83241b5560d3db9a57f16230b650109d3aab6a6bb7086badf9f07e01a628c3d7" + "download": "https://github.com/stellare-modular/vcv-rack/releases/download/0.5.1/Stellare-Modular-0.5.1.zip", + "sha256": "406fe11b1e908709226a9014590d72871e8de8301a3b0239e8ddd85d02baefc5" }, "lin": { - "download": "https://github.com/stellare-modular/vcv-rack/releases/download/0.5.0/Stellare-Modular.zip", - "sha256": "83241b5560d3db9a57f16230b650109d3aab6a6bb7086badf9f07e01a628c3d7" + "download": "https://github.com/stellare-modular/vcv-rack/releases/download/0.5.1/Stellare-Modular-0.5.1.zip", + "sha256": "406fe11b1e908709226a9014590d72871e8de8301a3b0239e8ddd85d02baefc5" } } -} \ No newline at end of file +} diff --git a/plugins/Valley Free.json b/plugins/Valley Free.json index ccfa2f1a..8d69a6c8 100644 --- a/plugins/Valley Free.json +++ b/plugins/Valley Free.json @@ -4,6 +4,7 @@ "author": "ValleyAudio", "license": "GPL-3.0 and BSD-3-Clause", "version": "0.5.3", + "donation" : "https://www.paypal.me/valleyvcv", "manual": "https://github.com/ValleyAudio/ValleyRackFree/", "source": "https://github.com/ValleyAudio/ValleyRackFree/", "downloads": { diff --git a/plugins/VultModules.json b/plugins/VultModules.json index 21a87567..f88e7e90 100644 --- a/plugins/VultModules.json +++ b/plugins/VultModules.json @@ -2,22 +2,22 @@ "slug": "VultModules", "name": "VultModules", "author": "modlfo", + "version": "0.5.3", "homepage": "https://modlfo.github.io/VultModules", "manual": "https://modlfo.github.io/VultModules", "donation": "https://www.paypal.me/VultModules", - "source": "https://github.com/modlfo/VultModules", "downloads": { "win": { - "download": "https://github.com/modlfo/VultModules/releases/download/v0.5.2/VultModules.zip", - "sha256": "0e130d414ed76630118fe63eff9f586b93f982b0b972d0251266dc818a7229cb" + "download": "https://github.com/modlfo/VultModules/releases/download/v0.5.3/Vult-0.5.3-win.zip", + "sha256": "7d2560aa197aac48efc8e7a0327ff0d1af13db036e1caca2cd053835962208c1" }, "mac": { - "download": "https://github.com/modlfo/VultModules/releases/download/v0.5.2/VultModules.zip", - "sha256": "0e130d414ed76630118fe63eff9f586b93f982b0b972d0251266dc818a7229cb" + "download": "https://github.com/modlfo/VultModules/releases/download/v0.5.3/Vult-0.5.3-mac.zip", + "sha256": "1c8039c0e69704e979e4e77a3fb35773bbabef352f1c47e4712878d9823f0bc2" }, "lin": { - "download": "https://github.com/modlfo/VultModules/releases/download/v0.5.2/VultModules.zip", - "sha256": "0e130d414ed76630118fe63eff9f586b93f982b0b972d0251266dc818a7229cb" + "download": "https://github.com/modlfo/VultModules/releases/download/v0.5.3/Vult-0.5.3-lin.zip", + "sha256": "b950914ff6ecd3aad05c7f56fbd08839e2ddf52a7a7d57bae653f547d396fe5e" } } -} \ No newline at end of file +} diff --git a/plugins/cf.json b/plugins/cf.json index 0da325dd..8f5a9c44 100644 --- a/plugins/cf.json +++ b/plugins/cf.json @@ -1,21 +1,23 @@ { "slug": "cf", "name": "cf", - "author": "cfoulc", + "author": "clément foulc", + "version": "0.5.10", + "donation": "https://www.paypal.me/cfoulc", "source": "https://github.com/cfoulc/cf", "manual": "https://github.com/cfoulc/cf/blob/master/README.md", "downloads": { "win": { - "download": "https://github.com/cfoulc/cf/releases/download/0.5.10/cf_0510.zip", - "sha256": "16294b0f04f6ab703b1d07894b8030ac10d3f8850c632fbc90c360149b54d667" + "download": "https://github.com/cfoulc/cf/releases/download/0.5.10/cf-0.5.10-win.zip", + "sha256": "63509b786eb86d28464b1f553ca14804f1ddf570219676c43b7b932d156775ed" }, "mac": { - "download": "https://github.com/cfoulc/cf/releases/download/0.5.10/cf_0510.zip", - "sha256": "16294b0f04f6ab703b1d07894b8030ac10d3f8850c632fbc90c360149b54d667" + "download": "https://github.com/cfoulc/cf/releases/download/0.5.10/cf-0.5.10-mac.zip", + "sha256": "296df530b0a3be648c3b94d9da6832e46aa86b432514862117014755916f20d2" }, "lin": { - "download": "https://github.com/cfoulc/cf/releases/download/0.5.10/cf_0510.zip", - "sha256": "16294b0f04f6ab703b1d07894b8030ac10d3f8850c632fbc90c360149b54d667" + "download": "https://github.com/cfoulc/cf/releases/download/0.5.10/cf-0.5.10-lin.zip", + "sha256": "92927fa7fbd2a917de0f601dd77a9ab0d3a8e053778f92f8fb36547955ace2dd" } } } diff --git a/plugins/dBiz.json b/plugins/dBiz.json index 52a67f5d..c4e472bf 100644 --- a/plugins/dBiz.json +++ b/plugins/dBiz.json @@ -7,8 +7,8 @@ "manual": "https://github.com/dBiz/dBiz/blob/master/README.md", "downloads": { "win": { - "download": "https://github.com/dBiz/dBiz/files/1513107/dBiz--win.zip", - "sha256": "b2da8c7711d85da8ba99cc683b05f6f7dc6c3f634e28010aff0693e3002af99b" + "download": "https://github.com/dBiz/dBiz/releases/download/v0.5.2/dBiz-0.5.1-win.zip", + "sha256": "120378b562ff7a74e96f09314a3d9de0a69574b87edddc6cf52ea37957e6fa43" } } -} \ No newline at end of file +} diff --git a/plugins/dekstop.json b/plugins/dekstop.json index 1cbd57c0..610fe5f4 100644 --- a/plugins/dekstop.json +++ b/plugins/dekstop.json @@ -3,20 +3,5 @@ "name": "dekstop", "author": "dekstop", "source": "https://github.com/dekstop/vcvrackplugins_dekstop", - "manual": "https://github.com/dekstop/vcvrackplugins_dekstop/blob/master/README.md", - "downloads": { - "win": { - "download": "https://github.com/dekstop/vcvrackplugins_dekstop/releases/download/v0.5.0/dekstop-dev_f4526cb-win.zip", - "sha256": "077def4bfba3f325b5cd5c45f5d4b33b3ce5bc4a3dfe5211a209af69636f3dae" - }, - "mac": { - "download": "https://github.com/dekstop/vcvrackplugins_dekstop/releases/download/v0.5.0/dekstop-v0.5.0-osx.zip", - "sha256": "fed59c5023f9e0409f7bae1215a5607064cfb0e1252cc8dc4d35c5f86a9a1f93" - }, - "lin": { - "download": "https://github.com/dekstop/vcvrackplugins_dekstop/releases/download/v0.5.0/dekstop-devf4526cb-lin.zip", - "sha256": "2435c5d6054b46ac07465aefb2b057e64d0728044db43f441c40631a0e63f6a2" - } - }, - "disabled": true + "manual": "https://github.com/dekstop/vcvrackplugins_dekstop/blob/master/README.md" } \ No newline at end of file diff --git a/plugins/luckyxxl.json b/plugins/luckyxxl.json index 1bf621d5..d44da399 100644 --- a/plugins/luckyxxl.json +++ b/plugins/luckyxxl.json @@ -2,13 +2,18 @@ "slug": "luckyxxl", "name": "luckyxxl", "author": "luckyxxl", - "version": "0.5.0", + "license": "zlib", + "version": "0.5.1", "source": "https://github.com/luckyxxl/vcv_luckyxxl", - "manual": "https://github.com/luckyxxl/vcv_luckyxxl/blob/master/README.md", + "manual": "https://github.com/luckyxxl/vcv_luckyxxl/blob/v0.5.1/README.md", "downloads": { "win": { - "download": "https://github.com/luckyxxl/vcv_luckyxxl/releases/download/v0.5.0/luckyxxl-0.5.0-win.zip", - "sha256": "02b2864d78b95b749e83d5aebddd00733520f2e6dcc0fa92e551a2432f835620" + "download": "https://github.com/luckyxxl/vcv_luckyxxl/releases/download/v0.5.1/luckyxxl-0.5.1-win.zip", + "sha256": "8a45268ee60280c06edb86e0d346c5c55ba5da828bb89d9ffd30c6057c43c6d8" + }, + "lin": { + "download": "https://github.com/luckyxxl/vcv_luckyxxl/releases/download/v0.5.1/luckyxxl-0.5.1-lin.zip", + "sha256": "ccebdc79571c06542f27374a802b550535053bbe2cc8d0fbc668e0bd83cd1924" } } -} \ No newline at end of file +} diff --git a/plugins/mental.json b/plugins/mental.json index 668a5e0c..376c9c08 100644 --- a/plugins/mental.json +++ b/plugins/mental.json @@ -4,19 +4,5 @@ "author": "Strum", "version": "0.5b", "source": "https://github.com/Strum/Strums_Mental_VCV_Modules", - "manual": "https://github.com/Strum/Strums_Mental_VCV_Modules/wiki/Mental-Modules-WIKI/", - "downloads": { - "win": { - "download": "https://github.com/Strum/Strums_Mental_VCV_Modules/releases/download/v0.5b/Strums_Mental_VCV_Modules_v05b_winx64.zip", - "sha256": "d68ce8d61d2ca761c60806623d965ae897de156ab140d2f6ce34353662daab53" - }, - "mac": { - "download": "https://github.com/Strum/Strums_Mental_VCV_Modules/releases/download/v0.5b/Strums_Mental_VCV_Modules_v05b_Mac.zip", - "sha256": "1bb2d75cde48b129e23a650ecde6052fe3b8e6c4d8b24fafcb01aeea8cd2f2d3" - }, - "lin": { - "download": "https://github.com/Strum/Strums_Mental_VCV_Modules/releases/download/v0.5b/Strums_Mental_VCV_Modules_05b_linux.zip", - "sha256": "4782481e26fd3d50a900eaaeb2a0ce173c0ff8fe14f7aa82b3669fe6dd454c44" - } - } + "manual": "https://github.com/Strum/Strums_Mental_VCV_Modules/wiki/Mental-Modules-WIKI/" } \ No newline at end of file diff --git a/plugins/moDllz.json b/plugins/moDllz.json index ffd76625..61855333 100644 --- a/plugins/moDllz.json +++ b/plugins/moDllz.json @@ -1,19 +1,19 @@ { "slug": "moDllz", "name": "moDllz", - "author": "Pablo DeLaLoza", + "author": "Pablo Delaloza", "license": "BSD 3-clause", - "version": "0.5.1", + "version": "0.5.2", "manual": "https://github.com/dllmusic/VCV_moDllz/blob/master/README.md", "source": "https://github.com/dllmusic/VCV_moDllz", "downloads": { "win": { - "download": "https://github.com/dllmusic/VCV_moDllz/blob/master/moDllz-0.5.1-win.zip?raw=true", - "sha256": "ee7f24f89798411c5d1a09c097edee29bc369dc55c02a1975a31a200c5aa3545" - } - "mac": { - "download": "https://github.com/dllmusic/VCV_moDllz/blob/master/moDllz-0.5.1-mac.zip?raw=true", - "sha256": "2147932276f7b737184064dde43733b2801223c46113190affef1c4292ff872a" + "download": "https://github.com/dllmusic/VCV_moDllz/blob/master/dist/moDllz-0.5.2-win.zip?raw=true", + "sha256": "991296d60f03893c4325b7b2077ef84c4cf1f4d4651137ea877ae865cb7501cd" + }, + "mac": { + "download": "https://github.com/dllmusic/VCV_moDllz/blob/master/dist/moDllz-0.5.2-mac.zip?raw=true", + "sha256": "664064185007b09cf7394a48e071ce0254f4e296c23abf945f1c0daf86af6c62" } } } diff --git a/plugins/mscHack.json b/plugins/mscHack.json index 8c07a236..52c5f86c 100644 --- a/plugins/mscHack.json +++ b/plugins/mscHack.json @@ -2,7 +2,7 @@ "slug": "mscHack", "name": "mscHack", "author": "mschack", - "version": "0.5.0", + "version": "", "source": "https://github.com/mschack/VCV-Rack-Plugins", "manual": "https://github.com/mschack/VCV-Rack-Plugins/blob/master/README.md#demo-vids", "downloads": { diff --git a/plugins/s-ol.json b/plugins/s-ol.json index 4d2bcd43..ea03002f 100644 --- a/plugins/s-ol.json +++ b/plugins/s-ol.json @@ -2,7 +2,7 @@ "slug": "s-ol", "name": "s-ol", "author": "s-ol", - "version": "0.5.0", + "version": "", "source": "https://github.com/s-ol/vcvmods", "manual": "https://github.com/s-ol/vcvmods/blob/master/README.md", "downloads": { diff --git a/plugins/trowaSoft.json b/plugins/trowaSoft.json index 0110624c..a81d8267 100644 --- a/plugins/trowaSoft.json +++ b/plugins/trowaSoft.json @@ -2,7 +2,7 @@ "slug": "trowaSoft", "name": "trowaSoft", "author": "j4s0n-c", - "version": "0.5.5", + "version": "", "homepage": "http://www.geekasaurusrex.net/page/trowaSoft-Sequencer-Modules-for-VCV-Rack.aspx", "source": "https://github.com/j4s0n-c/trowaSoft-VCV", "downloads": { diff --git a/spec/README.md b/spec/README.md new file mode 100644 index 00000000..7800878e --- /dev/null +++ b/spec/README.md @@ -0,0 +1,36 @@ +# Tests + +## Jasmine + +[Jasmine Intro](https://jasmine.github.io/2.8/introduction.html) + +Tests only run on changed manifests files. + +To run all tests: +``` +npm test +``` + +To force the tests to run for certain manifest files: +``` +TEST_MANIFEST=plugins/JW-Modules.json npm test +``` + +## Schema Validation + +Our schema is [here](./manifest.json) + +We use [ajv](https://github.com/epoberezkin/ajv) to validate manifests against that schema. + + +## Virus Total + +*Currently Disabled because they are slow and annoying* + +**Rate Limit: 4 per minute** + +`VT_API_KEY` env var is required and already set in travisci settings + +[Public API](https://www.virustotal.com/en/documentation/public-api/v2/) + + diff --git a/spec/manifest.json b/spec/manifest.json new file mode 100644 index 00000000..cb208a40 --- /dev/null +++ b/spec/manifest.json @@ -0,0 +1,116 @@ +{ + "id": "manifest.json", + "type": "object", + "additionalProperties": false, + "required": [ + "slug", + "version" + ], + "description": "A plugin manifest file for VCV Rack.", + "properties": { + "slug": { + "type": "string", + "description": "SEE README" + }, + "name": { + "type": "string", + "description": "SEE README" + }, + "author": { + "type": "string", + "description": "SEE README" + }, + "license": { + "type": "string", + "description": "SEE README" + }, + "version": { + "type": "string", + "description": "SEE README" + }, + "homepage": { + "type": "string", + "description": "SEE README" + }, + "donation": { + "type": "string", + "description": "SEE README" + }, + "manual": { + "type": "string", + "description": "SEE README" + }, + "source": { + "type": "string", + "description": "SEE README" + }, + "disabled": { + "type": "boolean", + "description": "used when a plugin needs to be disabled" + }, + "productId": { + "type": "number", + "description": "only used by vcv rack website" + }, + "downloads": { + "type": "object", + "additionalProperties": false, + "properties": { + "win": { + "type": "object", + "additionalProperties": false, + "required": [ + "download", + "sha256" + ], + "properties": { + "download": { + "type": "string", + "description": "SEE README" + }, + "sha256": { + "type": "string", + "description": "SEE README" + } + } + }, + "lin": { + "type": "object", + "additionalProperties": false, + "required": [ + "download", + "sha256" + ], + "properties": { + "download": { + "type": "string", + "description": "SEE README" + }, + "sha256": { + "type": "string", + "description": "SEE README" + } + } + }, + "mac": { + "type": "object", + "additionalProperties": false, + "required": [ + "download", + "sha256" + ], + "properties": { + "download": { + "type": "string", + "description": "SEE README" + }, + "sha256": { + "type": "string", + "description": "SEE README" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/spec/manifest.tests.spec.js b/spec/manifest.tests.spec.js new file mode 100644 index 00000000..6cd04e73 --- /dev/null +++ b/spec/manifest.tests.spec.js @@ -0,0 +1,156 @@ +const TEMP_DIR = ".tmp-zips/"; +const CUR_VER_PREFIX = '0.5'; +const MF_DIR = 'plugins'; +const fs = require("fs"); + +const Ajv = require('ajv'); //https://github.com/epoberezkin/ajv +const ajv = new Ajv({allErrors:true}); +const validate = ajv.compile(require('./manifest.json')); + +const request = require("request"); +const { execSync } = require('child_process'); +const AdmZip = require('adm-zip'); //https://github.com/cthackers/adm-zip +const hashFiles = require('hash-files'); //https://github.com/mac-/hash-files +const manifestsToTest = getManifestsThatApply(); + +if(manifestsToTest.length === 0){ + console.log("No manifest files to test."); + return; +} + +//virus total stuff +const VIRUS_TOTAL_ENABLED = false; +const vt = require("node-virustotal"); //https://github.com/natewatson999/node-virustotal +const con = vt.MakePublicConnection(); +if(VIRUS_TOTAL_ENABLED){ + con.setKey(process.env.VT_API_KEY); + con.setDelay(15000); + jasmine.DEFAULT_TIMEOUT_INTERVAL = manifestsToTest.length * 4 * con.getDelay(); +} + +describe("test manifests", function() { + + beforeEach(()=>{ + execSync(`mkdir -p ${TEMP_DIR}`) + }); + + afterEach(()=>{ + execSync(`rm ${TEMP_DIR}/*.zip`) + fs.rmdirSync(TEMP_DIR); + }); + + const testMF = (filePath) => { + it("valid properties and zip files", function(done) { + + try { + if (!filePath.toLowerCase().endsWith('.json')) { + fail("manifests should have .json extension"); + } + + const fileContent = fs.readFileSync(filePath, 'utf8'); + const mfObj = JSON.parse(fileContent); + const valid = validate(mfObj); + if (!valid) { + validate.errors.map(e => e.message += ` in ${filePath}`) + fail(validate.errors); + } + + if (!(/^[a-zA-Z0-9_\-]*$/).test(mfObj.slug)) { + fail(`slug does not match regex in ${filePath}`); + } + + const fileName = filePath.replace('plugins/', ''); + if (fileName.replace('.json', '') !== mfObj.slug) { + fail(`slug '${mfObj.slug}' does not match fileName: ${fileName}`); + } + + if (mfObj.version && !mfObj.version.startsWith(CUR_VER_PREFIX)) { + fail(`version '${mfObj.version}' must start with '${CUR_VER_PREFIX}'`); + } + + if(mfObj.downloads){ + const urlsChecked = []; + let lastSha256; + ['win', 'lin', 'mac'].map(os => { + const osObj = mfObj.downloads[os]; + if(osObj && osObj.download && osObj.sha256){ + const zipUrl = osObj.download; + if(urlsChecked.includes(zipUrl)){ + if(lastSha256 !== osObj.sha256){ + fail("SHA256 should be the same if the download URL is the same"); + } + } else { + urlsChecked.push(zipUrl); + lastSha256 = osObj.sha256; + testOneZip(mfObj.slug, osObj, done); + } + } + }); + } + + } catch(err){ + fail(`Error while trying to validate manifest: ${filePath}\n${err}`); + } + }); + }; + + manifestsToTest.map(testMF); +}); + +function testOneZip(expectedRootDir, osObj, done) { + const urlParts = osObj.download.split('/'); + const zipName = urlParts[urlParts.length - 1].split('\?')[0]; + request(osObj.download).pipe(fs.createWriteStream(TEMP_DIR+zipName)).on('finish', ()=>{ + + console.log(`Downloaded ${TEMP_DIR+zipName}`); + const zip = new AdmZip(TEMP_DIR+zipName); + const zipEntries = zip.getEntries(); + // zipEntries.map(ze=>console.log(ze.toString())); + + const slugDirFound = zipEntries.find(ze => ze.isDirectory && + (ze.entryName === expectedRootDir+'/' || ze.entryName === expectedRootDir+'\\') + ); + if(!slugDirFound){ + fail(`Zip should have one dir named ${expectedRootDir}`); + } + + const invalidEntry = zipEntries.find(ze => !ze.entryName.startsWith(slugDirFound.entryName)); + if(invalidEntry){ + fail(`Zip entries should all be under a dir named ${expectedRootDir} but this entry was found: ${invalidEntry.entryName}`); + } + + if(VIRUS_TOTAL_ENABLED){ + con.FileEvaluation(zipName, "application/zip", fs.readFileSync(TEMP_DIR+zipName), function(data) { + console.log(data); + if(osObj.sha256 !== data.sha256){ + throw new Error(`Invalid sha256 value. manifest:${osObj.sha256} virustotal:${data.sha256}`); + } + if(data.positives > 2){ + throw new Error(`Too many positives from virustotal.`); + } + done(); + }, function(err) { + if (err){ throw err; } + done(); + }); + } else { + hashFiles({files:[TEMP_DIR+zipName], algorithm:'sha256'}, function(error, hash) { + if(osObj.sha256 !== hash){ + throw new Error(`Invalid sha256 value. manifest:${osObj.sha256} hash:${hash}`); + } + done(); + }); + } + }); +} + +function getManifestsThatApply(){ + let paths = ""; + if(process.env.TEST_MANIFEST){ + paths = process.env.TEST_MANIFEST; + } else { + paths = execSync(`git diff -w --stat --name-only origin/master -- ${MF_DIR}/`, {encoding:'utf8'}); + } + return paths.trim().split('\n').filter(s=>s.trim() !== ''); +} + diff --git a/spec/support/jasmine.json b/spec/support/jasmine.json new file mode 100644 index 00000000..3ea31669 --- /dev/null +++ b/spec/support/jasmine.json @@ -0,0 +1,11 @@ +{ + "spec_dir": "spec", + "spec_files": [ + "**/*[sS]pec.js" + ], + "helpers": [ + "helpers/**/*.js" + ], + "stopSpecOnExpectationFailure": false, + "random": false +}