{"_id":"nexrender","_rev":"35-ae93f48131ca6a2c5bed75313b17ab49","name":"nexrender","description":"Data-driven render automation for After Effects","dist-tags":{"latest":"1.0.1"},"versions":{"0.1.0":{"name":"nexrender","version":"0.1.0","description":"Automate your After Effects project creation and rendering routine.","main":"index.js","bin":{"nexrender":"./cli.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Inlife","email":"vladgritsenko@gmail.com","url":"http://github.com/inlife"},"repository":{"type":"git","url":"git+https://github.com/inlife/nexrender.git"},"license":"MIT","dependencies":{"async":"^1.5.2","body-parser":"^1.15.0","cli":"^0.11.1","download":"^4.4.3","fs-extra":"^0.26.5","jimp":"^0.2.21","lowdb":"^0.12.3","mkdirp":"^0.5.1","morgan":"^1.6.1","node-dir":"^0.1.11","node-rest-client":"^1.8.0","shortid":"^2.2.4","youtube-api":"^1.4.0"},"gitHead":"d1602a5fba109ae8b4c1c545a176f839ca3167a4","bugs":{"url":"https://github.com/inlife/nexrender/issues"},"homepage":"https://github.com/inlife/nexrender#readme","_id":"nexrender@0.1.0","_shasum":"3940228d5c62548359d02e1df1ec1b18fa94fbbf","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.4.0","_npmUser":{"name":"inlife","email":"vladgritsenko@gmail.com"},"dist":{"shasum":"3940228d5c62548359d02e1df1ec1b18fa94fbbf","tarball":"https://registry.npmjs.org/nexrender/-/nexrender-0.1.0.tgz","integrity":"sha512-mBHnApMn/wqAFO6Qg9hlEH5Zwm51VmD/LebvqRi9s0sxn2ki0k5dnhMuaLgiC0a3hgG4Sa6c4LoY9zkwNl1Hmg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD7gge+TRpApyvrY2jwpYEvYKb7YgZWSrAtNr5SxQFGUgIhANHdIqMbFt/fG0ESDuK+VhwOvxN1WQEqCOdgsoQEac7X"}]},"maintainers":[{"name":"inlife","email":"vladgritsenko@gmail.com"}],"_npmOperationalInternal":{"host":"packages-5-east.internal.npmjs.com","tmp":"tmp/nexrender-0.1.0.tgz_1455747408553_0.07368619577027857"},"directories":{},"deprecated":"This package has been deprecated in favor of a new 1.x version of nexrender, published as a monorepo with multiple packages under an organization. More details: https://github.com/inlife/nexrender"},"0.1.1":{"name":"nexrender","version":"0.1.1","description":"Automate your After Effects project creation and rendering routine.","main":"index.js","bin":{"nexrender":"./cli.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Inlife","email":"vladgritsenko@gmail.com","url":"http://github.com/inlife"},"repository":{"type":"git","url":"git+https://github.com/inlife/nexrender.git"},"license":"MIT","dependencies":{"async":"^1.5.2","body-parser":"^1.15.0","cli":"^0.11.1","download":"^4.4.3","express":"^4.13.4","fs-extra":"^0.26.5","jimp":"^0.2.21","lowdb":"^0.12.3","mkdirp":"^0.5.1","morgan":"^1.6.1","node-dir":"^0.1.11","node-rest-client":"^1.8.0","shortid":"^2.2.4"},"gitHead":"a81252ac711321577de3a1c5607deb7ca8fc8ed1","bugs":{"url":"https://github.com/inlife/nexrender/issues"},"homepage":"https://github.com/inlife/nexrender#readme","_id":"nexrender@0.1.1","_shasum":"19194d17ae77525d425413592d6f0ef55aa0b281","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.4.0","_npmUser":{"name":"inlife","email":"vladgritsenko@gmail.com"},"dist":{"shasum":"19194d17ae77525d425413592d6f0ef55aa0b281","tarball":"https://registry.npmjs.org/nexrender/-/nexrender-0.1.1.tgz","integrity":"sha512-4I5hwJfmJRNxYYjGt5TlqW6+z+DsvFjXG/KgkjkLNIlUh2FBM14/X9db0TJoblaKb12zlRRcjgb+kpcYKl9bIg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHz1SnMSagd1CUgyp2T8/w1kKEQnNvZ5nz63+geSUUo/AiA6EKq1HNhRpo4Yop52lJ8z9qDHj/jpOdCZLF1MxuRL1A=="}]},"maintainers":[{"name":"inlife","email":"vladgritsenko@gmail.com"}],"_npmOperationalInternal":{"host":"packages-5-east.internal.npmjs.com","tmp":"tmp/nexrender-0.1.1.tgz_1455747956924_0.8314906831365079"},"directories":{},"deprecated":"This package has been deprecated in favor of a new 1.x version of nexrender, published as a monorepo with multiple packages under an organization. More details: https://github.com/inlife/nexrender"},"0.2.0":{"name":"nexrender","version":"0.2.0","description":"Automate your After Effects project creation and rendering routine.","main":"index.js","bin":{"nexrender":"./cli.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Inlife","email":"vladgritsenko@gmail.com","url":"http://github.com/inlife"},"repository":{"type":"git","url":"git+https://github.com/inlife/nexrender.git"},"license":"MIT","dependencies":{"async":"^1.5.2","body-parser":"^1.15.0","cli":"^0.11.1","download":"^4.4.3","express":"^4.13.4","fs-extra":"^0.26.5","jimp":"^0.2.21","lowdb":"^0.12.3","mkdirp":"^0.5.1","morgan":"^1.6.1","node-dir":"^0.1.11","request":"^2.69.0","shortid":"^2.2.4"},"gitHead":"877a4b02710d1a90c3e40f79fc399c41637e5e60","bugs":{"url":"https://github.com/inlife/nexrender/issues"},"homepage":"https://github.com/inlife/nexrender#readme","_id":"nexrender@0.2.0","_shasum":"9101a9ba89392ce945900ad2e6c3d7966151e416","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.4.0","_npmUser":{"name":"inlife","email":"vladgritsenko@gmail.com"},"dist":{"shasum":"9101a9ba89392ce945900ad2e6c3d7966151e416","tarball":"https://registry.npmjs.org/nexrender/-/nexrender-0.2.0.tgz","integrity":"sha512-nKzkALEQfuf5Q0z7Mfmzk1LP2Ttvm8Pnu3COaEpu6Y19l8wtyiZ00nKE77lu/yNhV59whfhp8HGdKFPJz2wYQg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBTAOcAoD0+qYzQEA3Xb6mlJ1fPvZa5OL+bN9CcsnwUUAiEAhOdlUR6ZEy+S19usmUrgpvJjuoh2W/CPynQtXN1i9kA="}]},"maintainers":[{"name":"inlife","email":"vladgritsenko@gmail.com"}],"_npmOperationalInternal":{"host":"packages-6-west.internal.npmjs.com","tmp":"tmp/nexrender-0.2.0.tgz_1455919321462_0.49916617083363235"},"directories":{},"deprecated":"This package has been deprecated in favor of a new 1.x version of nexrender, published as a monorepo with multiple packages under an organization. More details: https://github.com/inlife/nexrender"},"0.2.1":{"name":"nexrender","version":"0.2.1","description":"Automate your After Effects project creation and rendering routine.","main":"index.js","bin":{"nexrender":"./cli.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Inlife","email":"vladgritsenko@gmail.com","url":"http://github.com/inlife"},"repository":{"type":"git","url":"git+https://github.com/inlife/nexrender.git"},"license":"MIT","dependencies":{"async":"^1.5.2","body-parser":"^1.15.0","cli":"^0.11.1","download":"^4.4.3","express":"^4.13.4","fs-extra":"^0.26.5","jimp":"^0.2.21","lowdb":"^0.12.3","mkdirp":"^0.5.1","morgan":"^1.6.1","node-dir":"^0.1.11","request":"^2.69.0","shortid":"^2.2.4"},"gitHead":"3eb37a4c4b8164f0598014c3154e7dc714d96b47","bugs":{"url":"https://github.com/inlife/nexrender/issues"},"homepage":"https://github.com/inlife/nexrender#readme","_id":"nexrender@0.2.1","_shasum":"05b6f4e9f4705ae8661e065352034344e518bd09","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.4.0","_npmUser":{"name":"inlife","email":"vladgritsenko@gmail.com"},"dist":{"shasum":"05b6f4e9f4705ae8661e065352034344e518bd09","tarball":"https://registry.npmjs.org/nexrender/-/nexrender-0.2.1.tgz","integrity":"sha512-nX5Ophm0g+or4KmLvrPa3kpy94bmuiBtsOMo0O5xF5VyY7MrDusZJ/PWdbep3nxzbb3atOfff6mQC74jhXbTfA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGk2ZuuCWodTazyItAyB51U6fAhTl6JCCNXoj3AdxgiTAiBqGlWOTCU/WSiZ5+eu/NhxfeQ465wXy+8jWHzhAUCN6w=="}]},"maintainers":[{"name":"inlife","email":"vladgritsenko@gmail.com"}],"_npmOperationalInternal":{"host":"packages-6-west.internal.npmjs.com","tmp":"tmp/nexrender-0.2.1.tgz_1456052734772_0.7882693517021835"},"directories":{},"deprecated":"This package has been deprecated in favor of a new 1.x version of nexrender, published as a monorepo with multiple packages under an organization. More details: https://github.com/inlife/nexrender"},"0.3.0":{"name":"nexrender","version":"0.3.0","description":"Automate your After Effects project creation and rendering routine.","main":"index.js","bin":{"nexrender":"./cli.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Inlife","email":"vladgritsenko@gmail.com","url":"http://github.com/inlife"},"repository":{"type":"git","url":"git+https://github.com/inlife/nexrender.git"},"license":"MIT","dependencies":{"async":"^1.5.2","body-parser":"^1.15.0","cli":"^0.11.1","download":"^4.4.3","express":"^4.13.4","fs-extra":"^0.26.5","jimp":"^0.2.21","lowdb":"^0.12.3","mkdirp":"^0.5.1","morgan":"^1.6.1","node-dir":"^0.1.11","request":"^2.69.0","shortid":"^2.2.4"},"gitHead":"bb408aeb9bbfa876e0cc75baac913dab5900cc64","bugs":{"url":"https://github.com/inlife/nexrender/issues"},"homepage":"https://github.com/inlife/nexrender#readme","_id":"nexrender@0.3.0","_shasum":"c9ba904500e9bc93b14aa407ac00bd54ae2edcd9","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.4.0","_npmUser":{"name":"inlife","email":"vladgritsenko@gmail.com"},"dist":{"shasum":"c9ba904500e9bc93b14aa407ac00bd54ae2edcd9","tarball":"https://registry.npmjs.org/nexrender/-/nexrender-0.3.0.tgz","integrity":"sha512-M4jLAphxeQW+bD3h70WZFbTgl2j4yv7F8fa33N4uo65KnFJD8TUBHezyMlgqHL7O+rVJIkaGGg3Azs8+7QrCZA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHNaeQnydu94i/NWNYDcUyDgfDNzXC67XMqrrWH7Qb4tAiEAjS3cqWcEzqjcpxIO3c1OYV+T3ULIJ2MIBOA4jcDKUCQ="}]},"maintainers":[{"name":"inlife","email":"vladgritsenko@gmail.com"}],"_npmOperationalInternal":{"host":"packages-6-west.internal.npmjs.com","tmp":"tmp/nexrender-0.3.0.tgz_1456220472459_0.874344555195421"},"directories":{},"deprecated":"This package has been deprecated in favor of a new 1.x version of nexrender, published as a monorepo with multiple packages under an organization. More details: https://github.com/inlife/nexrender"},"0.3.1":{"name":"nexrender","version":"0.3.1","description":"Automate your After Effects project creation and rendering routine.","main":"index.js","bin":{"nexrender":"./cli.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Inlife","email":"vladgritsenko@gmail.com","url":"http://github.com/inlife"},"repository":{"type":"git","url":"git+https://github.com/inlife/nexrender.git"},"license":"MIT","dependencies":{"async":"^1.5.2","body-parser":"^1.15.0","cli":"^0.11.1","download":"^4.4.3","express":"^4.13.4","fs-extra":"^0.26.5","jimp":"^0.2.21","lowdb":"^0.12.3","mkdirp":"^0.5.1","morgan":"^1.6.1","node-dir":"^0.1.11","request":"^2.69.0","shortid":"^2.2.4"},"gitHead":"7a6e7794797fd2675695a4a963f3680a9b3a0d38","bugs":{"url":"https://github.com/inlife/nexrender/issues"},"homepage":"https://github.com/inlife/nexrender#readme","_id":"nexrender@0.3.1","_shasum":"48f6abaf1ccd0077b80ba2e0ef57f9057e5935ed","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.4.0","_npmUser":{"name":"inlife","email":"vladgritsenko@gmail.com"},"dist":{"shasum":"48f6abaf1ccd0077b80ba2e0ef57f9057e5935ed","tarball":"https://registry.npmjs.org/nexrender/-/nexrender-0.3.1.tgz","integrity":"sha512-zAOLoEDAw22Kwgto6AZygUKFjSJ0Rt60xj+bmedwCJii8QQW4PyLbWBAnOIfh+pH8RaxFx2rCc4MPEcMAMgowA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCOhHwzpRCtTqACxBNd3s7mUV168ggXrKAQ66OYnbkuUgIhAJbYqhrBI1Yt6kmTApJBDqWt1+0QX4dh6k/n+omICu3N"}]},"maintainers":[{"name":"inlife","email":"vladgritsenko@gmail.com"}],"_npmOperationalInternal":{"host":"packages-9-west.internal.npmjs.com","tmp":"tmp/nexrender-0.3.1.tgz_1456226963319_0.7281709667295218"},"directories":{},"deprecated":"This package has been deprecated in favor of a new 1.x version of nexrender, published as a monorepo with multiple packages under an organization. More details: https://github.com/inlife/nexrender"},"0.3.2":{"name":"nexrender","version":"0.3.2","description":"Automate your After Effects project creation and rendering routine.","main":"index.js","bin":{"nexrender":"./cli.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Inlife","email":"vladgritsenko@gmail.com","url":"http://github.com/inlife"},"repository":{"type":"git","url":"git+https://github.com/inlife/nexrender.git"},"license":"MIT","dependencies":{"async":"^1.5.2","body-parser":"^1.15.0","cli":"^0.11.1","download":"^4.4.3","express":"^4.13.4","fs-extra":"^0.26.5","jimp":"^0.2.21","lowdb":"^0.12.3","mkdirp":"^0.5.1","morgan":"^1.6.1","node-dir":"^0.1.11","request":"^2.69.0","shortid":"^2.2.4"},"gitHead":"21e35c4bd3c75d4f803ec8c76422e26f1bd62a33","bugs":{"url":"https://github.com/inlife/nexrender/issues"},"homepage":"https://github.com/inlife/nexrender#readme","_id":"nexrender@0.3.2","_shasum":"46f2bed7f4b86b9d6d6353c2b99b46a99a884cbd","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.4.0","_npmUser":{"name":"inlife","email":"vladgritsenko@gmail.com"},"dist":{"shasum":"46f2bed7f4b86b9d6d6353c2b99b46a99a884cbd","tarball":"https://registry.npmjs.org/nexrender/-/nexrender-0.3.2.tgz","integrity":"sha512-vFmF3cFtAeQvsRLWREDG75ZypnC9gRpKUDQdsYTx9DHQtMg2s/PM1qRuPxscPw6tV/jbv0r5roMGtuPzeOUXJw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBuyyie2dnfu5jwTdGq/sMJOFa3/0fsrbdSiD89i7uTbAiBZTMaNROfEUWEzi48ZCTkWBwxuzVN4jejVFDcW4RNofw=="}]},"maintainers":[{"name":"inlife","email":"vladgritsenko@gmail.com"}],"_npmOperationalInternal":{"host":"packages-9-west.internal.npmjs.com","tmp":"tmp/nexrender-0.3.2.tgz_1456255699975_0.08518831385299563"},"directories":{},"deprecated":"This package has been deprecated in favor of a new 1.x version of nexrender, published as a monorepo with multiple packages under an organization. More details: https://github.com/inlife/nexrender"},"0.3.3":{"name":"nexrender","version":"0.3.3","description":"Automate your After Effects project creation and rendering routine.","main":"index.js","bin":{"nexrender":"./cli.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Inlife","email":"vladgritsenko@gmail.com","url":"http://github.com/inlife"},"repository":{"type":"git","url":"git+https://github.com/inlife/nexrender.git"},"license":"MIT","dependencies":{"async":"^1.5.2","body-parser":"^1.15.0","cli":"^0.11.1","download":"^4.4.3","express":"^4.13.4","fs-extra":"^0.26.5","jimp":"^0.2.21","lowdb":"^0.12.3","mkdirp":"^0.5.1","morgan":"^1.6.1","node-dir":"^0.1.11","request":"^2.69.0","shortid":"^2.2.4"},"gitHead":"30d18fa2a0be8de0c667d13470a11f6448b720d1","bugs":{"url":"https://github.com/inlife/nexrender/issues"},"homepage":"https://github.com/inlife/nexrender#readme","_id":"nexrender@0.3.3","_shasum":"86cce973acab1c722cd9c69e6bad63431b69153f","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.4.0","_npmUser":{"name":"inlife","email":"vladgritsenko@gmail.com"},"dist":{"shasum":"86cce973acab1c722cd9c69e6bad63431b69153f","tarball":"https://registry.npmjs.org/nexrender/-/nexrender-0.3.3.tgz","integrity":"sha512-ypV2jGV6z9KD4LVaGpLFBzHoOg1TouPmeWtUp9pmB5iMxiP6sI6JEad1i8L672aEV5rf9GD3HjDVbRvJzAoLqA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID8PSQKgrJsekRoTzgurjDW/yWxwp7+HzIzucdJVaNDJAiEAvkHzjJ+FWS+fWh/Qf6Y9H/2Yv+x4b3NuBdFBDPsoeUM="}]},"maintainers":[{"name":"inlife","email":"vladgritsenko@gmail.com"}],"_npmOperationalInternal":{"host":"packages-6-west.internal.npmjs.com","tmp":"tmp/nexrender-0.3.3.tgz_1456255886114_0.8409301810897887"},"directories":{},"deprecated":"This package has been deprecated in favor of a new 1.x version of nexrender, published as a monorepo with multiple packages under an organization. More details: https://github.com/inlife/nexrender"},"0.4.0":{"name":"nexrender","version":"0.4.0","description":"Automate your After Effects project creation and rendering routine.","main":"index.js","bin":{"nexrender":"./cli.js"},"scripts":{"test":"gulp test","lint":"eslint .","coverage":"istanbul cover ./node_modules/.bin/_mocha -- -R spec"},"author":{"name":"Inlife","email":"vladgritsenko@gmail.com","url":"https://github.com/inlife"},"repository":{"type":"git","url":"git+https://github.com/inlife/nexrender.git"},"license":"MIT","dependencies":{"async":"^1.5.2","body-parser":"^1.15.0","cli":"^0.11.1","download":"^4.4.3","express":"^4.13.4","fs-extra":"^0.26.5","jimp":"^0.2.21","lowdb":"^0.12.3","mkdirp":"^0.5.1","morgan":"^1.6.1","node-dir":"^0.1.11","request":"^2.69.0","shortid":"^2.2.4"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^5.2.0","chai-fs":"git+https://github.com/zapatek/chai-fs.git","gulp":"^3.9.1","gulp-eslint":"^2.0.0","gulp-mocha":"^2.2.0","istanbul":"^0.4.2","jshint":"^2.9.1","mocha":"^2.4.5","rewire":"^2.5.1"},"gitHead":"e1fe142e5df90d76202741fbdfe96165336f9d5c","bugs":{"url":"https://github.com/inlife/nexrender/issues"},"homepage":"https://github.com/inlife/nexrender#readme","_id":"nexrender@0.4.0","_shasum":"18da147817251e44b86c2581e012fd6a1d58e627","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.4.0","_npmUser":{"name":"inlife","email":"vladgritsenko@gmail.com"},"dist":{"shasum":"18da147817251e44b86c2581e012fd6a1d58e627","tarball":"https://registry.npmjs.org/nexrender/-/nexrender-0.4.0.tgz","integrity":"sha512-1tVV2Hn4t573hTyvLR96UowmlJBIOTUyAHEzN1Ib8T3TS19rRy7WrzaiQq5zhVN+EgRHjt9LlDy8LOBXUE3GWg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDDaCS1cxVUim9BRxP8lf/hBfmROPX5JdzkfrXVwKv/rgIhAP94BCehr+pCklo8emMwjJRF0KP7dMrJX9eTVCejIZCZ"}]},"maintainers":[{"name":"inlife","email":"vladgritsenko@gmail.com"}],"_npmOperationalInternal":{"host":"packages-6-west.internal.npmjs.com","tmp":"tmp/nexrender-0.4.0.tgz_1456724317912_0.8516512040514499"},"directories":{},"deprecated":"This package has been deprecated in favor of a new 1.x version of nexrender, published as a monorepo with multiple packages under an organization. More details: https://github.com/inlife/nexrender"},"0.4.1":{"name":"nexrender","version":"0.4.1","description":"Automate your After Effects project creation and rendering routine.","main":"index.js","bin":{"nexrender":"./cli.js"},"scripts":{"test":"gulp test","lint":"eslint .","coverage":"istanbul cover ./node_modules/.bin/_mocha -- -R spec"},"author":{"name":"Inlife","email":"vladgritsenko@gmail.com","url":"https://github.com/inlife"},"repository":{"type":"git","url":"git+https://github.com/inlife/nexrender.git"},"license":"MIT","dependencies":{"async":"^1.5.2","body-parser":"^1.15.0","cli":"^0.11.1","download":"^4.4.3","express":"^4.13.4","fs-extra":"^0.26.5","jimp":"^0.2.21","lowdb":"^0.12.3","mkdirp":"^0.5.1","morgan":"^1.6.1","node-dir":"^0.1.11","request":"^2.69.0","shortid":"^2.2.4"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^5.2.0","chai-fs":"git+https://github.com/zapatek/chai-fs.git","gulp":"^3.9.1","gulp-eslint":"^2.0.0","gulp-mocha":"^2.2.0","istanbul":"^0.4.2","jshint":"^2.9.1","mocha":"^2.4.5","rewire":"^2.5.1"},"gitHead":"f14341dff7a5b3d853f5017bca1a19517279e46b","bugs":{"url":"https://github.com/inlife/nexrender/issues"},"homepage":"https://github.com/inlife/nexrender#readme","_id":"nexrender@0.4.1","_shasum":"3642fc1e49595b537f52f67c8356e0cbc4cd5c10","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.4.0","_npmUser":{"name":"inlife","email":"vladgritsenko@gmail.com"},"dist":{"shasum":"3642fc1e49595b537f52f67c8356e0cbc4cd5c10","tarball":"https://registry.npmjs.org/nexrender/-/nexrender-0.4.1.tgz","integrity":"sha512-S0T9Td5Uxh9d2iQxMHY9E30oniqZkmqScjJMJxfK5IvKZagjqDM6CNdvzehBKSja6gvLs/0dJUNXHzOcnKxORg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCMvBJ43nFgqSO4RP6ngIz2PtBs4PeP17gFhEyOAfhUtgIhAPiNeb7ELDvuyHfZrRBjeqmO5NBCtv/HUbHFxuwDibcW"}]},"maintainers":[{"name":"inlife","email":"vladgritsenko@gmail.com"}],"_npmOperationalInternal":{"host":"packages-6-west.internal.npmjs.com","tmp":"tmp/nexrender-0.4.1.tgz_1456763307003_0.7223236905410886"},"directories":{},"deprecated":"This package has been deprecated in favor of a new 1.x version of nexrender, published as a monorepo with multiple packages under an organization. More details: https://github.com/inlife/nexrender"},"0.4.4":{"name":"nexrender","version":"0.4.4","description":"Automate your After Effects project creation and rendering routine.","main":"index.js","bin":{"nexrender":"./cli.js"},"scripts":{"test":"gulp test","lint":"eslint .","coverage":"istanbul cover ./node_modules/.bin/_mocha -- -R spec"},"author":{"name":"Inlife","email":"vladgritsenko@gmail.com","url":"https://github.com/inlife"},"repository":{"type":"git","url":"git+https://github.com/inlife/nexrender.git"},"license":"MIT","dependencies":{"async":"^2.0.0-rc.6","body-parser":"^1.15.0","cli":"^0.11.1","download":"^5.0.2","express":"^4.13.4","fs-extra":"^0.30.0","jimp":"^0.2.21","lowdb":"^0.13.1","mkdirp":"^0.5.1","morgan":"^1.6.1","node-dir":"^0.1.11","request":"^2.69.0","shortid":"^2.2.4"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^5.2.0","chai-fs":"git+https://github.com/zapatek/chai-fs.git","gulp":"^3.9.1","gulp-eslint":"^2.0.0","gulp-mocha":"^2.2.0","istanbul":"^0.4.2","jshint":"^2.9.1","mocha":"^2.4.5","rewire":"^2.5.1"},"gitHead":"e259a8d9f75e9b224e642130af9126e8c98a0c77","bugs":{"url":"https://github.com/inlife/nexrender/issues"},"homepage":"https://github.com/inlife/nexrender#readme","_id":"nexrender@0.4.4","_shasum":"d69d8f92cc1d28d36d4d5d44f8d3ef555d075978","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.4.0","_npmUser":{"name":"inlife","email":"vladgritsenko@gmail.com"},"dist":{"shasum":"d69d8f92cc1d28d36d4d5d44f8d3ef555d075978","tarball":"https://registry.npmjs.org/nexrender/-/nexrender-0.4.4.tgz","integrity":"sha512-Id1Zk2WfdeksstIFOWXWVffDyvGnghibl13LkokfYocZ8X12192J3KrcDkaZKj7QNBBQLcIMGhnW/62NLNSvXQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEm+LK5K1lBmcSxg1nkCtRUnHHEoCd3QZrKdWVRmwcvRAiBa/ZQLckWvMuZcwlhUU1ga220OlnAK4NUW59iyqU3LjA=="}]},"maintainers":[{"name":"inlife","email":"vladgritsenko@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/nexrender-0.4.4.tgz_1466844784109_0.15832233615219593"},"directories":{},"deprecated":"This package has been deprecated in favor of a new 1.x version of nexrender, published as a monorepo with multiple packages under an organization. More details: https://github.com/inlife/nexrender"},"0.4.5":{"name":"nexrender","version":"0.4.5","description":"Automate your After Effects project creation and rendering routine.","main":"index.js","bin":{"nexrender":"./cli.js"},"scripts":{"test":"gulp test","lint":"eslint .","coverage":"istanbul cover ./node_modules/.bin/_mocha -- -R spec"},"author":{"name":"Inlife","email":"vladgritsenko@gmail.com","url":"https://github.com/inlife"},"repository":{"type":"git","url":"git+https://github.com/inlife/nexrender.git"},"license":"MIT","dependencies":{"async":"^2.0.0-rc.6","body-parser":"^1.15.0","cli":"^0.11.1","download":"^5.0.2","express":"^4.13.4","fs-extra":"^0.30.0","jimp":"^0.2.21","lodash":"^4.13.1","lowdb":"^0.13.1","mkdirp":"^0.5.1","morgan":"^1.6.1","node-dir":"^0.1.11","request":"^2.69.0","shortid":"^2.2.4"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^5.2.0","chai-fs":"git+https://github.com/zapatek/chai-fs.git","gulp":"^3.9.1","gulp-eslint":"^2.0.0","gulp-mocha":"^2.2.0","istanbul":"^0.4.2","jshint":"^2.9.1","mocha":"^2.4.5","rewire":"^2.5.1"},"gitHead":"f8ac713989d15c9ac97ed7ba1df3f4e41e7a852c","bugs":{"url":"https://github.com/inlife/nexrender/issues"},"homepage":"https://github.com/inlife/nexrender#readme","_id":"nexrender@0.4.5","_shasum":"aecbb21657c3ab5114256e1068ebc6daa03d440e","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.4.0","_npmUser":{"name":"inlife","email":"vladgritsenko@gmail.com"},"dist":{"shasum":"aecbb21657c3ab5114256e1068ebc6daa03d440e","tarball":"https://registry.npmjs.org/nexrender/-/nexrender-0.4.5.tgz","integrity":"sha512-GR7vHiA2UkNhZbsl88nZfvtgzIoHjxR+uH9z+jeqyoTKyQrBg8KxzIzeUStbx2Ijq0h1u5vHofaAtRn30WbiFw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGuUZtnuq5VNY09qBFX/OVnrOgVLmJILpbzyN+CFCbPGAiA4g5BHYeAL3D3Z/02CmenjM4QeEuCVOU+9k6RAc63BYw=="}]},"maintainers":[{"name":"inlife","email":"vladgritsenko@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/nexrender-0.4.5.tgz_1466849124924_0.6240403961855918"},"directories":{},"deprecated":"This package has been deprecated in favor of a new 1.x version of nexrender, published as a monorepo with multiple packages under an organization. More details: https://github.com/inlife/nexrender"},"0.4.6":{"name":"nexrender","version":"0.4.6","description":"Automate your After Effects project creation and rendering routine.","main":"index.js","bin":{"nexrender":"./cli.js"},"scripts":{"test":"gulp test","lint":"eslint .","coverage":"istanbul cover ./node_modules/.bin/_mocha -- -R spec"},"author":{"name":"Inlife","email":"vladgritsenko@gmail.com","url":"https://github.com/inlife"},"repository":{"type":"git","url":"git+https://github.com/inlife/nexrender.git"},"license":"MIT","dependencies":{"async":"^2.0.0-rc.6","body-parser":"^1.15.0","cli":"^0.11.1","download":"^5.0.2","express":"^4.13.4","fs-extra":"^0.30.0","jimp":"^0.2.21","lodash":"^4.13.1","lowdb":"^0.13.1","mkdirp":"^0.5.1","morgan":"^1.6.1","node-dir":"^0.1.11","request":"^2.69.0","shortid":"^2.2.4"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^5.2.0","chai-fs":"git+https://github.com/zapatek/chai-fs.git","gulp":"^3.9.1","gulp-eslint":"^2.0.0","gulp-mocha":"^2.2.0","istanbul":"^0.4.2","jshint":"^2.9.1","mocha":"^2.4.5","rewire":"^2.5.1"},"gitHead":"f30726081c398cf6c0c4a0bfe641ab0fb963ad71","bugs":{"url":"https://github.com/inlife/nexrender/issues"},"homepage":"https://github.com/inlife/nexrender#readme","_id":"nexrender@0.4.6","_shasum":"335927055948742b5f440b0a9a75aed6036e3648","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"inlife","email":"vladgritsenko@gmail.com"},"dist":{"shasum":"335927055948742b5f440b0a9a75aed6036e3648","tarball":"https://registry.npmjs.org/nexrender/-/nexrender-0.4.6.tgz","integrity":"sha512-BZfFCorkyAbPOvJWmHvjx8kKUjDhVSFt2xQxhirikj7oiTWx6pAw3jan5K0tSDZBh2qi4Q5y6eavzaOgFtOsCA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDBPZ5BoBfMtd7XQLxKxZ3rs4bwuB7gr/wXqsXVtU9F5AiBQgb3GC5ft8NIwMGtlYT4RadKMjeiF3WCE7P7ggo6tIg=="}]},"maintainers":[{"name":"inlife","email":"vladgritsenko@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/nexrender-0.4.6.tgz_1471007646181_0.014477484161034226"},"directories":{},"deprecated":"This package has been deprecated in favor of a new 1.x version of nexrender, published as a monorepo with multiple packages under an organization. More details: https://github.com/inlife/nexrender"},"0.4.7":{"name":"nexrender","version":"0.4.7","description":"Automate your After Effects project creation and rendering routine.","main":"index.js","bin":{"nexrender":"./cli.js"},"scripts":{"test":"gulp test","lint":"eslint .","coverage":"istanbul cover ./node_modules/.bin/_mocha -- -R spec"},"author":{"name":"Inlife","email":"vladgritsenko@gmail.com","url":"https://github.com/inlife"},"repository":{"type":"git","url":"git+https://github.com/inlife/nexrender.git"},"license":"MIT","dependencies":{"async":"^2.0.0-rc.6","body-parser":"^1.15.0","cli":"^0.11.1","download":"^5.0.2","express":"^4.13.4","fs-extra":"^0.30.0","jimp":"^0.2.21","lodash":"^4.13.1","lowdb":"^0.13.1","mkdirp":"^0.5.1","morgan":"^1.6.1","node-dir":"^0.1.11","request":"^2.69.0","shortid":"^2.2.4"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^5.2.0","chai-fs":"git+https://github.com/zapatek/chai-fs.git","gulp":"^3.9.1","gulp-eslint":"^2.0.0","gulp-mocha":"^2.2.0","istanbul":"^0.4.2","jshint":"^2.9.1","mocha":"^2.4.5","rewire":"^2.5.1"},"gitHead":"241e47847616dd2eab8479fd39ef1f338daa9908","bugs":{"url":"https://github.com/inlife/nexrender/issues"},"homepage":"https://github.com/inlife/nexrender#readme","_id":"nexrender@0.4.7","_shasum":"7c485a94d8c42b6b1ae247d36d4a7968d2894e2c","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"inlife","email":"vladgritsenko@gmail.com"},"dist":{"shasum":"7c485a94d8c42b6b1ae247d36d4a7968d2894e2c","tarball":"https://registry.npmjs.org/nexrender/-/nexrender-0.4.7.tgz","integrity":"sha512-TKxc+toz1X/pM4oG603E5ZW2I2b5ClcMh1nrODlOhFyJBjK/hrCf/sMP/QbS3XeKqe/NxxTFemSJ5wBgY4r1ag==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCqOdRSYnHEzicz3D4VFo59iBiEPyDpbGqkVv6zR6xjgQIgPh3HtWAjPqbWfUxtMGlhhAFjADfxxHV+Su00udeWW/8="}]},"maintainers":[{"name":"inlife","email":"vladgritsenko@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/nexrender-0.4.7.tgz_1471016418386_0.4422553644981235"},"directories":{},"deprecated":"This package has been deprecated in favor of a new 1.x version of nexrender, published as a monorepo with multiple packages under an organization. More details: https://github.com/inlife/nexrender"},"0.4.8":{"name":"nexrender","version":"0.4.8","description":"Automate your After Effects project creation and rendering routine.","main":"index.js","bin":{"nexrender":"./cli.js"},"scripts":{"test":"gulp test","lint":"eslint .","coverage_upload":"CODECLIMATE_REPO_TOKEN=844102481459628ff8cbfa403603abd6841e8d9f58e0578b684e4bfe17471d3e ./node_modules/.bin/codeclimate-test-reporter < ./coverage/lcov.info","coverage":"istanbul cover ./node_modules/.bin/_mocha -- -R spec"},"author":{"name":"Inlife","email":"vladgritsenko@gmail.com","url":"https://github.com/inlife"},"repository":{"type":"git","url":"git+https://github.com/inlife/nexrender.git"},"license":"MIT","dependencies":{"async":"^2.0.0-rc.6","body-parser":"^1.15.0","cli":"^0.11.1","download":"^5.0.2","express":"^4.13.4","fs-extra":"^0.30.0","jimp":"^0.2.21","lodash":"^4.13.1","lowdb":"^0.13.1","mkdirp":"^0.5.1","morgan":"^1.6.1","node-dir":"^0.1.11","request":"^2.69.0","shortid":"^2.2.4"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^5.2.0","chai-fs":"git+https://github.com/zapatek/chai-fs.git","codeclimate-test-reporter":"^0.3.3","gulp":"^3.9.1","gulp-eslint":"^2.0.0","gulp-mocha":"^2.2.0","istanbul":"^0.4.2","jshint":"^2.9.1","mocha":"^2.4.5","rewire":"^2.5.1"},"gitHead":"eb1400f2e5e1cb6854a092f26bad87bca316c8da","bugs":{"url":"https://github.com/inlife/nexrender/issues"},"homepage":"https://github.com/inlife/nexrender#readme","_id":"nexrender@0.4.8","_shasum":"991b14e1dd323847824e13685ca5beeae72b4daa","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"inlife","email":"vladgritsenko@gmail.com"},"dist":{"shasum":"991b14e1dd323847824e13685ca5beeae72b4daa","tarball":"https://registry.npmjs.org/nexrender/-/nexrender-0.4.8.tgz","integrity":"sha512-E8G48qNa5V54SX3hPVrslm1+KtuI9Oynd+ghhZ8CQvc1MDFzOA1V77ob50fzPPh/wxP14Lcy/dmla+tTzgOimA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDFlZ2q5iKEpV0InKZMrADBJbZzmNbZDD0gnnmOOHdeJAIgNmVYZ4nwQlWlDE1Rkkl4Qjy9yvqWliKacP57ZGTNZCA="}]},"maintainers":[{"name":"inlife","email":"vladgritsenko@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/nexrender-0.4.8.tgz_1471164356199_0.21869889996014535"},"directories":{},"deprecated":"This package has been deprecated in favor of a new 1.x version of nexrender, published as a monorepo with multiple packages under an organization. More details: https://github.com/inlife/nexrender"},"0.4.9":{"name":"nexrender","version":"0.4.9","description":"Automate your After Effects project creation and rendering routine.","main":"index.js","bin":{"nexrender":"./cli.js"},"scripts":{"test":"gulp test","lint":"eslint .","coverage_upload":"CODECLIMATE_REPO_TOKEN=844102481459628ff8cbfa403603abd6841e8d9f58e0578b684e4bfe17471d3e ./node_modules/.bin/codeclimate-test-reporter < ./coverage/lcov.info","coverage":"istanbul cover ./node_modules/.bin/_mocha -- -R spec"},"author":{"name":"Inlife","email":"vladgritsenko@gmail.com","url":"https://github.com/inlife"},"repository":{"type":"git","url":"git+https://github.com/inlife/nexrender.git"},"license":"MIT","dependencies":{"async":"^2.0.0-rc.6","body-parser":"^1.15.0","cli":"^0.11.1","download":"^5.0.2","express":"^4.13.4","fs-extra":"^0.30.0","jimp":"^0.2.21","lodash":"^4.13.1","lowdb":"^0.13.1","mkdirp":"^0.5.1","morgan":"^1.6.1","node-dir":"^0.1.11","request":"^2.69.0","shortid":"^2.2.4"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^5.2.0","chai-fs":"git+https://github.com/zapatek/chai-fs.git","codeclimate-test-reporter":"^0.3.3","gulp":"^3.9.1","gulp-eslint":"^2.0.0","gulp-mocha":"^2.2.0","istanbul":"^0.4.2","jshint":"^2.9.1","mocha":"^2.4.5","rewire":"^2.5.1"},"gitHead":"87ab133a2cac624f297d3959e3a4e7106235faf2","bugs":{"url":"https://github.com/inlife/nexrender/issues"},"homepage":"https://github.com/inlife/nexrender#readme","_id":"nexrender@0.4.9","_shasum":"fa60d56f2f81da8d8988876926af0ae479e61c5c","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"inlife","email":"vladgritsenko@gmail.com"},"dist":{"shasum":"fa60d56f2f81da8d8988876926af0ae479e61c5c","tarball":"https://registry.npmjs.org/nexrender/-/nexrender-0.4.9.tgz","integrity":"sha512-BwTPedYR3PSlMRJXc4SY01QGu3wYvEUIVJJpu4/KmuXG3GsG4onctSNKf1JiwdtoZ7K4hOAnXhBY5N5wQzipEQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCZwqfhojE6gfZ24aYe/AHlqO8EL4Gv/qhxoqajZ1+ulAIhAM+tAkenHnxfJC2IH7ONeeDrADttOzEXhG7lK9VQxh9+"}]},"maintainers":[{"name":"inlife","email":"vladgritsenko@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/nexrender-0.4.9.tgz_1471287530425_0.07529668416827917"},"directories":{},"deprecated":"This package has been deprecated in favor of a new 1.x version of nexrender, published as a monorepo with multiple packages under an organization. More details: https://github.com/inlife/nexrender"},"0.4.10":{"name":"nexrender","version":"0.4.10","description":"Automate your After Effects project creation and rendering routine.","main":"index.js","bin":{"nexrender":"./cli.js"},"scripts":{"test":"gulp test","lint":"eslint .","coverage_upload":"CODECLIMATE_REPO_TOKEN=844102481459628ff8cbfa403603abd6841e8d9f58e0578b684e4bfe17471d3e ./node_modules/.bin/codeclimate-test-reporter < ./coverage/lcov.info","coverage":"istanbul cover ./node_modules/.bin/_mocha -- -R spec"},"author":{"name":"Inlife","email":"vladgritsenko@gmail.com","url":"https://github.com/inlife"},"repository":{"type":"git","url":"git+https://github.com/inlife/nexrender.git"},"license":"MIT","dependencies":{"async":"^2.0.0-rc.6","body-parser":"^1.15.0","cli":"^0.11.1","download":"^5.0.2","express":"^4.13.4","fs-extra":"^0.30.0","jimp":"^0.2.21","lodash":"^4.13.1","lowdb":"^0.13.1","mkdirp":"^0.5.1","morgan":"^1.6.1","node-dir":"^0.1.11","request":"^2.69.0","shortid":"^2.2.4"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^5.2.0","chai-fs":"git+https://github.com/zapatek/chai-fs.git","codeclimate-test-reporter":"^0.3.3","gulp":"^3.9.1","gulp-eslint":"^2.0.0","gulp-mocha":"^2.2.0","istanbul":"^0.4.2","jshint":"^2.9.1","mocha":"^2.4.5","rewire":"^2.5.1"},"gitHead":"4b9775bff9cd1109b82881cb6a125e6b57301539","bugs":{"url":"https://github.com/inlife/nexrender/issues"},"homepage":"https://github.com/inlife/nexrender#readme","_id":"nexrender@0.4.10","_shasum":"b25cb285603aafbb83a41cff1ea73c7397d73094","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"inlife","email":"vladgritsenko@gmail.com"},"dist":{"shasum":"b25cb285603aafbb83a41cff1ea73c7397d73094","tarball":"https://registry.npmjs.org/nexrender/-/nexrender-0.4.10.tgz","integrity":"sha512-PGzye2cOu9+tbWrBA1ZSI21++KnZ7V9tjzMeZdaZuSx1vSIFti1TFS3aEWRqLkBzjOpk/aK9ooZR5apwV/hpOQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDZEZKaWvhCKYfR0SgA4AmbfVTeTytOHmaHP/b0Sp0atwIgY00voIm+xBw0A7Q+n8OSJPiYNIGwtFM1gNm2fsYATrU="}]},"maintainers":[{"name":"inlife","email":"vladgritsenko@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/nexrender-0.4.10.tgz_1471288851731_0.4751565798651427"},"directories":{},"deprecated":"This package has been deprecated in favor of a new 1.x version of nexrender, published as a monorepo with multiple packages under an organization. More details: https://github.com/inlife/nexrender"},"0.4.11":{"name":"nexrender","version":"0.4.11","description":"Automate your After Effects project creation and rendering routine.","main":"index.js","bin":{"nexrender":"./cli.js"},"scripts":{"test":"gulp test","lint":"eslint .","coverage_upload":"CODECLIMATE_REPO_TOKEN=844102481459628ff8cbfa403603abd6841e8d9f58e0578b684e4bfe17471d3e ./node_modules/.bin/codeclimate-test-reporter < ./coverage/lcov.info","coverage":"istanbul cover ./node_modules/.bin/_mocha -- -R spec"},"author":{"name":"Inlife","email":"vladgritsenko@gmail.com","url":"https://github.com/inlife"},"repository":{"type":"git","url":"git+https://github.com/inlife/nexrender.git"},"license":"MIT","dependencies":{"async":"^2.0.0-rc.6","body-parser":"^1.15.0","cli":"^1.0.0","download":"^5.0.2","express":"^4.13.4","fs-extra":"^0.30.0","jimp":"^0.2.21","lodash":"^4.13.1","lowdb":"^0.13.1","mkdirp":"^0.5.1","morgan":"^1.6.1","node-dir":"^0.1.11","request":"^2.69.0","shortid":"^2.2.4"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^5.2.0","chai-fs":"git+https://github.com/zapatek/chai-fs.git","codeclimate-test-reporter":"^0.3.3","gulp":"^3.9.1","gulp-eslint":"^2.0.0","gulp-mocha":"^2.2.0","istanbul":"^0.4.2","jshint":"^2.9.1","mocha":"^2.4.5","rewire":"^2.5.1"},"gitHead":"d4fff91f5317c2dba70c8771f9d339a293284985","bugs":{"url":"https://github.com/inlife/nexrender/issues"},"homepage":"https://github.com/inlife/nexrender#readme","_id":"nexrender@0.4.11","_shasum":"cd604dc23b385c5471f94cd2f5b6961d0a7a13c0","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"inlife","email":"vladgritsenko@gmail.com"},"dist":{"shasum":"cd604dc23b385c5471f94cd2f5b6961d0a7a13c0","tarball":"https://registry.npmjs.org/nexrender/-/nexrender-0.4.11.tgz","integrity":"sha512-mXQ0MJHWK1RvOPC5eXovlZZm3b5ggtroWvxWzZf6Sol889AgVrkgArODks1/cJhliIdtLFT+egbTseK9k5iMXw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAhoaAaPWfp6xf2JCleCR3AoZjoX2FejtlkElTBWE8AcAiA6mzd3N05oG6Bx7h9pXkWvhHYdSytFnHHnmKbpk+uQWw=="}]},"maintainers":[{"name":"inlife","email":"vladgritsenko@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/nexrender-0.4.11.tgz_1471683935227_0.7212497973814607"},"directories":{},"deprecated":"This package has been deprecated in favor of a new 1.x version of nexrender, published as a monorepo with multiple packages under an organization. More details: https://github.com/inlife/nexrender"},"0.4.12":{"name":"nexrender","version":"0.4.12","description":"Automate your After Effects project creation and rendering routine.","main":"index.js","bin":{"nexrender":"./cli.js"},"scripts":{"test":"gulp test","lint":"eslint .","coverage_upload":"CODECLIMATE_REPO_TOKEN=844102481459628ff8cbfa403603abd6841e8d9f58e0578b684e4bfe17471d3e ./node_modules/.bin/codeclimate-test-reporter < ./coverage/lcov.info","coverage":"istanbul cover ./node_modules/.bin/_mocha -- -R spec"},"author":{"name":"Inlife","email":"vladgritsenko@gmail.com","url":"https://github.com/inlife"},"repository":{"type":"git","url":"git+https://github.com/inlife/nexrender.git"},"license":"MIT","dependencies":{"async":"^2.0.0-rc.6","body-parser":"^1.15.0","cli":"^1.0.0","download":"^5.0.2","express":"^4.13.4","fs-extra":"^0.30.0","jimp":"^0.2.21","lodash":"^4.13.1","lowdb":"^0.13.1","mkdirp":"^0.5.1","morgan":"^1.6.1","node-dir":"^0.1.11","request":"^2.69.0","shortid":"^2.2.4"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^5.2.0","chai-fs":"git+https://github.com/zapatek/chai-fs.git","codeclimate-test-reporter":"^0.3.3","gulp":"^3.9.1","gulp-eslint":"^2.0.0","gulp-mocha":"^2.2.0","istanbul":"^0.4.2","jshint":"^2.9.1","mocha":"^2.4.5","rewire":"^2.5.1"},"gitHead":"a36fe82b616b3da785ff6f127022333503216c1a","bugs":{"url":"https://github.com/inlife/nexrender/issues"},"homepage":"https://github.com/inlife/nexrender#readme","_id":"nexrender@0.4.12","_shasum":"60b922b16ab2513e50863b7405e96ee583b44505","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.5.0","_npmUser":{"name":"inlife","email":"vladgritsenko@gmail.com"},"dist":{"shasum":"60b922b16ab2513e50863b7405e96ee583b44505","tarball":"https://registry.npmjs.org/nexrender/-/nexrender-0.4.12.tgz","integrity":"sha512-M1NrLPLXMeDgovw9eRgSmq3d/wqIBk8SF2tMutLf9WU0DiLZA9aRZuPMvkAt9X8YUaS9gQ8RamBll3hQnpiAQg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDa+3tdutgMmhwn4H78YgTS4WqO/MbUypZmSVYg8AV2qQIhAOAEBw18UE81JLJ9OmALj1vs96gQYT3n2UOkfVg9n/Tk"}]},"maintainers":[{"name":"inlife","email":"vladgritsenko@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/nexrender-0.4.12.tgz_1474011655660_0.6603643402922899"},"directories":{},"deprecated":"This package has been deprecated in favor of a new 1.x version of nexrender, published as a monorepo with multiple packages under an organization. More details: https://github.com/inlife/nexrender"},"0.5.0":{"name":"nexrender","version":"0.5.0","description":"Automate your After Effects project creation and rendering routine.","main":"index.js","bin":{"nexrender":"./cli.js"},"scripts":{"test":"gulp test","lint":"eslint .","coverage_upload":"CODECLIMATE_REPO_TOKEN=844102481459628ff8cbfa403603abd6841e8d9f58e0578b684e4bfe17471d3e ./node_modules/.bin/codeclimate-test-reporter < ./coverage/lcov.info","coverage":"istanbul cover ./node_modules/.bin/_mocha -- -R spec"},"author":{"name":"Inlife","email":"vladgritsenko@gmail.com","url":"https://github.com/inlife"},"repository":{"type":"git","url":"git+https://github.com/inlife/nexrender.git"},"license":"MIT","dependencies":{"async":"^2.0.0-rc.6","body-parser":"^1.15.0","cli":"^1.0.0","download":"^5.0.2","express":"^4.13.4","fs-extra":"^0.30.0","jimp":"^0.2.21","lodash":"^4.13.1","lowdb":"^0.13.1","mkdirp":"^0.5.1","morgan":"^1.6.1","node-dir":"^0.1.11","request":"^2.69.0","shortid":"^2.2.4"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^5.2.0","chai-fs":"git+https://github.com/zapatek/chai-fs.git","codeclimate-test-reporter":"^0.3.3","gulp":"^3.9.1","gulp-eslint":"^2.0.0","gulp-mocha":"^2.2.0","istanbul":"^0.4.2","jshint":"^2.9.1","mocha":"^2.4.5","rewire":"^2.5.1"},"gitHead":"93561b96c541309ccfa278b465fa0dda48e90479","bugs":{"url":"https://github.com/inlife/nexrender/issues"},"homepage":"https://github.com/inlife/nexrender#readme","_id":"nexrender@0.5.0","_shasum":"350e413e84b0b71bc8d5ad20782eb8cb6c27a66f","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.5.0","_npmUser":{"name":"inlife","email":"vladgritsenko@gmail.com"},"dist":{"shasum":"350e413e84b0b71bc8d5ad20782eb8cb6c27a66f","tarball":"https://registry.npmjs.org/nexrender/-/nexrender-0.5.0.tgz","integrity":"sha512-iUFB08zXxETqCQQ1sSoNZc8pNKIcX5DXLfmdJya0KPx8INJi0dwkGPJSA8EyWKUNrMXODD90hy/cXUqSTymeMg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFgTJXjyfPbyJtNdtnB196Ref18KGr5B3zixrP9BSEBzAiEA9MdndNfKP2GfpnCgSYzIgrc4QGgo9D+IS1Xk21id8pE="}]},"maintainers":[{"name":"inlife","email":"vladgritsenko@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/nexrender-0.5.0.tgz_1489572287913_0.010556028923019767"},"directories":{},"deprecated":"This package has been deprecated in favor of a new 1.x version of nexrender, published as a monorepo with multiple packages under an organization. More details: https://github.com/inlife/nexrender"},"0.5.1":{"name":"nexrender","version":"0.5.1","description":"Automate your After Effects project creation and rendering routine.","main":"index.js","bin":{"nexrender":"./cli.js"},"scripts":{"test":"gulp test","lint":"eslint .","coverage_upload":"CODECLIMATE_REPO_TOKEN=844102481459628ff8cbfa403603abd6841e8d9f58e0578b684e4bfe17471d3e ./node_modules/.bin/codeclimate-test-reporter < ./coverage/lcov.info","coverage":"istanbul cover ./node_modules/.bin/_mocha -- -R spec"},"author":{"name":"Inlife","email":"vladgritsenko@gmail.com","url":"https://github.com/inlife"},"repository":{"type":"git","url":"git+https://github.com/inlife/nexrender.git"},"license":"MIT","dependencies":{"async":"^2.0.0-rc.6","body-parser":"^1.15.0","cli":"^1.0.0","download":"^6.1.0","express":"^4.13.4","fs-extra":"^0.30.0","jimp":"^0.2.21","lodash":"^4.13.1","lowdb":"^0.13.1","mkdirp":"^0.5.1","morgan":"^1.6.1","node-dir":"^0.1.11","request":"^2.69.0","shortid":"^2.2.4"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^5.2.0","chai-fs":"git+https://github.com/zapatek/chai-fs.git","codeclimate-test-reporter":"^0.3.3","gulp":"^3.9.1","gulp-eslint":"^2.0.0","gulp-mocha":"^2.2.0","istanbul":"^0.4.2","jshint":"^2.9.1","mocha":"^2.4.5","rewire":"^2.5.1"},"gitHead":"145ef9441f1477108feacee27e05bc0b78757eb7","bugs":{"url":"https://github.com/inlife/nexrender/issues"},"homepage":"https://github.com/inlife/nexrender#readme","_id":"nexrender@0.5.1","_shasum":"2a9dcae2267ef93eaa8f476216978a72b84f8e5a","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.5.0","_npmUser":{"name":"inlife","email":"vladgritsenko@gmail.com"},"dist":{"shasum":"2a9dcae2267ef93eaa8f476216978a72b84f8e5a","tarball":"https://registry.npmjs.org/nexrender/-/nexrender-0.5.1.tgz","integrity":"sha512-j4VXbsKiMX37Iu8qUEMVL+1xUPPW+Q9TXd1FbcIiyn/fGeoP0jbAJkaCTh2j1UmqUmHZu39CngXAQiwoSDqUZA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICBenyKJPZ9TRBNAvzoWzCOLYQUdZzxeRUp2w6R3oNsAAiAq8PsG+/Q2ywqHuoBRjCEEMZ6ZykK8QNmDXYkKVlrGzw=="}]},"maintainers":[{"name":"inlife","email":"vladgritsenko@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/nexrender-0.5.1.tgz_1494855856000_0.5788529114797711"},"directories":{},"deprecated":"This package has been deprecated in favor of a new 1.x version of nexrender, published as a monorepo with multiple packages under an organization. More details: https://github.com/inlife/nexrender"},"0.5.2":{"name":"nexrender","version":"0.5.2","description":"Automate your After Effects project creation and rendering routine.","main":"index.js","bin":{"nexrender":"./cli.js"},"scripts":{"test":"gulp test","lint":"eslint .","coverage_upload":"CODECLIMATE_REPO_TOKEN=844102481459628ff8cbfa403603abd6841e8d9f58e0578b684e4bfe17471d3e ./node_modules/.bin/codeclimate-test-reporter < ./coverage/lcov.info","coverage":"istanbul cover ./node_modules/.bin/_mocha -- -R spec"},"author":{"name":"Inlife","email":"vladgritsenko@gmail.com","url":"https://github.com/inlife"},"repository":{"type":"git","url":"git+https://github.com/inlife/nexrender.git"},"license":"MIT","dependencies":{"async":"^2.0.0-rc.6","body-parser":"^1.15.0","cli":"^1.0.0","download":"^6.1.0","express":"^4.13.4","fs-extra":"^0.30.0","jimp":"^0.2.21","lodash":"^4.13.1","lowdb":"^0.13.1","mkdirp":"^0.5.1","morgan":"^1.6.1","node-dir":"^0.1.11","request":"^2.69.0","shortid":"^2.2.4"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^5.2.0","chai-fs":"git+https://github.com/zapatek/chai-fs.git","codeclimate-test-reporter":"^0.3.3","gulp":"^3.9.1","gulp-eslint":"^2.0.0","gulp-mocha":"^2.2.0","istanbul":"^0.4.2","jshint":"^2.9.1","mocha":"^2.4.5","rewire":"^2.5.1"},"gitHead":"eee4c6c3601aaebc2784ba9f203758ef9b59c9ed","bugs":{"url":"https://github.com/inlife/nexrender/issues"},"homepage":"https://github.com/inlife/nexrender#readme","_id":"nexrender@0.5.2","_npmVersion":"5.3.0","_nodeVersion":"8.6.0","_npmUser":{"name":"inlife","email":"vladgritsenko@gmail.com"},"dist":{"integrity":"sha512-47/N1m1oQ9RvAVO8GKByd8IItQpb//aixm6mvu+k2Gb91ahzjgpnPpf/WaC9neWTBm9p9fQwzf8enxHQH1hCKQ==","shasum":"86002fd924d30ef04c5e21e67129835dc3eb7565","tarball":"https://registry.npmjs.org/nexrender/-/nexrender-0.5.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBzBYB7AV4Gkbk/tD7F0WJjVTYa6sfHRyO6o7epvbIVdAiAuoL/iNvpgHRreUZIj/c9RTEElBlIRCDpzTjtitpr7Gw=="}]},"maintainers":[{"name":"inlife","email":"vladgritsenko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexrender-0.5.2.tgz_1508790632735_0.6179998663719743"},"directories":{},"deprecated":"This package has been deprecated in favor of a new 1.x version of nexrender, published as a monorepo with multiple packages under an organization. More details: https://github.com/inlife/nexrender"},"0.6.0":{"name":"nexrender","version":"0.6.0","description":"Automate your After Effects project creation and rendering routine.","main":"index.js","bin":{"nexrender":"./cli.js"},"scripts":{"test":"gulp test","lint":"eslint .","coverage_upload":"CODECLIMATE_REPO_TOKEN=844102481459628ff8cbfa403603abd6841e8d9f58e0578b684e4bfe17471d3e ./node_modules/.bin/codeclimate-test-reporter < ./coverage/lcov.info","coverage":"istanbul cover ./node_modules/.bin/_mocha -- -R spec"},"author":{"name":"Inlife","email":"vladgritsenko@gmail.com","url":"https://github.com/inlife"},"repository":{"type":"git","url":"git+https://github.com/inlife/nexrender.git"},"license":"MIT","dependencies":{"async":"^2.0.0-rc.6","body-parser":"^1.15.0","cli":"^1.0.0","download":"^6.1.0","express":"^4.13.4","fs-extra":"^0.30.0","jimp":"^0.2.21","lodash":"^4.13.1","lowdb":"^0.13.1","mkdirp":"^0.5.1","morgan":"^1.6.1","node-dir":"^0.1.11","request":"^2.69.0","shortid":"^2.2.4","aws-sdk":"^2.157.0"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^5.2.0","chai-fs":"git+https://github.com/zapatek/chai-fs.git","codeclimate-test-reporter":"^0.3.3","gulp":"^3.9.1","gulp-eslint":"^2.0.0","gulp-mocha":"^2.2.0","istanbul":"^0.4.2","jshint":"^2.9.1","mocha":"^2.4.5","rewire":"^2.5.1"},"gitHead":"954c3371402aac5677e2fa2087541798836f4cce","bugs":{"url":"https://github.com/inlife/nexrender/issues"},"homepage":"https://github.com/inlife/nexrender#readme","_id":"nexrender@0.6.0","_npmVersion":"6.0.0","_nodeVersion":"9.10.1","_npmUser":{"name":"inlife","email":"vladgritsenko@gmail.com"},"dist":{"integrity":"sha512-+nwEO49gIVc3aeV1YTTiTGWgTAJyBQbmR01tdWgMYF0DZwhcyqgBUdA3l5gGioaYnLQS7IrR8ItIrCFkDWX1Ow==","shasum":"bd36a341ba058f7c3fe6f6ef1ab6682b265ad132","tarball":"https://registry.npmjs.org/nexrender/-/nexrender-0.6.0.tgz","fileCount":1505,"unpackedSize":3423356,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa8qf9CRA9TVsSAnZWagAA5MgP/R+Po1LoSm8ST58ITorD\nmHc18wcchVhHJwTGdW7blQClPTGqzx7kneDXVI/v3bvo5bITdUo9ndj17HUa\n3mLlOc04LXbx2ChO3efcMMWiwvS8QYUZodox07yZDt0kZlrB1XdTkvDLCa8+\nbegLnEYryYWdWwIVxyOLCmOsO7hGcDkLidpWZZXND3h7RvY2ZVdtKfsTuzeb\nVbPJUCsh7U+yxYlpgsIsa2d2Vv0Hq6BSSnNhjOmh9PdBNYvXPVHG2M40jZAb\nCo9NQqUI7+SAEkhhuma7roe3L3ms81wivDAiNwTUlth4R8ddE0g2WKZe5m2x\nVjUCQb1nnlE1lThwScBvaaXcKxms6edCyy16+D890UENukv8cvQog/yqkdb2\n7G8MwJVztzY4cCIS1/1DYHlCUJs3Ql0WMNdU+gtQqltXppqKdFo2alEsDTtl\ncS+21QrYJGdXsxfj1QkYAyCVN8JzfAb+/JEsr/f3tuiFj+nCTqQhqw9B/w54\nQaVUpYs4BKkHbdyHdEpxrxJegFhMchst2JtIHPL/UtWVym2zThHW/da4/iVE\neCmvU+3BvCboyN8c8L5Upz6XDgn62PrsVugfnu/joO8d2NRtRAkYC5ScmK1d\nZwxXyYeeQHEtJcLbbCjFwj7CcKwS3ttradeesfz7tnEEV9iHTvcvrto1r5Xb\n3kfW\r\n=fiPk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFkCpxDZsKo/VknJ0wtlOZOWGVt2JcHAuNpLW9ZmUkK+AiEAvOOcX5bbpqYyCXNPTcv4NNY7iqOffrizppdNX+5MX20="}]},"maintainers":[{"name":"inlife","email":"vladgritsenko@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexrender_0.6.0_1525852156448_0.4548665041186335"},"_hasShrinkwrap":false,"deprecated":"This package has been deprecated in favor of a new 1.x version of nexrender, published as a monorepo with multiple packages under an organization. More details: https://github.com/inlife/nexrender"},"0.6.1":{"name":"nexrender","version":"0.6.1","description":"Automate your After Effects project creation and rendering routine.","main":"index.js","bin":{"nexrender":"./cli.js"},"scripts":{"test":"gulp test","lint":"eslint .","coverage_upload":"CODECLIMATE_REPO_TOKEN=844102481459628ff8cbfa403603abd6841e8d9f58e0578b684e4bfe17471d3e ./node_modules/.bin/codeclimate-test-reporter < ./coverage/lcov.info","coverage":"istanbul cover ./node_modules/.bin/_mocha -- -R spec"},"author":{"name":"Inlife","email":"vladgritsenko@gmail.com","url":"https://github.com/inlife"},"repository":{"type":"git","url":"git+https://github.com/inlife/nexrender.git"},"license":"MIT","dependencies":{"async":"^2.0.0-rc.6","body-parser":"^1.15.0","cli":"^1.0.0","download":"^6.1.0","express":"^4.13.4","fs-extra":"^0.30.0","jimp":"^0.2.21","lodash":"^4.13.1","lowdb":"^0.13.1","mkdirp":"^0.5.1","morgan":"^1.6.1","node-dir":"^0.1.11","request":"^2.69.0","shortid":"^2.2.4","aws-sdk":"^2.157.0"},"devDependencies":{"chai":"^3.5.0","chai-as-promised":"^5.2.0","chai-fs":"git+https://github.com/zapatek/chai-fs.git","codeclimate-test-reporter":"^0.3.3","gulp":"^3.9.1","gulp-eslint":"^2.0.0","gulp-mocha":"^2.2.0","istanbul":"^0.4.2","jshint":"^2.9.1","mocha":"^2.4.5","rewire":"^2.5.1"},"gitHead":"a697fe1cce921cf42c088c386435e13427640954","bugs":{"url":"https://github.com/inlife/nexrender/issues"},"homepage":"https://github.com/inlife/nexrender#readme","_id":"nexrender@0.6.1","_nodeVersion":"11.4.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-mx2fUlEr42eoeqRye3W2nhVIQ/Bo/+tSgZzp5co04S5SFIEA7vMI63/YswmiRoivvOJOWDeEdILFy8xy+igV1w==","shasum":"b83e6a94453049e6669c6ce94ffd6684d9f545b7","tarball":"https://registry.npmjs.org/nexrender/-/nexrender-0.6.1.tgz","fileCount":93,"unpackedSize":18754131,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcTW+RCRA9TVsSAnZWagAAkRkP+gOCyn4efQhRFQp53lfD\nrOn61LjweGi8typb49TE6f7BJ1bwysk49Y3k+JGmaUKhMB7SciVZ2n+WJDng\na7bEw7VusEwDpzbVEi2SfvEfsPpdio2izMaCXkLdjjlbWcrsUWbnglRGwqkD\n6r1+ViTYswnhZNPqYGYe/SzBnieYu0GBXv9na91NCVvz5aASlRpybflE+w2R\nmVjq6674WYtU7hFrkZR6YkDVG8Algt2mQ0gMgw4lYxLhr5t5cfsW3L3xzPnm\nZGBcoHqKUbjYRTnOOZgjgMfA7rXsvfGc4RnzdzbtCwVqMf+rzjBWnzuU4vAH\nFWH6UgbGWybjw7cj3bsHs98Td6q7ZKJGSc5m/oj6dHF/uZAb+eZut8QehVSk\nM67plSwI2kaLebopxO5fiI/GXCDnJ9DKH03vtS8jwDNfGRVffYsoFttns2HI\nj8mw/sWtT1n9pul0t2IlhDRREguqv5cc4hvNPtaA8rDyJmKq/3rjX8iphdSe\n4lUFsRZXHuZ2iscJDxduIISFvRZSPn6hZ9r1/eoqIBZp43+QwddzIRtd71+P\nvzIeF47aV+dEPzc/PRH38oNisDnF9KBR3Chdh+g5DxaqoAKUQCQtXe/oIu4b\n0beR5+De7AOC/59fotTTzusDtzdq27W6SzjnLRhkkVbkg1rEM6l1dQn2psNn\nT7Ad\r\n=BeVa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHPZ4hSjeMvk/y07IPSG7Ld4vXKsZ54ircnMpS4Gm89FAiA4TdTix5p3FEsj8yvW3ZH4TJFteXQN8GzoFpanMdy6cQ=="}]},"maintainers":[{"name":"inlife","email":"vladgritsenko@gmail.com"}],"_npmUser":{"name":"inlife","email":"vladgritsenko@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexrender_0.6.1_1548578704645_0.5990375084681863"},"_hasShrinkwrap":false,"deprecated":"This package has been deprecated in favor of a new 1.x version of nexrender, published as a monorepo with multiple packages under an organization. More details: https://github.com/inlife/nexrender"},"1.0.0":{"name":"nexrender","version":"1.0.0","description":"Data-driven render automation for After Effects","repository":{"type":"git","url":"git+https://github.com/inlife/nexrender.git"},"license":"MIT","author":{"name":"inlife","email":"vladgritsenko+gh@gmail.com","url":"https://github.com/inlife"},"scripts":{"start":"npm run bootstrap","install-child":"lerna exec -- npm i","bootstrap":"lerna bootstrap -- --no-package-lock","purge-cache":"lerna exec 'rm -rf node_modules && rm -f package-lock.json'","purge-master":"rm -rf node_modules && rm -f package-lock.json","publish":"lerna publish","public-publish":"lerna exec 'npm publish --access public'","pkg-rename":"node misc/rename.js","pkg-cli":"NEXRENDER_REQUIRE_PLUGINS=1 pkg packages/nexrender-cli/package.json --out-path bin/","pkg-worker":"NEXRENDER_REQUIRE_PLUGINS=1 pkg packages/nexrender-worker/package.json --out-path bin/","pkg-server":"pkg packages/nexrender-server/package.json --out-path bin/","pkg-prelink":"lerna exec --scope @nexrender/core 'npm run pkg-prelink'","pkg-reduce":"node misc/reduce.js","pkg":"npm run pkg-prelink && npm run pkg-reduce && npm run pkg-cli && npm run pkg-server && npm run pkg-worker && npm run pkg-rename","test":"lerna bootstrap && node test.js"},"devDependencies":{"lerna":"^3.10.7","mocha":"^5.2.0","pkg":"^4.3.7"},"gitHead":"d01284fcbdd4dbf086ad85cbaf9487fc89c11e39","bugs":{"url":"https://github.com/inlife/nexrender/issues"},"homepage":"https://github.com/inlife/nexrender#readme","_id":"nexrender@1.0.0","_nodeVersion":"11.4.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-LbFPgiJLGThCvZaaV/GgJUzyxTGmb4v/r/knuGCHIa97maJ4S15k2AajC1bCnWYyCpXB1N6ZD+8RWQbnaZDg5Q==","shasum":"f6e7e568de9d0a3c45600419d90a343ad55c30c8","tarball":"https://registry.npmjs.org/nexrender/-/nexrender-1.0.0.tgz","fileCount":6563,"unpackedSize":666180247,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcpvm4CRA9TVsSAnZWagAAn84P/jnkY02/lvEEcDxC8qf1\nSgopN8Oyi6qL6A8Q31MNxG3ZxpGaGUvYcgUVmNt39w2qpb3adykaJ+x2+aRO\nE2R/9ymL7hQFmfxkYAwJiKcSsUU4B/QZ2e7OyyoHJ9F/jW6oXZ06pKPS+CKU\nHjlxlkhZ2omud+pshMxbcFLC2rhIHOztssSpnsqPMYNrCCoSAYVBdN1xb/8D\n2kWPg9HMlkIGH+NX3x4fSWExzVfqbPEuBqWIhREJLkhdT/7ZKGGfwJG9D2AS\nqGgu0Oz5cLpOzD2UpU9zO1M1rAA1yGFJhEEDYzKKyLgzRc8Nm8IAJRFFw6sA\nXXKjR+V5TTy9LFNnorIzmZUI9KW6OnZRlrvsiTiXEnvmDU1VogtDKOTKTRSM\nTQCCAQBZJZycqEW4rYJqkqs9JNC252hZj+sbPXSvNeZESEfwX5UnDyyQ6akN\nw2Go+ykyTnNV/lS4JZEdjKdFfkilsu8KehlR/t07KOyPuH67oXMQ2Jzxn+Lg\nwDSPNFG3/4h1lYR343rOZCC/SCbDIFsiEjdo0XmGLxI+16ORdfp9wUGLd5cV\nKQc7zI0TA2lD66ijG9Lm/EVNmkm90CzSdYcklPnwLOey+srYZA7ucE0mVvVs\nrgaTcb1i/8HNNQlkRDyNfJ7xK6reU1Pu/yFajv1hP0XXsbka11Vnnu/I5Bzs\nReaS\r\n=eRqH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDHJ+cGOIaFmqX0qx3D3kuMJ9JFoHKSlNrJxfFU00KC1wIgNp16vCj5DZMZJZNunTLgUw3cQU6+R3dmzWOru01HAIk="}]},"maintainers":[{"name":"inlife","email":"vladgritsenko@gmail.com"}],"_npmUser":{"name":"inlife","email":"vladgritsenko@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexrender_1.0.0_1554446771474_0.6936621458446863"},"_hasShrinkwrap":false,"deprecated":"This package has been deprecated in favor of a new 1.x version of nexrender, published as a monorepo with multiple packages under an organization. More details: https://github.com/inlife/nexrender"},"1.0.1":{"name":"nexrender","version":"1.0.1","description":"Data-driven render automation for After Effects","keywords":["monorepo","multi-package"],"repository":{"type":"git","url":"git+https://github.com/inlife/nexrender.git"},"license":"MIT","author":{"name":"inlife","email":"vladgritsenko+gh@gmail.com","url":"https://github.com/inlife"},"scripts":{"start":"npm run bootstrap","install-child":"lerna exec -- npm i","bootstrap":"lerna bootstrap -- --no-package-lock","purge-cache":"lerna exec 'rm -rf node_modules && rm -f package-lock.json'","purge-master":"rm -rf node_modules && rm -f package-lock.json","publish":"lerna publish","public-publish":"lerna exec 'npm publish --access public'","pkg-rename":"node misc/rename.js","pkg-cli":"NEXRENDER_REQUIRE_PLUGINS=1 pkg packages/nexrender-cli/package.json --out-path bin/","pkg-worker":"NEXRENDER_REQUIRE_PLUGINS=1 pkg packages/nexrender-worker/package.json --out-path bin/","pkg-server":"pkg packages/nexrender-server/package.json --out-path bin/","pkg-prelink":"lerna exec --scope @nexrender/core 'npm run pkg-prelink'","pkg-reduce":"node misc/reduce.js","pkg":"npm run pkg-prelink && npm run pkg-reduce && npm run pkg-cli && npm run pkg-server && npm run pkg-worker && npm run pkg-rename","test":"lerna bootstrap && node test.js"},"devDependencies":{"lerna":"^3.10.7","mocha":"^5.2.0","pkg":"^4.3.7"},"gitHead":"d01284fcbdd4dbf086ad85cbaf9487fc89c11e39","bugs":{"url":"https://github.com/inlife/nexrender/issues"},"homepage":"https://github.com/inlife/nexrender#readme","_id":"nexrender@1.0.1","_nodeVersion":"11.4.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-+whysVYcgx+CxTxvGLSuWeYqU/seKZpR2mLnCeSgJz41rBATPNW83/mAQjQbRIzRENHxcE/snqQ5gsY2ofzXBw==","shasum":"25f130745db9b96e1040dde8f8ba2fbdb03fbfd2","tarball":"https://registry.npmjs.org/nexrender/-/nexrender-1.0.1.tgz","fileCount":13,"unpackedSize":44737,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcpvoQCRA9TVsSAnZWagAAxXQP/1vvIs1HXKA5hZCJPcDL\nvc1LI07Eddi4RnDyOvnR1fGvSqLqVj3gnw8HeIQWLNQVdE/RFobSBpMN1s0H\nyFg4bBo7xYTVov1RILRyOZ2dliuVfr4bI0dMMOfRKkxzk2LgaCnAyGVr4Q91\nndjIOkCh+rkb+U+JA663FP6sCPX6kPfnwgWhfJJswYsVSIBEBRCZbzLlprNX\nNKzD/elvCMlcbePXJq7vu9kI9C3E/8uV4YvNR86GwA3C/dycBKFNhX6kk7Fu\nnmhUfHyHgVU4qXNY3oU151T9QdUBVWir2/t4eBYW9dh0gUVto+JvdGgcC9jl\nTm3YXJ1ukrvP5aSwWK5BshuXieiKRmRhD9Ks1VUrhl8xcupCUj6qVOOWwjoO\nF/yzjHryHPaa0bKbiQsXVcHCx0OK7PeuahSwn4Q+gTMmgZOGGlqKGXDmaU9c\nPf3AVrfB4BdanUkiukazmQro56jsGYc/eOUSr1uSbkNYbMhExkboWh2TzC/k\nHPhM4FwL2ZIG1TYr/X7c5OMI+5oba+4Cef6ecnVrMOJ564GcXAhSIcE9gxeo\noBPnn5qKg5E6J/JUbRAa9Sm1XukcVK0FJnXfe2OvqMBfYBBuqhRHAQZswX69\nwRej9tTqZZnGRxN0LYUBu1Equ2IOjYYzP983ME4KYHnOa6ry7e+T4NvDm8Cr\nPqaY\r\n=Z9Ha\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDFMiWxCsHQLGqrnX+xq9wayWFsZJVpMgvMj6MPtomCmAiBnfgD1+2zs9lg2giTLE0NEvIKV7gJTMEXIxRSQNKvXNQ=="}]},"maintainers":[{"name":"inlife","email":"vladgritsenko@gmail.com"}],"_npmUser":{"name":"inlife","email":"vladgritsenko@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nexrender_1.0.1_1554446863649_0.14194808874014941"},"_hasShrinkwrap":false,"deprecated":"This package has been deprecated in favor of a new 1.x version of nexrender, published as a monorepo with multiple packages under an organization. More details: https://github.com/inlife/nexrender"}},"readme":"<p align=\"center\">\n    <img src=\"https://user-images.githubusercontent.com/2182108/52175653-78259600-27af-11e9-8bf7-c7dcb89e00aa.png\" />\n</p>\n\n<div align=\"center\">\n    <a href=\"https://travis-ci.org/inlife/nexrender\"><img src=\"https://travis-ci.org/inlife/nexrender.svg?branch=master\" alt=\"Build status\" /></a>\n    <a href=\"https://www.npmjs.com/package/@nexrender/core\"><img src=\"https://img.shields.io/npm/v/@nexrender/core.svg?maxAge=3600\" alt=\"NPM version\" /></a>\n    <a href=\"https://david-dm.org/inlife/nexrender?path=packages/nexrender-core\"><img src=\"https://david-dm.org/inlife/nexrender/status.svg?path=packages/nexrender-core\" alt=\"Dependencies\" /></a>\n    <a href=\"https://discord.gg/S2JtRcB\"><img src=\"https://discordapp.com/api/guilds/354670964400848898/embed.png\" alt=\"Discord server\" /></a>\n    <a href=\"LICENSE\"><img src=\"https://img.shields.io/github/license/inlife/nexrender.svg\" alt=\"license\" /></a>\n</div>\n\n<br />\n<div align=\"center\">\n    Automate your Adobe After Effects rendering workflows. Create data-driven and template based videos.\n</div>\n\n<div align=\"center\">\n    <sub>\n        Built with love using nodejs\n        &bull; Brought to you by <a href=\"https://github.com/inlife\">@inlife</a>\n        and other <a href=\"https://github.com/inlife/nexrender/graphs/contributors\">contributors</a>\n    </sub>\n</div>\n\n# Table of contents\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Introduction](#introduction)\n    - [Features](#features)\n    - [How it works](#how-it-works)\n    - [Alternatives](#alternatives)\n- [Installation](#installation)\n- [Usage](#usage)\n  - [Job](#job)\n    - [Assets](#assets)\n    - [Actions](#actions)\n    - [Details](#details)\n  - [Programmatic](#programmatic)\n- [Template rendering](#template-rendering)\n  - [Footage items](#footage-items)\n    - [Fields](#fields)\n    - [Example](#example)\n  - [Data items](#data-items)\n    - [Fields](#fields-1)\n    - [Example](#example-1)\n  - [Script items](#script-items)\n    - [Fields](#fields-2)\n    - [Example](#example-2)\n- [Network rendering](#network-rendering)\n  - [Using binaries](#using-binaries)\n    - [`nexrender-server`](#nexrender-server)\n      - [Description:](#description)\n      - [Supported platforms:](#supported-platforms)\n      - [Requirements:](#requirements)\n      - [Example](#example-3)\n    - [`nexrender-worker`](#nexrender-worker)\n      - [Description:](#description-1)\n      - [Supported platforms:](#supported-platforms-1)\n      - [Requirements:](#requirements-1)\n      - [Example](#example-4)\n  - [Using API](#using-api)\n- [Additional Information](#additional-information)\n  - [Protocols](#protocols)\n    - [Examples](#examples)\n  - [Development](#development)\n  - [Project Values](#project-values)\n  - [External Packages](#external-packages)\n    - [Custom Actions](#custom-actions)\n  - [Migrating from v0.x](#migrating-from-v0x)\n    - [Naming](#naming)\n    - [Structure](#structure)\n    - [Assets](#assets-1)\n    - [Rendering](#rendering)\n    - [CLI](#cli)\n  - [Customers](#customers)\n  - [Plans](#plans)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n# Introduction\n\n> Note: this is a newly released major version of the software. For older, more \"stable\" version please refer to [\"stable\"](https://github.com/inlife/nexrender/tree/stable) branch.\n\n`nexrender` is a simple, small, carefully designed application with the main goal of rendering automation for Adobe After Effects based rendering workflows.\n\nAt this point in time, the project is mainly targeted at people at least somewhat comfortable with scripting or development,\nand that have basic knowledge of `javascript` language and `json` formats.\n\n### Features\n\n* data-driven, dynamic, personalized video rendering\n* automated video management, processing, and delivery\n* network oriented project structure, render farm\n* highly modular nature, extensive plugin support\n* works only in cli mode, never launches After Effects GUI application\n* does not require licenses for Adobe After Effects on any worker machine\n* free to use and open source\n\n### How it works\n\n* rendering: It uses Adobe After Effects' aerender command-line interface application.\n* compositing: It creates a temporary folder, copies project and replaces assets with provided ones.\n* personalization: It uses AE's expressions, scripting, and compositing (noted above).\n* scheduling: It stores projects in a local database, managed from anywhere using http api.\n* network: It renders project per machine, and can be used to render several projects simultaneously.\n* farm: Can be used to render a single project on several machines via Multi-Machine Sequence.\n\n### Alternatives\n\nProbably the closest (feature-wise) alternative that exists at the moment is the Dataclay's [Templater](http://dataclay.com/) bot edition.\nCompared to nexrender it has a rich GUI support and a number of enterprise-scale features, however, it is not free.\n\n# Installation\n\nYou can download binaries directly from the [releases](https://github.com/inlife/nexrender/releases) section,\nor install them using npm, whichever option works better for you.\n\nHowever, please note: the npm version of the binaries doesn't include all optional `plugin` packages that are covered in the usage section.\nIf you wish to install them as well, please do so by providing each one individually:\n\n```\nnpm i -g @nexrender/cli @nexrender/action-copy @nexrender/action-encode ...\n```\n\n# Usage\n\nWe will be using `nexrender-cli` binary for this example. It's recommended to download/install it if you haven't already.\n\n## Job\n\nA job is a single working unit in the nexrender ecosystem. It is a json document, that describes what should be done, and how it should be done.\nMinimal job description always should contain a pointer onto Adobe After Effects project, which is needed to be rendered, and a composition that will be used to render.\n\nThe pointer is `src` (string) field containing a URI pointing towards specified file, followed by `composition` (string) field, containing the name of the composition that needs to be rendered.\n\n>Note: check out [supported protocols](#protocols) for `src` field.\n\n```json\n// myjob.json\n{\n    \"template\": {\n        \"src\": \"file:///users/myuser/documents/myproject.aep\",\n        \"composition\": \"main\"\n    }\n}\n```\n\nor for remote file accessible via http\n\n```json\n// myjob.json\n{\n    \"template\": {\n        \"src\": \"http://example.com/myproject.aep\",\n        \"composition\": \"main\"\n    }\n}\n```\n\nSubmitting this data to the binary will result in start of the rendering process:\n\n```sh\n$ nexrender-cli '{\"template\":{\"src\":\"file:///home/documents/myproject.aep\",\"composition\":\"main\"}}'\n```\n\nor more conveniently using the `--file` option\n\n```sh\n$ nexrender-cli --file myjob.json\n```\n\n> Note: its recommended to run `nexrender-cli -h` at least once, to read all useful information about available options.\n\nMore info: [@nexrender/cli](packages/nexrender-cli)\n\n### Assets\n\nWe've successfully rendered a static project file using nexrender, however, there is no much point doing that unless we\nare going to add some dynamic data into the mix.\n\nA way to implement something like that is to add an `asset` to our job definition:\n\n```json\n// myjob.json\n{\n    \"template\": {\n        \"src\": \"file:///d:/documents/myproject.aep\",\n        \"composition\": \"main\"\n    },\n    \"assets\": [\n        {\n            \"src\": \"file:///d:/images/myimage.png\",\n            \"type\": \"image\",\n            \"layerName\": \"background.png\"\n        }\n    ]\n}\n```\n\nWhat we've done there is we told nexrender to use a particular asset as a replacement for something that we had defined in our `aep` project.\nMore specifically, when rendering is gonna happen, nexrender will copy/download this asset file, and attempt to find and replace `footage` entry by specified layer name.\n\nCheck out: [detailed information about footage items](#footage-items).\n\n### Actions\n\nYou might've noticed that unless you added `--skip-cleanup` flag to our command, all rendered results will be deleted,\nand a big warning message will be shown every time you attempt to run the `nexrender-cli` with our job.\n\nThe reason is that we haven't defined any actions that we need to do after we finished actual rendering. Let's fix that and add a simple one, copy.\n\n```json\n// myjob.json\n{\n    \"template\": {\n        \"src\": \"http://example.com/assets/myproject.aep\",\n        \"composition\": \"main\"\n    },\n    \"assets\": [\n        {\n            \"src\": \"http://example.com/assets/myimage.png\",\n            \"type\": \"image\",\n            \"layerName\": \"background.png\"\n        }\n    ],\n    \"actions\":{\n        \"postrender\": [\n            {\n                \"module\": \"@nexrender/action-encode\",\n                \"preset\": \"mp4\",\n                \"output\": \"encoded.mp4\"\n            },\n            {\n                \"module\": \"@nexrender/action-copy\",\n                \"input\": \"encoded.mp4\",\n                \"output\": \"d:/mydocuments/results/myresult.mp4\"\n            }\n        ]\n    }\n}\n```\n\nWe've just added a `postrender` action, that will occur right after we finished rendering.\nA module that we described in this case, is responsible for copying result file from a temp folder to the `output` folder.\n\nThere are multiple built-in modules within nexrender ecosystem:\n\n* [@nexrender/action-copy](packages/nexrender-action-copy)\n* [@nexrender/action-encode](packages/nexrender-action-encode)\n* [@nexrender/action-upload](packages/nexrender-action-upload) - TODO\n* (list will be expanded)\n\nEvery module might have his own set of fields, however, `module` field is always there.\n\nAlso, you might've noticed that `actions` is an object, however, we described only one (`postrender`) field in it.\nAnd there is one more, its called `prerender`. The latter can be used to process data/assets just before the actual render will start.\n\nAlso, if you are planning on having more than one action, please note: **actions are order-sensitive**,\nthat means if you put let's say some encoding action after upload, the latter one might not be able to find a file that needs to be generated by former one,\nsince the ordering was wrong.\n\nIf you have at least some experience with `Node.js`, you might've noticed that the `module` definition looks exactly like a package name.\nAnd well, yes it is. When nexrender stumbles upon a `module` entry, it will try to require this package from internal storage,\nand then if no module has been found, it will attempt to look for globally installed Node.js modules with that name.\n\nThat means if you are comfortable with writing `Node.js` code, you can easily create your own module, and use it by\nproviding either absolute/relative path (on a local machine), or publishing the module and installing it globally on your target machine.\n\n```sh\nnpm i -g my-awesome-nexrender-action\n```\n\nAnd then using it:\n\n```json\n{\n    \"actions\":{\n        \"postrender\": [\n            {\n                \"module\": \"my-awesome-nexrender-action\",\n                \"param1\": \"something big\",\n                \"param2\": 15\n            }\n        ]\n    }\n}\n```\n\nAlso, you can [checkout packages](#external-packages) made by other contributors across the network:\n\n### Details\n\nJob structure has more fields, that we haven't checked out yet. The detailed version of the structure looks like this:\n\n```js\n{\n    \"template\": {\n        \"src\": String,\n        \"composition\": String,\n\n        \"frameStart\": Number,\n        \"frameEnd\": Number,\n        \"frameIncrement\": Number,\n\n        \"continueOnMissing\": Boolean,\n        \"settingsTemplate\": String,\n        \"outputModule\": String,\n        \"outputExt\": String,\n    },\n    \"assets\": [],\n    \"actions\": {\n        \"prerender\": [],\n        \"postrender\": [],\n    },\n    \"onChange\": Function\n}\n```\n\nMajority of the fields are just proxied to the `aerender` binary, and their descriptions and default\nvalues can be checked [here](https://helpx.adobe.com/after-effects/using/automated-rendering-network-rendering.html).\n\n`onChange` is a field that is possible to setup only via programmatic use.\nIt is a callback which will be triggered every time the job has change state (happens on every task change).\nFor more info please refer to the source code.\n\n## Programmatic\n\nIn case you are building your own application and just need to use a rendering part, or you wanna manually trigger jobs from your code,\nthere is a way to use nexrender programmatically:\n\nInstall the [@nexrender/core](https://github.com/inlife/nexrender/tree/master/packages/nexrender-core)\n\n```sh\n$ npm install @nexrender/core --save\n```\n\nAnd then load it, and run it\n\n```js\nconst { init, render } = require('@nexrender/core')\n\nconst settings = init({\n    logger: console,\n})\n\nconst main = async () => {\n    const result = await render(/*myJobJson*/, settings)\n}\n\nmain().catch(console.error);\n```\n\nMore info: [@nexrender/core](packages/nexrender-core)\n\n# Template rendering\n\nOne of the main benefits of using nexrender is an ability to render projects using data other than what has been used while the project has been created.\nData means any sort of source/footage material, it can be images, audio tracks, video clips, text strings, values for colors/positions, even dynamic animations using expressions.\nAll of those things can be replaced for every job without even opening a project file or starting After Effects.\n\n> Note: Also this process can be called in other ways: **templated**, **data-driven** or **dynamic** video generation.\n\nThis approach allows you to create a .aep file once, and then reuse it for as many target results as you need to.\nHowever, what is needed to get started?\n\n## Footage items\n\nFootage item replacement is what briefly has been covered in the `Job` section of this document.\nThe idea is quite simple, you describe which asset will replace existing described footage item in a specific layer,\nby specifying `src`, and one of the `layerName` or `layerIndex` options.\n\n### Fields\n\n* `src`: string, a URI pointer to the specific resource, check out [supported protocols](#protocols)\n* `type`: string, for footage items, is one of (`image`, `audio`, `video`)\n* `layerName`: string, target layer name in the After Effects project\n* `layerIndex`: integer, can be used instead of `layerName` to select a layer by providing an index, starting from 1 (default behavior of AE jsx scripting env)\n* `composition`: string, composition where the layer is, useful for searching layer in pre-compositions. If none is provided, it uses the default composition set in the template.\nProviding `\"*\"` will result in a wildcard compostion matching, and will apply this data to every matching layer in every matching composition.\n\nSpecified asset from `src` field will be downloaded/copied to the working directory, and just before rendering will happen,\na fotage item with specified `layerName` or `layerIndex` in the original project will be replaced with the freshly downloaded asset.\n\nThis way you (if you are using network rendering) you can not only deliver assets to the target platform but also dynamically replace them.\n\n>Note: if `layerName` is used for footage file asset, it should always contain the extension in the name as well.\n\n### Example\n\n```json\n{\n    \"assets\": [\n        {\n            \"src\": \"https://example.com/assets/image.jpg\",\n            \"type\": \"image\",\n            \"layerName\": \"MyNicePicture.jpg\"\n        },\n        {\n            \"src\": \"file:///home/assets/audio.mp3\",\n            \"type\": \"audio\",\n            \"layerIndex\": 15\n        }\n    ]\n}\n```\n\n## Data items\n\nThe second important point for the dynamic data-driven video generation is the ability to replace/change/modify non-footage data in the project.\nTo do that a special asset of type `data` can be used.\n\n### Fields\n\n* `type`: string, for data items, is always `data`\n* `layerName`: string, target layer name in the After Effects project\n* `layerIndex`: integer, can be used instead of `layerName` to select a layer by providing an index, starting from 1 (default behavior of AE jsx scripting env)\n* `property`: string, indicates which layer property you want to change\n* `value`: mixed, optional, indicates which value you want to be set to a specified property\n* `expression`: string, optional, allows you to specify an expression that can be executed every frame to calculate the value\n* `composition`: string, composition where the layer is, useful for searching layer in pre-compositions. If none is provided, it uses the default composition set in the template.\n\nSince both `value` and `expression` are optional you can provide them in any combination, depending on the effect you want to achieve.\nProviding value will set the exact value for the property right after execution, and providing an expression will make sure it will be evaluated every frame.\n\n>Note: If you are not sure what expressions are, and how to use them, please refer [to this page](https://helpx.adobe.com/after-effects/using/expression-basics.html)\n\nAnd if you are not sure what is a `property` and where to get it you can refer to this image:\n\n<details>\n<summary><b>Property List Example</b></summary>\n\n>As you can see there are a few `Property Groups` like Text, Masks, Transform that include actual properties. Those properties are what can be used as a target.\n\n![](https://user-images.githubusercontent.com/2182108/52443468-7270dd00-2b2e-11e9-8336-255349279c43.png)\n\n</details>\n\n### Example\n\n```json\n{\n    \"assets\": [\n        {\n            \"type\": \"data\",\n            \"layerName\": \"MyNicePicture.jpg\",\n            \"property\": \"Position\",\n            \"value\": [500, 100]\n        },\n        {\n            \"type\": \"data\",\n            \"layerName\": \"my text field\",\n            \"property\": \"Source Text\",\n            \"expression\": \"time > 100 ? 'Bye bye' : 'Hello world'\"\n        },\n        {\n            \"type\": \"data\",\n            \"layerIndex\": 15,\n            \"property\": \"Scale\",\n            \"value\": [0,0],\n            \"expression\": \"[time * 0.1, time * 0.1]\"\n        }\n    ]\n}\n```\n\n>Note: any error in expression will prevent the project from rendering. Make sure to read error messages reported by After Effects binary carefully.\n\n## Script items\n\nThe last and the most complex and yet the most powerful is an ability to execute custom `jsx` scripts just before the rendering will start.\nThis approach allows you to do pretty much anything that is allowed for scripting,\nlike creating/removing layers, adding new elements, restructuring the whole composition, and probably much more.\n\nNow, actual complexity happens only from the side of actual scripting, you need to have some basic knowledge of `ExtendScript Toolkit`,\nand from the nexrender side everything is quite simple. You only need to provide an `src` pointing towards script resource and set up proper type.\n\n### Fields\n\n* `src`: string, a URI pointer to the specific resource, check out [supported protocols](#protocols)\n* `type`: string, for script items, is always `script`\n\n### Example\n\n```json\n{\n    \"assets\": [\n        {\n            \"src\": \"http://example.com/scripts/myscript.jsx\",\n            \"type\": \"script\"\n        }\n    ]\n}\n```\n\nThat pretty much covers basics of templated rendering.\n\n# Network rendering\n\nWe've covered basics on how to set up a minimal rendering flow using local cli machine rendering.\nNow, what if you want to start rendering on a remote machine, to reduce load while you are working on your local machine.\nOr maybe you need to render so many videos at once, that you will require a whole fleet of nodes running on some cloud cluster.\n\nWith nexrender, you can quite quickly and easily spin up your own rendering cluster.\n\n## Using binaries\n\nYou can download compiled versions of binaries directly from the [releases](https://github.com/inlife/nexrender/releases) section,\nor install them using npm, whichever option works better for you.\n\n### `nexrender-server`\n\n#### Description:\nA CLI application which is responsible for job management, worker node cooperation,\ncommunications with the `nexrender-worker` instances, and serves mainly as a producer in the nexrender network model.\n\nTechnically speaking its a very tiny HTTP server running with a minimal version of REST API.\n\n#### Supported platforms:\nWindows, macOS, Linux\n\n#### Requirements:\nNone\n\n#### Example\n\n```sh\n$ nexrender-server \\\n        --port=3050 \\\n        --secret=myapisecret\n```\n\nMore info: [@nexrender/server](packages/nexrender-server)\n\n### `nexrender-worker`\n\n#### Description:\nA CLI application which is responsible mainly for actual job processing and rendering,\ncommunication with the `nexrender-server`, and serves mainly as a consumer in the nexrender network model.\n\n#### Supported platforms:\nWindows, macOS\n\n#### Requirements:\nInstalled licensed/trial version of Adobe After Effects\n\n#### Example\n\n```sh\n$ nexrender-worker \\\n        --host=https://my.server.com:3050 \\\n        --secret=myapisecret\n```\n\n> Note: its recommended to run `nexrender-worker -h` at least once, to read all useful information about available options.\n\nMore info: [@nexrender/worker](packages/nexrender-worker)\n\n## Using API\n\nNow, after you've loaded up your worker and server nodes, they will need some jobs to be submitted to the server to start actual rendering.\nThere are 2 main ways to do that, first one - just send a direct POST request to add a job to the server.\n\n```sh\ncurl \\\n    --request POST \\\n    --header \"nexrender-secret: myapisecret\" \\\n    --header \"content-type: application/json\" \\\n    --data '{\"template\":{\"src\":\"http://my.server.com/assets/project.aep\",\"composition\":\"main\"}}' \\\n    http://my.server.com:3050/api/v1/jobs\n```\n\nAnother option is to use already created API module for js:\n\n```sh\nnpm install @nexrender/api --save\n```\n\n```js\nconst { createClient } = require('@nexrender/api')\n\nconst client = createClient({\n    host: 'http://my.server.com:3050',\n    secret: 'myapisecret',\n})\n\nconst main = async () => {\n    const result = await client.addJob({\n        template: {\n            src: 'http://my.server.com/assets/project.aep',\n            composition: 'main',\n        }\n    })\n\n    result.on('created', job => console.log('project has been created'))\n    result.on('started', job => console.log('project rendering started'))\n    result.on('finished', job => console.log('project rendering finished'))\n    result.on('error', err => console.log('project rendering error', err))\n}\n\nmain().catch(console.error);\n```\n\nMore info: [@nexrender/api](packages/nexrender-api)\n\n# Additional Information\n\n## Protocols\n\n`src` field is a URI string, that describes path pointing to the specific resource. It supports a few different protocols:\n\n* Built-in:\n    * `file://` - file on a local file system, (possibly a pipe? need testing)\n    * `http://` - file on remote http server\n    * `https://` - file on remote http server served via https\n    * `data://` - URI encoded data, can be a [base64 or plain text](https://en.wikipedia.org/wiki/Data_URI_scheme)\n\n* External:\n    * `s3://` - [@nexrender/provider-s3](packages/nexrender-provider-s3) - Amazon S3 provider\n    * `ftp://` - [@nexrender/provider-ftp](packages/nexrender-provider-ftp) - TODO\n    * (other procotocols will be added there)\n\n### Examples\n\nHere are some examples of src paths:\n\n```\nfile:///home/assets/image.jpg\nfile:///d:/projects/project.aep\n\nhttp://somehost.com:8080/assets/image.jpg?key=foobar\nhttps://123.123.123.123/video.mp4\n\ndata:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==\ndata:text/plain;charset=UTF-8,some%20data:1234,5678\n```\n\n## Development\n\nIf you wish to contribute by taking an active part in development, you might need this basic tutorial on how to get started:\n\n1. clone the repo\n2. run `npm install`\n3. run `npm start`\n\nThe last command will run [lerna](https://lernajs.io/) bootstrap action to setup dependencies for all packages listed in the `packages/` folder,\nand link them together accordingly to their dependency relations.\n\nAfter that, you can start the usual development flow of writing code and testing it with `npm start` in a specific package.\n\nWhy this multi-package structure has been chosen? It seemed like a much smarter and easier way to achieve a few things:\n1. separation of concerns, every module is responsible for a limited set of things\n2. modularity and plugin-friendly nature, which allows external packages to be used instead, or alongside built-in ones\n3. minimal dependency, as you might've noticed, packages in nexrender try to have as little dependencies as possible\nmaking it much easier to maintain and develop\n\nThe recommended approach is to add only needed things as dependencies, it's better to take some time to research module that is being added\nto the project, to see how many its own dependencies it will introduce, and possibly find a better and smaller one, or even extract some specific feature\ninto a new micro module.\n\nAnd of course, the main thing about development is that it should be fun. :)\n\n## Project Values\n\nThis project has a few principle-based goals that guide its development:\n\n* **Do our thing really well.** Our thing is data-based automating of the rendering, and hanlding other interactive related components of that task set. It is not meant to be a replacement for specific corporate tools templater bot, rendergarden, etc. that have lots of features and customizability. (Some customizability is OK, but not to the extent that it becomes overly complicated or error-prone.)\n\n* **Limit dependencies.** Keep the packages lightweight.\n\n* **Pure nodejs.** This means no native module or other external/system dependencies. This package should be able to stand on its own and cross-compile easily to any platform -- and that includes its library dependencies.\n\n* **Idiomatic nodejs.** Keep modules small, minimal exported names, promise based async handling.\n\n* **Be elegant.** This package should be elegant to use and its code should be elegant when reading and testing. If it doesn't feel good, fix it up.\n\n* **Well-documented.** Use comments prudently; explain why non-obvious code is necessary (and use tests to enforce it). Keep the docs updated, and have examples where helpful.\n\n* **Keep it efficient.** This often means keep it simple. Fast code is valuable.\n\n* **Consensus.** Contributions should ideally be approved by multiple reviewers before being merged. Generally, avoid merging multi-chunk changes that do not go through at least one or two iterations/reviews. Except for trivial changes, PRs are seldom ready to merge right away.\n\n* **Have fun contributing.** Coding is awesome!\n\n## External Packages\n\nHere you can find a list of packages published by other contributors:\n\n* [HarryLafranc/nexrender-action-handbrake](https://github.com/HarryLafranc/nexrender-action-handbrake) - Encode a video with Handbrake on nexrender-postrender\n* [somename/package-name](#) - a nice description of a nice package doing nice things\n\nSince nexrender allows to use extanral packages isntalled globally from npm, its quite easy to add your own modules\n\n### Custom Actions\n\nTo add a custom pre- or post-render action, all you need to do is to create a at least single file, that is going to return a function with promise.\n\n```js\n// mymodule.js\nmodule.exports = (job, settings, action, type) => {\n    console.log('hello from my module: ' + action.module);\n    return Promose.resolve();\n}\n```\n\nTo use that action locally you can then require it by either using relative or global path.\nAdditionally you can create a private npm module and link it, so it would become visible globally or even publish it to npm/your own private repo and use it.\n\n```json\n// example 1\n{\n    \"module\": \"d:/myprojects/mymodule/index.js\",\n    \"somearg1\": \"hello world\",\n    \"somearg2\": 123456\n}\n```\n\n```json\n// example 2\n{\n    \"module\": \"my-super-cool-module\",\n    \"somearg1\": \"hello world\",\n    \"somearg2\": 123456\n}\n```\n\n```json\n// example 3\n{\n    \"module\": \"@myorg/mymodule\",\n    \"somearg1\": \"hello world\",\n    \"somearg2\": 123456\n}\n```\nFrom there you can build pretty much any module that could process downloaded data before starting rendering,\nor doing tranformations on data after, or just simply sending an email when rendering is finished.\n\n>Note: both `job` and `settings` are mutable structures, any modifications made to them will reflect onto the flow of the next calls.\nHence they can be used to store state between actions.\n\n## Migrating from v0.x\n\nFirst version of nexrender was published in 2016, and it has been used by many people for quite some time since then.\nEven though verion v1.x is based on the same concepts, it introduces major breaking changes that are incompatible with older version.\n\nHowever, majority of those changes were made to allow new, previously unimaginable things.\n\n<details>\n\n### Naming\n\n1. Nexrender Project -> Nexrender Job\n2. Nexrender Rendernode -> Nexrender Worker\n2. Nexrender API Server -> Nexrender Server\n\nReferring to project was confusing since it could be applied for both aep project and nexrender project.\nAnd rendernode name was quite too long, and unconvinient to use.\n\n### Structure\n\nThe structure of the job has changed, majority of the fields were moved from the root namespace, into \"template\" namespace, merging it with old \"project.settings\" namespace.\nAssets structure remained pretty much similar. A new object actions has been introduced.\n\n### Assets\n\nReplaced http and file only assets to a URI based links, theoretically extendable without any limits.\nMany new other protocols and implementations can be added in a decentrilized manner.\n\nStrict division between asset types:\n* [image, audio, video] - footage items, behave like files\n* [data] - dynamic data assets, for direct value setting and expressions\n* [script] - files allowing full scripting limitless scripting support\n\n### Rendering\n\nThe biggest change that happened, is removal of old hacky way of replacing assets and patching aepx file to write custom expressions.\n\nInstead it has been replaced with brand new, recently discovered ExtendScript based injection.\nIt allows to do a few quite important things:\n\n1. Import and replace footage items via scripting, making it very reliable. (No more bugs related to same-system existing path override for aep project)\n2. Set/Replace text, expressins and other types of data via scripting. (No more bugs related to changes in aepx structure, and no need to use aepx format at all)\n3. Ability to run custom ExtendScript jsx scripts, which is limitless and revolutionary compared to previous version.\n\n### CLI\n\nProject has been devided onto multiple subprojects, and mutiple cli applications as a result.\nEvery cli application is auto-compiled to a platform specific executable on publish and auto-uploaded to the releases section.\n\nThis allows anyone to use nexrender cli without installing a nodejs runtime onto target system.\n\nNew CLI tool allows to run render directly from console for a local job, without need to start whole cluster.\n\nWorker, and CLI apps include minor QoL improvments, such as auto creation of the ae_render_only_node.txt file that allows free licensing,\nand After Effects folder auto detection.\n\nAll tools include better help screen, and a lot of customization from command line arguments.\n\n</details>\n\n## Customers\n\nTechinically, since the tool is free, custormers should be called users.\nIn any case this section describes a list of users or companies that are proud users of nexrender.\nIf you've used nexrender, and you like it, please feel free to add yourself into the list.\n\n* [Noxcaos Music](https://www.youtube.com/channel/UC2D9WSUKnyTX8wWqNVITTAw)\n* you name goes here\n\n## Plans\n\n1. Add Uploading to various providers `@nexrender/action-upload`\n2. Add an algo of splitting the main job onto sub jobs, rendering them on multiple machines\nand then combining back into a single job. `@nexrender/action-merge-parent, @nexrender/action-merge-child`\n3. Adding more upload/download providers\n","maintainers":[{"name":"inlife","email":"vladgritsenko@gmail.com"}],"time":{"modified":"2022-06-21T02:22:11.377Z","created":"2016-02-17T22:16:51.024Z","0.1.0":"2016-02-17T22:16:51.024Z","0.1.1":"2016-02-17T22:25:59.406Z","0.2.0":"2016-02-19T22:02:05.934Z","0.2.1":"2016-02-21T11:05:39.102Z","0.3.0":"2016-02-23T09:41:17.764Z","0.3.1":"2016-02-23T11:29:25.623Z","0.3.2":"2016-02-23T19:28:25.719Z","0.3.3":"2016-02-23T19:31:31.691Z","0.4.0":"2016-02-29T05:38:40.938Z","0.4.1":"2016-02-29T16:28:30.099Z","0.4.4":"2016-06-25T08:53:06.545Z","0.4.5":"2016-06-25T10:05:27.400Z","0.4.6":"2016-08-12T13:14:07.694Z","0.4.7":"2016-08-12T15:40:19.809Z","0.4.8":"2016-08-14T08:45:58.037Z","0.4.9":"2016-08-15T18:58:52.576Z","0.4.10":"2016-08-15T19:20:53.862Z","0.4.11":"2016-08-20T09:05:37.073Z","0.4.12":"2016-09-16T07:40:57.640Z","0.5.0":"2017-03-15T10:04:48.580Z","0.5.1":"2017-05-15T13:44:17.840Z","0.5.2":"2017-10-23T20:30:33.691Z","0.6.0":"2018-05-09T07:49:16.570Z","0.6.1":"2019-01-27T08:45:05.106Z","1.0.0":"2019-04-05T06:46:15.416Z","1.0.1":"2019-04-05T06:47:44.021Z"},"homepage":"https://github.com/inlife/nexrender#readme","repository":{"type":"git","url":"git+https://github.com/inlife/nexrender.git"},"author":{"name":"inlife","email":"vladgritsenko+gh@gmail.com","url":"https://github.com/inlife"},"bugs":{"url":"https://github.com/inlife/nexrender/issues"},"license":"MIT","readmeFilename":"README.md","users":{"inlife":true,"leizongmin":true,"zaklaus":true},"keywords":["monorepo","multi-package"]}